54 #ifdef _MGNCSCTRL_LISTBOX 56 #ifndef _MGUI_CTRL_LSTBOX_H 57 #define _MGUI_CTRL_LSTBOX_H 75 typedef struct _NCS_LSTBOX_ITEMINFO
108 }NCS_LSTBOX_ITEMINFO;
110 typedef struct _mListBox mListBox;
111 typedef struct _mListBoxClass mListBoxClass;
112 typedef struct _mListBoxRenderer mListBoxRenderer;
118 #define NCSCTRL_LISTBOX NCSCLASSNAME("listbox") 124 #define NCSS_LSTBOX_SHIFT (NCSS_ITEMV_SHIFT+4) 130 #define NCSS_LSTBOX_SINGLE NCSS_ITEMV_SINGLE 136 #define NCSS_LSTBOX_MULTIPLE NCSS_ITEMV_MULTIPLE 142 #define NCSS_LSTBOX_SORT NCSS_ITEMV_AUTOSORT 149 #define NCSS_LSTBOX_MOUSEFOLLOW (0x0001<<NCSS_ITEMV_SHIFT) 155 #define NCSS_LSTBOX_STRING (0x0000<<NCSS_ITEMV_SHIFT) 161 #define NCSS_LSTBOX_USEBITMAP (0x0002<<NCSS_ITEMV_SHIFT) 167 #define NCSS_LSTBOX_CHECKBOX (0x0004<<NCSS_ITEMV_SHIFT) 174 #define NCSS_LSTBOX_AUTOCHECK (0x0008<<NCSS_ITEMV_SHIFT) 180 #define NCSS_LSTBOX_AUTOCHECKBOX \ 181 (NCSS_LSTBOX_CHECKBOX | NCSS_LSTBOX_AUTOCHECK) 184 #define NCSF_LSTBOX_SHIFT (NCSF_ITEM_SHIFT + 4) 191 #define NCSF_LSTBOX_CMBLANK (0x0000<<NCSF_ITEM_SHIFT) 197 #define NCSF_LSTBOX_CMCHECKED (0x0001<<NCSF_ITEM_SHIFT) 203 #define NCSF_LSTBOX_CMPARTCHECKED (0x0002<<NCSF_ITEM_SHIFT) 209 #define NCSF_LSTBOX_CHECKMASK \ 210 (NCSF_LSTBOX_CMBLANK | NCSF_LSTBOX_CMCHECKED | NCSF_LSTBOX_CMPARTCHECKED) 216 #define NCSF_LSTBOX_BOLD (0x0004<<NCSF_ITEM_SHIFT) 222 #define NCSF_LSTBOX_SIGNIFICANT (0x0008<<NCSF_ITEM_SHIFT) 224 #define mListBoxHeader(className) \ 225 mItemViewHeader(className) \ 254 mListBoxHeader(mListBox)
257 #define mListBoxClassHeader(clsName, parentClass) \ 258 mItemViewClassHeader(clsName, parentClass) \ 259 int (*onChar)(clsName*, int asciiCode, DWORD keyFlags); \ 260 int (*setSel)(clsName*, int newSel, int flag); \ 261 int (*addString)(clsName*, const char* string, DWORD addData); \ 262 int (*insertString)(clsName*, const char* string, DWORD addData, int index);\ 263 int (*findString)(clsName*, int start, char* string, BOOL bExact); \ 264 BOOL (*delString) (clsName*, int index); \ 265 void (*addItems)(clsName*, NCS_LSTBOX_ITEMINFO *info, int count); \ 266 int (*removeItemByIdx)(clsName*, int index); \ 267 BOOL (*bold)(clsName*, int index, BOOL bold); \ 268 BOOL (*isHilightByIdx)(clsName*, int index); \ 269 BOOL (*enableByIdx)(clsName*, int index, BOOL enable); \ 270 int (*selectByIdx)(clsName*, int index); \ 271 int (*deselectByIdx)(clsName*, int index); \ 272 BOOL (*setCheckMark)(clsName*, int index, DWORD mark); \ 273 DWORD (*getCheckMark)(clsName*, int index); 358 struct _mListBoxClass
363 #define mListBoxRendererHeader(clsName, parentClass) \ 364 mItemViewRendererHeader(clsName, parentClass) 371 struct _mListBoxRenderer {
372 mListBoxRendererHeader(mListBox,
mItemView)
408 NCSP_LSTBOX_HILIGHTEDITEM,
461 NCSN_LSTBOX_CMCANCEL,
463 NCSN_LSTBOX_SELCANCEL = NCSN_LSTBOX_CMCANCEL,
468 NCSN_LSTBOX_CLKCHKMARK,
482 MGNCS_EXPORT
extern mListBoxClass g_stmListBoxCls;
490 #endif //_MGNCSCTRL_LISTBOX
The structure of mItemView control, which derived from mScrollWidget. It is the abstract superclass o...