42 #ifdef _MGNCSCTRL_LISTBOX 44 #ifndef _MGUI_CTRL_LSTBOX_H 45 #define _MGUI_CTRL_LSTBOX_H 63 typedef struct _NCS_LSTBOX_ITEMINFO
98 typedef struct _mListBox mListBox;
99 typedef struct _mListBoxClass mListBoxClass;
100 typedef struct _mListBoxRenderer mListBoxRenderer;
106 #define NCSCTRL_LISTBOX NCSCLASSNAME("listbox") 112 #define NCSS_LSTBOX_SHIFT (NCSS_ITEMV_SHIFT+4) 118 #define NCSS_LSTBOX_SINGLE NCSS_ITEMV_SINGLE 124 #define NCSS_LSTBOX_MULTIPLE NCSS_ITEMV_MULTIPLE 130 #define NCSS_LSTBOX_SORT NCSS_ITEMV_AUTOSORT 137 #define NCSS_LSTBOX_MOUSEFOLLOW (0x0001<<NCSS_ITEMV_SHIFT) 143 #define NCSS_LSTBOX_STRING (0x0000<<NCSS_ITEMV_SHIFT) 149 #define NCSS_LSTBOX_USEBITMAP (0x0002<<NCSS_ITEMV_SHIFT) 155 #define NCSS_LSTBOX_CHECKBOX (0x0004<<NCSS_ITEMV_SHIFT) 162 #define NCSS_LSTBOX_AUTOCHECK (0x0008<<NCSS_ITEMV_SHIFT) 168 #define NCSS_LSTBOX_AUTOCHECKBOX \ 169 (NCSS_LSTBOX_CHECKBOX | NCSS_LSTBOX_AUTOCHECK) 172 #define NCSF_LSTBOX_SHIFT (NCSF_ITEM_SHIFT + 4) 179 #define NCSF_LSTBOX_CMBLANK (0x0000<<NCSF_ITEM_SHIFT) 185 #define NCSF_LSTBOX_CMCHECKED (0x0001<<NCSF_ITEM_SHIFT) 191 #define NCSF_LSTBOX_CMPARTCHECKED (0x0002<<NCSF_ITEM_SHIFT) 197 #define NCSF_LSTBOX_CHECKMASK \ 198 (NCSF_LSTBOX_CMBLANK | NCSF_LSTBOX_CMCHECKED | NCSF_LSTBOX_CMPARTCHECKED) 204 #define NCSF_LSTBOX_BOLD (0x0004<<NCSF_ITEM_SHIFT) 210 #define NCSF_LSTBOX_SIGNIFICANT (0x0008<<NCSF_ITEM_SHIFT) 212 #define mListBoxHeader(className) \ 213 mItemViewHeader(className) \ 242 mListBoxHeader(mListBox)
245 #define mListBoxClassHeader(clsName, parentClass) \ 246 mItemViewClassHeader(clsName, parentClass) \ 247 int (*onChar)(clsName*, int asciiCode, DWORD keyFlags); \ 248 int (*setSel)(clsName*, int newSel, int flag); \ 249 int (*addString)(clsName*, const char* string, DWORD addData); \ 250 int (*insertString)(clsName*, const char* string, DWORD addData, int index);\ 251 int (*findString)(clsName*, int start, char* string, BOOL bExact); \ 252 BOOL (*delString) (clsName*, int index); \ 253 void (*addItems)(clsName*, NCS_LSTBOX_ITEMINFO *info, int count); \ 254 int (*removeItemByIdx)(clsName*, int index); \ 255 BOOL (*bold)(clsName*, int index, BOOL bold); \ 256 BOOL (*isHilightByIdx)(clsName*, int index); \ 257 BOOL (*enableByIdx)(clsName*, int index, BOOL enable); \ 258 int (*selectByIdx)(clsName*, int index); \ 259 int (*deselectByIdx)(clsName*, int index); \ 260 BOOL (*setCheckMark)(clsName*, int index, DWORD mark); \ 261 DWORD (*getCheckMark)(clsName*, int index); 346 struct _mListBoxClass
351 #define mListBoxRendererHeader(clsName, parentClass) \ 352 mItemViewRendererHeader(clsName, parentClass) 359 struct _mListBoxRenderer {
360 mListBoxRendererHeader(mListBox,
mItemView)
396 NCSP_LSTBOX_HILIGHTEDITEM,
449 NCSN_LSTBOX_CMCANCEL,
451 NCSN_LSTBOX_SELCANCEL = NCSN_LSTBOX_CMCANCEL,
456 NCSN_LSTBOX_CLKCHKMARK,
470 MGNCS_EXPORT
extern mListBoxClass g_stmListBoxCls;
478 #endif //_MGNCSCTRL_LISTBOX
The structure of mItemView control, which derived from mScrollWidget. It is the abstract superclass o...