54 #ifdef _MGNCSCTRL_COMBOBOX 56 #ifndef _MGUI_PANEL_COMBOBOX_H 57 #define _MGUI_PANEL_COMBOBOX_H 73 #define NCSCTRL_COMBOBOX NCSCLASSNAME("combobox") 75 typedef struct _mCombobox mCombobox;
76 typedef struct _mComboboxClass mComboboxClass;
77 typedef struct _mComboboxRenderer mComboboxRenderer;
79 #define mComboboxHeader(clsName) \ 80 mPanelHeader(clsName) \ 112 mComboboxHeader(mCombobox)
115 #define mComboboxClassHeader(clsName, parentClass) \ 116 mPanelClassHeader(clsName, parentClass) \ 117 BOOL (*addItem)(clsName *self, const char *item, DWORD addData); \ 118 BOOL (*removeItem)(clsName *self, int index); \ 119 BOOL (*setItem)(clsName *self, int index, const char *item); \ 120 const char* (*getItem)(clsName *self, int index); \ 121 void (*setAddData)(clsName *self, int index, DWORD addData); \ 122 DWORD (*getAddData)(clsName *self, int index); 149 struct _mComboboxClass
151 mComboboxClassHeader(mCombobox,
mPanel)
154 MGNCS_EXPORT
extern mComboboxClass g_stmComboboxCls;
156 #define mComboboxRendererHeader(clsName, parentClass) \ 157 mPanelRendererHeader(clsName, parentClass) \ 158 void (*drawDropDownBtn)(clsName* self, HDC, const RECT*); 172 struct _mComboboxRenderer {
173 mComboboxRendererHeader(mCombobox,
mPanel)
186 NCSP_COMB_ITEMHEIGHT = NCSP_LSTBOX_ITEMHEIGHT,
192 NCSP_COMB_ITEMCOUNT = NCSP_LSTBOX_ITEMCOUNT,
222 #define NCSS_CMBOX_SIMPLE 0x0000L 228 #define NCSS_CMBOX_DROPDOWNLIST (0x0001L<<NCSS_PANEL_SHIFT) 234 #define NCSS_CMBOX_SORT (0x0002L<<NCSS_PANEL_SHIFT) 240 #define NCSS_CMBOX_EDITNOBORDER (0x0004L<<NCSS_PANEL_SHIFT) 246 #define NCSS_CMBOX_EDITBASELINE (0x0008L<<NCSS_PANEL_SHIFT) 252 #define NCSS_CMBOX_READONLY (0x0010L<<NCSS_PANEL_SHIFT) 258 #define NCSS_CMBOX_UPPERCASE (0x0020L<<NCSS_PANEL_SHIFT) 264 #define NCSS_CMBOX_LOWERCASE (0x0040L<<NCSS_PANEL_SHIFT) 270 #define NCSS_CMBOX_AUTOFOCUS (0x0080L<<NCSS_PANEL_SHIFT) 272 #define NCSS_CMBOX_SHIFT (NCSS_PANEL_SHIFT + 9) 276 enum enumComboboxNotify {
279 NCSN_CMBOX_KILLFOCUS,
280 NCSN_CMBOX_EDITCHANGE,
284 NCSN_CMBOX_SELECTCANCEL,
293 #define NCSF_CMBOX_BUTTONDOWN 0x0001 294 #define NCSF_CMBOX_BUTTONUP 0x0002 295 #define NCSF_CMBOX_DROPPED 0x0004 296 #define NCSF_CMBOX_HILIGHT 0x0008 298 #define SET_STATE(lp, mask) (lp->flag |= (mask)) 299 #define CLEAR_STATE(lp, mask) (lp->flag &= ~(mask)) 300 #define IS_SET(lp, mask) (lp->flag & (mask)) 309 #endif //_MGNCSCTRL_COMBOBOX
The structure of mPanel control, which derived from mWidget. It is a control which is capable of cont...