42 #ifdef _MGNCSCTRL_PROPSHEET 44 #ifndef _MGUI_NCSCTRL_PROPSHEET_H 45 #define _MGUI_NCSCTRL_PROPSHEET_H 60 #define NCSCTRL_PROPSHEET NCSCLASSNAME("propsheet") 66 #define NCSS_PRPSHT_SHIFT NCSS_WIDGET_SHIFT+3 68 #define NCSS_PRPSHT_BTNMASK (0x0003<<NCSS_WIDGET_SHIFT) 69 #define NCSS_PRPSHT_TABMASK (0x0004<<NCSS_WIDGET_SHIFT) 76 #define NCSS_PRPSHT_SIMPLE (0x0000<<NCSS_WIDGET_SHIFT) 82 #define NCSS_PRPSHT_COMPACTTAB (0x0001<<NCSS_WIDGET_SHIFT) 88 #define NCSS_PRPSHT_SCROLLABLE (0x0002<<NCSS_WIDGET_SHIFT) 94 #define NCSS_PRPSHT_TOP (0x0000<<NCSS_WIDGET_SHIFT) 101 #define NCSS_PRPSHT_BOTTOM (0x0004<<NCSS_WIDGET_SHIFT) 103 typedef struct _mPropSheet mPropSheet;
104 typedef struct _mPropSheetClass mPropSheetClass;
105 typedef struct _mPropSheetRenderer mPropSheetRenderer;
107 #define mPropSheetHeader(className) \ 108 mWidgetHeader(className) \ 111 int scrollTabWidth; \ 152 mPropSheetHeader(mPropSheet)
155 #define mPropSheetClassHeader(clsName, parentClass) \ 156 mWidgetClassHeader(clsName, parentClass) \ 157 int (*getPageIndex)(clsName*, mPage* page); \ 158 mPage* (*getPageByIndex)(clsName*, int pageIndex); \ 159 mPage* (*addPage)(clsName*, const PDLGTEMPLATE dlgTemplate, const NCS_EVENT_HANDLER* handlers);\ 160 BOOL (*removePageByIndex)(clsName*, int pageIndex);\ 161 BOOL (*removePage)(clsName*, mPage* page); \ 162 mPage* (*getNextPage)(clsName*, mPage* page); \ 163 mPage* (*getPrevPage)(clsName*, mPage* page); \ 164 int (*broadCastMsg)(clsName*, DWORD param1, DWORD param2); 215 struct _mPropSheetClass
217 mPropSheetClassHeader(mPropSheet,
mWidget)
257 #define mPropSheetRendererHeader(clsName, parentClass) \ 258 mWidgetRendererHeader(clsName, parentClass) \ 259 void (*resetHeadArea) (clsName*, RECT* rcClient, DWORD style); \ 260 void (*getRect)(clsName*, RECT* rcClient, RECT *rcResult, int which); \ 261 void (*drawBorder)(clsName*, HDC hdc, RECT *rcBorder); \ 262 void (*drawScrollBtn)(clsName*, HDC hdc, RECT *rcBtn, int which); \ 263 void (*drawTab)(clsName*, HDC hdc, RECT* rcTab, const char* title, HICON hIcon, BOOL active); 308 struct _mPropSheetRenderer {
309 mPropSheetRendererHeader(mPropSheet,
mWidget)
318 MGNCS_EXPORT
extern mPropSheetClass g_stmPropSheetCls;
324 enum mPropSheetNotify
330 NCSN_PRPSHT_ACTIVECHANGED = NCSN_WIDGET_MAX + 1,
351 NCSP_PRPSHT_MINTABWIDTH = NCSP_WIDGET_MAX + 1,
359 NCSP_PRPSHT_TABMARGIN,
367 NCSP_PRPSHT_ACTIVEPAGE,
375 NCSP_PRPSHT_ACTIVEPAGEIDX,
383 NCSP_PRPSHT_FIRSTVIEWPAGE,
391 NCSP_PRPSHT_FIRSTVIEWPAGEIDX,
399 NCSP_PRPSHT_PAGECOUNT,
409 #endif //_MGNCSCTRL_PROPSHEET