mGNCS API Reference  v1.2.0
A new control set and a new framework for MiniGUI apps
mpage.h
Go to the documentation of this file.
1 
42 #ifdef _MGNCSCTRL_PAGE
43 
44 #ifndef _MGUI_NCSCTRL_PAGE_H
45 #define _MGUI_NCSCTRL_PAGE_H
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif /* __cplusplus */
50 
60 #define NCSCTRL_PAGE NCSCLASSNAME("page")
61 
62 typedef struct _mPage mPage;
63 typedef struct _mPageClass mPageClass;
64 typedef struct _mPageRenderer mPageRenderer;
65 
70 #define NCSS_PAGE_SHIFT NCSS_CTNR_SHIFT
71 
72 #define mPageHeader(className) \
73  mContainerHeader(className) \
74  int titleWidth; \
75  HICON hIcon;
76 
77 
90 struct _mPage
91 {
92  mPageHeader(mPage)
93 };
94 
95 #define mPageClassHeader(clsName, parentClass) \
96  mContainerClassHeader(clsName, parentClass) \
97  const char* (*getTitle)(clsName* self); \
98  BOOL (*setTitle)(clsName* self, const char* title);\
99  int (*getTitleLength)(clsName* self); \
100  int (*getTitleWidth)(clsName* self, HDC hdc); \
101  BOOL (*setIcon)(clsName* self, HICON icon); \
102  HICON (*getIcon)(clsName* self); \
103  void (*showPage)(clsName* self, int showCmd);
104 
142 struct _mPageClass
143 {
144  mPageClassHeader(mPage, mContainer)
145 };
146 
158 typedef void (*NCS_CB_ONINITPAGE)(mPage *self, DWORD addData);
159 
174 typedef int (*NCS_CB_ONSHOWPAGE)(mPage *self, HWND focusChild, int showCmd);
175 
189 typedef int (*NCS_CB_ONSHEETCMD)(mPage *self, DWORD param1, DWORD param2);
190 
191 #define mPageRendererHeader(clsName, parentClass) \
192  mContainerRendererHeader(clsName, parentClass)
193 
198 struct _mPageRenderer {
199  mPageRendererHeader(mPage, mContainer)
200 };
201 
202 
209 MGNCS_EXPORT extern mPageClass g_stmPageCls;
210 
212 #ifdef __cplusplus
213 }
214 #endif /* __cplusplus */
215 
216 #endif /* _MGUI_NCSCTRL_PAGE_H */
217 #endif //_MGNCSCTRL_PAGE