mGNCS API Reference  v1.5.0
A new control set and a new framework for MiniGUI apps
mpopmenumgr.h
Go to the documentation of this file.
1 //
3 // IMPORTANT NOTICE
4 //
5 // The following open source license statement does not apply to any
6 // entity in the Exception List published by FMSoft.
7 //
8 // For more information, please visit:
9 //
10 // https://www.fmsoft.cn/exception-list
11 //
13 
54 #ifndef _MG_MINIPOPMENUMGR_H
55 #define _MG_MINIPOPMENUMGR_H
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
66 typedef struct _mPopMenuMgrClass mPopMenuMgrClass;
67 typedef struct _mPopMenuMgr mPopMenuMgr;
68 
69 #define mPopMenuMgrClassHeader(clss, clsSuper) \
70  mObjectClassHeader(clss, clsSuper) \
71  BOOL (*addItem)(clss *, UINT type, const char* str, PBITMAP bmp, int id, UINT state, mPopMenuMgr *subMenu, DWORD add_data); \
72  HMENU (*createMenu)(clss *); \
73  void (*popMenu)(clss *, mObject *owner); \
74  BOOL (*addSeparator)(clss *); \
75  BOOL (*getMenuItem)(clss *, int idx, MENUITEMINFO *pmii, BOOL byCommand);
76 
128 struct _mPopMenuMgrClass {
129  mPopMenuMgrClassHeader(mPopMenuMgr, mObject)
130 };
131 
132 MGNCS_EXPORT extern mPopMenuMgrClass g_stmPopMenuMgrCls;
133 
134 
135 typedef struct mPopMenuItem mPopMenuItem;
136 
137 #define mPopMenuMgrHeader(clss) \
138  mObjectHeader(clss) \
139  mPopMenuItem *head;
140 
147 struct _mPopMenuMgr {
148  mPopMenuMgrHeader(mPopMenuMgr)
149 };
150 
155 #ifdef __cplusplus
156 }
157 #endif
158 
159 #endif
160 
mObject
the Object struct
mPopMenuMgr
the members of mPropMenuMgr
mPopMenuMgrClass
mPopMenuMgr class, derived from mObject