FLImaging 7.3.19.2
GUIPopupMenu.h
1#pragma once
2
3#include <afxwin.h>
4
5namespace FLImaging
6{
7 namespace GUI
8 {
9 class CInternalGUIPopupMenu;
10 class CGUIPopupMenuShell;
11 class CGUIControlDrawer;
12
13 class FL_EXPORT CGUIPopupMenu : public CMenu
14 {
15 friend class CGUIPopupMenuShell;
16
17 public:
18 CGUIPopupMenu();
19 virtual ~CGUIPopupMenu();
20
21 BOOL AppendMenu(UINT nFlags, UINT_PTR nIDNewItem = 0, LPCTSTR lpszNewItem = NULL);
22 CGUIPopupMenu* AppendSubMenu(UINT nFlags, Base::CFLString<wchar_t> flsSubMenu, const CBitmap* pBmpUnchecked = nullptr, const CBitmap* pBmpChecked = nullptr);
23
24 void Init(CWnd* pWnd);
25
26 BOOL TrackPopupMenu(UINT nFlags, int x, int y, CWnd* pWnd, LPCRECT lpRect = 0);
27
28 CGUIPopupMenuShell* GetPopupMenuShell();
29
30 virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) override;
31 virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct) override;
32
33 static void SetBackgroundColor(COLORREF clr);
34 static COLORREF GetBackgroundColor();
35
36 static void SetItemNormalColor(COLORREF clr);
37 static COLORREF GetItemNormalColor();
38
39 static void SetItemHotlightColor(COLORREF clr);
40 static COLORREF GetItemHotlightColor();
41
42 static void SetItemSelectedColor(COLORREF clr);
43 static COLORREF GetItemSelectedColor();
44
45 static void SetItemNormalTextColor(COLORREF clr);
46 static COLORREF GetItemNormalTextColor();
47
48 static void SetItemDisabledTextColor(COLORREF clr);
49 static COLORREF GetItemDisabledTextColor();
50
51 protected:
52 CInternalGUIPopupMenu* m_pInternal;
53 friend class CInternalGUIPopupMenu;
54
55 CGUIControlDrawer& m_drawer;
56
57 int32_t m_i32LastSeparatorIndex;
58
59 CGUIPopupMenuShell* m_pPopupMenuShell;
60 };
61 }
62}
Definition D2DObject.h:12