54 #ifdef _MGNCSCTRL_PAGE
56 #ifndef _MGUI_NCSCTRL_PAGE_H
57 #define _MGUI_NCSCTRL_PAGE_H
72 #define NCSCTRL_PAGE NCSCLASSNAME("page")
74 typedef struct _mPage mPage;
75 typedef struct _mPageClass mPageClass;
76 typedef struct _mPageRenderer mPageRenderer;
82 #define NCSS_PAGE_SHIFT NCSS_CTNR_SHIFT
84 #define mPageHeader(className) \
85 mContainerHeader(className) \
107 #define mPageClassHeader(clsName, parentClass) \
108 mContainerClassHeader(clsName, parentClass) \
109 const char* (*getTitle)(clsName* self); \
110 BOOL (*setTitle)(clsName* self, const char* title);\
111 int (*getTitleLength)(clsName* self); \
112 int (*getTitleWidth)(clsName* self, HDC hdc); \
113 BOOL (*setIcon)(clsName* self, HICON icon); \
114 HICON (*getIcon)(clsName* self); \
115 void (*showPage)(clsName* self, int showCmd);
156 mPageClassHeader(mPage, mContainer)
170 typedef void (*NCS_CB_ONINITPAGE)(mPage *
self, DWORD addData);
186 typedef int (*NCS_CB_ONSHOWPAGE)(mPage *
self, HWND focusChild,
int showCmd);
201 typedef int (*NCS_CB_ONSHEETCMD)(mPage *
self, DWORD param1, DWORD param2);
203 #define mPageRendererHeader(clsName, parentClass) \
204 mContainerRendererHeader(clsName, parentClass)
210 struct _mPageRenderer {
211 mPageRendererHeader(mPage, mContainer)
221 MGNCS_EXPORT
extern mPageClass g_stmPageCls;
229 #endif //_MGNCSCTRL_PAGE