mpopmenumgr.h
00001
00002 #ifndef _MG_MINIPOPMENUMGR_H
00003 #define _MG_MINIPOPMENUMGR_H
00004
00005 #ifdef __cplusplus
00006 extern "C" {
00007 #endif
00008
00014 typedef struct _mPopMenuMgrClass mPopMenuMgrClass;
00015 typedef struct _mPopMenuMgr mPopMenuMgr;
00016
00017 #define mPopMenuMgrClassHeader(clss, clsSuper) \
00018 mObjectClassHeader(clss, clsSuper) \
00019 BOOL (*addItem)(clss *, int type, const char* str, PBITMAP bmp, int id, int state, mPopMenuMgr *subMenu, DWORD add_data); \
00020 HMENU (*createMenu)(clss *); \
00021 void (*popMenu)(clss *, mObject *owner); \
00022 BOOL (*addSeparator)(clss *); \
00023 BOOL (*getMenuItem)(clss *, int idx, MENUITEMINFO *pmii, BOOL byCommand);
00024
00076 struct _mPopMenuMgrClass {
00077 mPopMenuMgrClassHeader(mPopMenuMgr, mObject)
00078 };
00079
00080 MGNCS_EXPORT extern mPopMenuMgrClass g_stmPopMenuMgrCls;
00081
00082
00083 typedef struct mPopMenuItem mPopMenuItem;
00084
00085 #define mPopMenuMgrHeader(clss) \
00086 mObjectHeader(clss) \
00087 mPopMenuItem *head;
00088
00095 struct _mPopMenuMgr {
00096 mPopMenuMgrHeader(mPopMenuMgr)
00097 };
00098
00103 #ifdef __cplusplus
00104 }
00105 #endif
00106
00107 #endif
00108