11 typedef std::function<bool(CWnd*, Base::CFLString<wchar_t>&, CWnd*)> CWndCtrlProcedure;
12 #define MakeWndCtrlProcedure [&](CWnd* pItem, Base::CFLString<wchar_t>& strValue, CWnd* pParent) -> bool
14 class FL_EXPORT CGUIWndCtrlBase :
public Base::CFLBase
16 SupportToDuplicateObject(CGUIWndCtrlBase, *
this);
19 virtual ~CGUIWndCtrlBase();
22 virtual void SetText(
const Base::CFLString<wchar_t>& str);
23 virtual const Base::CFLString<wchar_t>& GetText()
const;
25 virtual void SetFillColors(COLORREF clrFillColorDefault, COLORREF clrFillColorDisabled, COLORREF clrFillColorHover, COLORREF clrFillColorOnLButtonDown);
26 virtual void GetFillColors(COLORREF& clrFillColorDefault, COLORREF& clrFillColorDisabled, COLORREF& clrFillColorHover, COLORREF& clrFillColorOnLButtonDown);
28 virtual void SetFillColor(COLORREF clrFillColor);
29 virtual COLORREF GetFillColor();
31 virtual void SetFillColorDefault(COLORREF clrFillColorDefault);
32 virtual COLORREF GetFillColorDefault();
34 virtual void SetFillColorDisabled(COLORREF clrFillColorDisabled);
35 virtual COLORREF GetFillColorDisabled();
37 virtual void SetFillColorHover(COLORREF clrFillColorHover);
38 virtual COLORREF GetFillColorHover();
40 virtual void SetFillColorOnLButtonDown(COLORREF clrFillColorOnLButtonDown);
41 virtual COLORREF GetFillColorOnLButtonDown();
44 virtual void SetBorderColors(COLORREF clrBorderColorDefault, COLORREF clrBorderColorDisabled, COLORREF clrBorderColorHover, COLORREF clrBorderColorOnLButtonDown);
45 virtual void GetBorderColors(COLORREF& clrBorderColorDefault, COLORREF& clrBorderColorDisabled, COLORREF& clrBorderColorHover, COLORREF& clrBorderColorOnLButtonDown);
47 virtual void SetBorderColor(COLORREF clrBorderColor);
48 virtual COLORREF GetBorderColor();
50 virtual void SetBorderColorDefault(COLORREF clrBorderColorDefault);
51 virtual COLORREF GetBorderColorDefault();
53 virtual void SetBorderColorDisabled(COLORREF clrBorderColorDisabled);
54 virtual COLORREF GetBorderColorDisabled();
56 virtual void SetBorderColorHover(COLORREF clrBorderColorHover);
57 virtual COLORREF GetBorderColorHover();
59 virtual void SetBorderColorOnLButtonDown(COLORREF clrBorderColorOnLButtonDown);
60 virtual COLORREF GetBorderColorOnLButtonDown();
63 virtual void SetTextColors(COLORREF clrTextColorDefault, COLORREF clrTextColorDisabled, COLORREF clrTextColorHover, COLORREF clrTextColorOnLButtonDown);
64 virtual void GetTextColors(COLORREF& clrTextColorDefault, COLORREF& clrTextColorDisabled, COLORREF& clrTextColorHover, COLORREF& clrTextColorOnLButtonDown);
66 virtual void SetTextColor(COLORREF clrTextColor);
67 virtual COLORREF GetTextColor();
69 virtual void SetTextColorDefault(COLORREF clrTextColorDefault);
70 virtual COLORREF GetTextColorDefault();
72 virtual void SetTextColorDisabled(COLORREF clrTextColorDisabled);
73 virtual COLORREF GetTextColorDisabled();
75 virtual void SetTextColorHover(COLORREF clrTextColorHover);
76 virtual COLORREF GetTextColorHover();
78 virtual void SetTextColorOnLButtonDown(COLORREF clrTextColorOnLButtonDown);
79 virtual COLORREF GetTextColorOnLButtonDown();
82 virtual void SetParentCWnd(CWnd* pParent);
83 virtual CWnd* GetParentCWnd();
85 virtual void SetParentCObject(CObject* pParent);
86 virtual CObject* GetParentCObject();
88 virtual void UpdateTheme();
89 virtual void DrawRectangleBorder(CDC* pDC,
const CRect& rect, COLORREF clr);
91 virtual bool SetWndCtrlProcedure(CWndCtrlProcedure* pFunc,
bool bAutoDestroy =
true);
92 virtual CWndCtrlProcedure* GetWndCtrlProcedure()
const;
94 virtual void ActivateWndCtrlProcedure(
bool bActivate);
95 virtual bool IsWndCtrlProcedureActivated()
const;
98 virtual const CResult
Assign(
const CGUIWndCtrlBase& rhs);
99 virtual const CResult
Assign(
const CGUIWndCtrlBase* pRhs);
100 CGUIWndCtrlBase& operator=(
const CGUIWndCtrlBase& rhs);
102 DeclareGetClassType();
106 virtual const CResult InternalAssign(
const CGUIWndCtrlBase& rhs);
110 CObject* m_pParentCObject;
113 COLORREF m_clrBorder;
116 COLORREF m_clrFillDefault;
117 COLORREF m_clrFillDisabled;
118 COLORREF m_clrFillHover;
119 COLORREF m_clrFillOnLButtonDown;
121 COLORREF m_clrBorderDefault;
122 COLORREF m_clrBorderDisabled;
123 COLORREF m_clrBorderHover;
124 COLORREF m_clrBorderOnLButtonDown;
126 COLORREF m_clrTextDefault;
127 COLORREF m_clrTextDisabled;
128 COLORREF m_clrTextHover;
129 COLORREF m_clrTextOnLButtonDown;
133 bool m_bWndCtrlProcedureActive;
135 Base::CFLString<wchar_t> m_strText;
140 CBitmap* m_pbmpOldBk;
142 CWndCtrlProcedure* m_pProcedure;
143 bool m_bProcedureAutoDestroy;
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.