9 class CInternalGUIPopupMenu;
10 class CGUIPopupMenuShell;
12 class FL_EXPORT CGUIPopupMenu :
public CMenu
14 friend class CGUIPopupMenuShell;
18 virtual ~CGUIPopupMenu();
20 BOOL AppendMenu(UINT nFlags, UINT_PTR nIDNewItem = 0, LPCTSTR lpszNewItem = NULL);
21 CGUIPopupMenu* AppendSubMenu(UINT nFlags, Base::CFLString<wchar_t> flsSubMenu,
const CBitmap* pBmpUnchecked =
nullptr,
const CBitmap* pBmpChecked =
nullptr);
23 void Init(CWnd* pWnd);
25 BOOL TrackPopupMenu(UINT nFlags,
int x,
int y, CWnd* pWnd, LPCRECT lpRect = 0);
27 CGUIPopupMenuShell* GetPopupMenuShell();
29 virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
override;
30 virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct)
override;
32 static void SetBackgroundColor(COLORREF clr);
33 static COLORREF GetBackgroundColor();
35 static void SetItemNormalColor(COLORREF clr);
36 static COLORREF GetItemNormalColor();
38 static void SetItemHotlightColor(COLORREF clr);
39 static COLORREF GetItemHotlightColor();
41 static void SetItemSelectedColor(COLORREF clr);
42 static COLORREF GetItemSelectedColor();
44 static void SetItemNormalTextColor(COLORREF clr);
45 static COLORREF GetItemNormalTextColor();
47 static void SetItemDisabledTextColor(COLORREF clr);
48 static COLORREF GetItemDisabledTextColor();
51 CInternalGUIPopupMenu* m_pInternal;
52 friend class CInternalGUIPopupMenu;
54 static COLORREF m_clrBackground;
56 static COLORREF m_clrItemNormal;
57 static COLORREF m_clrItemHotlight;
58 static COLORREF m_clrItemSelected;
59 static COLORREF m_clrItemSelectedDisable;
61 static COLORREF m_clrItemNormalText;
62 static COLORREF m_clrItemDisabledText;
64 int32_t m_i32LastSeparatorIndex;
66 CGUIPopupMenuShell* m_pPopupMenuShell;