42 #ifdef _MGNCSCTRL_COMBOBOX 44 #ifndef _MGUI_PANEL_COMBOBOX_H 45 #define _MGUI_PANEL_COMBOBOX_H 61 #define NCSCTRL_COMBOBOX NCSCLASSNAME("combobox") 63 typedef struct _mCombobox mCombobox;
64 typedef struct _mComboboxClass mComboboxClass;
65 typedef struct _mComboboxRenderer mComboboxRenderer;
67 #define mComboboxHeader(clsName) \ 68 mPanelHeader(clsName) \ 100 mComboboxHeader(mCombobox)
103 #define mComboboxClassHeader(clsName, parentClass) \ 104 mPanelClassHeader(clsName, parentClass) \ 105 BOOL (*addItem)(clsName *self, const char *item, DWORD addData); \ 106 BOOL (*removeItem)(clsName *self, int index); \ 107 BOOL (*setItem)(clsName *self, int index, const char *item); \ 108 const char* (*getItem)(clsName *self, int index); \ 109 void (*setAddData)(clsName *self, int index, DWORD addData); \ 110 DWORD (*getAddData)(clsName *self, int index); 137 struct _mComboboxClass
139 mComboboxClassHeader(mCombobox,
mPanel)
142 MGNCS_EXPORT
extern mComboboxClass g_stmComboboxCls;
144 #define mComboboxRendererHeader(clsName, parentClass) \ 145 mPanelRendererHeader(clsName, parentClass) \ 146 void (*drawDropDownBtn)(clsName* self, HDC, const RECT*); 160 struct _mComboboxRenderer {
161 mComboboxRendererHeader(mCombobox,
mPanel)
174 NCSP_COMB_ITEMHEIGHT = NCSP_LSTBOX_ITEMHEIGHT,
180 NCSP_COMB_ITEMCOUNT = NCSP_LSTBOX_ITEMCOUNT,
210 #define NCSS_CMBOX_SIMPLE 0x0000L 216 #define NCSS_CMBOX_DROPDOWNLIST (0x0001L<<NCSS_PANEL_SHIFT) 222 #define NCSS_CMBOX_SORT (0x0002L<<NCSS_PANEL_SHIFT) 228 #define NCSS_CMBOX_EDITNOBORDER (0x0004L<<NCSS_PANEL_SHIFT) 234 #define NCSS_CMBOX_EDITBASELINE (0x0008L<<NCSS_PANEL_SHIFT) 240 #define NCSS_CMBOX_READONLY (0x0010L<<NCSS_PANEL_SHIFT) 246 #define NCSS_CMBOX_UPPERCASE (0x0020L<<NCSS_PANEL_SHIFT) 252 #define NCSS_CMBOX_LOWERCASE (0x0040L<<NCSS_PANEL_SHIFT) 258 #define NCSS_CMBOX_AUTOFOCUS (0x0080L<<NCSS_PANEL_SHIFT) 260 #define NCSS_CMBOX_SHIFT (NCSS_PANEL_SHIFT + 9) 264 enum enumComboboxNotify {
267 NCSN_CMBOX_KILLFOCUS,
268 NCSN_CMBOX_EDITCHANGE,
272 NCSN_CMBOX_SELECTCANCEL,
281 #define NCSF_CMBOX_BUTTONDOWN 0x0001 282 #define NCSF_CMBOX_BUTTONUP 0x0002 283 #define NCSF_CMBOX_DROPPED 0x0004 284 #define NCSF_CMBOX_HILIGHT 0x0008 286 #define SET_STATE(lp, mask) (lp->flag |= (mask)) 287 #define CLEAR_STATE(lp, mask) (lp->flag &= ~(mask)) 288 #define IS_SET(lp, mask) (lp->flag & (mask)) 297 #endif //_MGNCSCTRL_COMBOBOX
The structure of mPanel control, which derived from mWidget. It is a control which is capable of cont...