54 #ifdef _MGNCSCTRL_PROPSHEET 56 #ifndef _MGUI_NCSCTRL_PROPSHEET_H 57 #define _MGUI_NCSCTRL_PROPSHEET_H 72 #define NCSCTRL_PROPSHEET NCSCLASSNAME("propsheet") 78 #define NCSS_PRPSHT_SHIFT NCSS_WIDGET_SHIFT+3 80 #define NCSS_PRPSHT_BTNMASK (0x0003<<NCSS_WIDGET_SHIFT) 81 #define NCSS_PRPSHT_TABMASK (0x0004<<NCSS_WIDGET_SHIFT) 88 #define NCSS_PRPSHT_SIMPLE (0x0000<<NCSS_WIDGET_SHIFT) 94 #define NCSS_PRPSHT_COMPACTTAB (0x0001<<NCSS_WIDGET_SHIFT) 100 #define NCSS_PRPSHT_SCROLLABLE (0x0002<<NCSS_WIDGET_SHIFT) 106 #define NCSS_PRPSHT_TOP (0x0000<<NCSS_WIDGET_SHIFT) 113 #define NCSS_PRPSHT_BOTTOM (0x0004<<NCSS_WIDGET_SHIFT) 115 typedef struct _mPropSheet mPropSheet;
116 typedef struct _mPropSheetClass mPropSheetClass;
117 typedef struct _mPropSheetRenderer mPropSheetRenderer;
119 #define mPropSheetHeader(className) \ 120 mWidgetHeader(className) \ 123 int scrollTabWidth; \ 164 mPropSheetHeader(mPropSheet)
167 #define mPropSheetClassHeader(clsName, parentClass) \ 168 mWidgetClassHeader(clsName, parentClass) \ 169 int (*getPageIndex)(clsName*, mPage* page); \ 170 mPage* (*getPageByIndex)(clsName*, int pageIndex); \ 171 mPage* (*addPage)(clsName*, const PDLGTEMPLATE dlgTemplate, const NCS_EVENT_HANDLER* handlers);\ 172 BOOL (*removePageByIndex)(clsName*, int pageIndex);\ 173 BOOL (*removePage)(clsName*, mPage* page); \ 174 mPage* (*getNextPage)(clsName*, mPage* page); \ 175 mPage* (*getPrevPage)(clsName*, mPage* page); \ 176 int (*broadCastMsg)(clsName*, DWORD param1, DWORD param2); 227 struct _mPropSheetClass
229 mPropSheetClassHeader(mPropSheet,
mWidget)
269 #define mPropSheetRendererHeader(clsName, parentClass) \ 270 mWidgetRendererHeader(clsName, parentClass) \ 271 void (*resetHeadArea) (clsName*, RECT* rcClient, DWORD style); \ 272 void (*getRect)(clsName*, RECT* rcClient, RECT *rcResult, int which); \ 273 void (*drawBorder)(clsName*, HDC hdc, RECT *rcBorder); \ 274 void (*drawScrollBtn)(clsName*, HDC hdc, RECT *rcBtn, int which); \ 275 void (*drawTab)(clsName*, HDC hdc, RECT* rcTab, const char* title, HICON hIcon, BOOL active); 320 struct _mPropSheetRenderer {
321 mPropSheetRendererHeader(mPropSheet,
mWidget)
330 MGNCS_EXPORT
extern mPropSheetClass g_stmPropSheetCls;
336 enum mPropSheetNotify
342 NCSN_PRPSHT_ACTIVECHANGED = NCSN_WIDGET_MAX + 1,
363 NCSP_PRPSHT_MINTABWIDTH = NCSP_WIDGET_MAX + 1,
371 NCSP_PRPSHT_TABMARGIN,
379 NCSP_PRPSHT_ACTIVEPAGE,
387 NCSP_PRPSHT_ACTIVEPAGEIDX,
395 NCSP_PRPSHT_FIRSTVIEWPAGE,
403 NCSP_PRPSHT_FIRSTVIEWPAGEIDX,
411 NCSP_PRPSHT_PAGECOUNT,
421 #endif //_MGNCSCTRL_PROPSHEET