/* * Combo box definitions */ #ifndef __WINE_COMBO_H #define __WINE_COMBO_H #include "windef.h" struct tagWND; #define ID_CB_LISTBOX 1000 #define ID_CB_EDIT 1001 /* Internal flags */ #define CBF_DROPPED 0x0001 #define CBF_BUTTONDOWN 0x0002 #define CBF_NOROLLUP 0x0004 #define CBF_MEASUREITEM 0x0008 #define CBF_FOCUSED 0x0010 #define CBF_CAPTURE 0x0020 #define CBF_EDIT 0x0040 #define CBF_NORESIZE 0x0080 #define CBF_NOTIFY 0x0100 #define CBF_NOREDRAW 0x0200 #define CBF_SELCHANGE 0x0400 #define CBF_NOEDITNOTIFY 0x1000 #define CBF_NOLBSELECT 0x2000 /* do not change current selection */ #define CBF_EUI 0x8000 /* Combo state struct */ typedef struct { struct tagWND *self; HWND owner; UINT dwStyle; HWND hWndEdit; HWND hWndLBox; UINT wState; HFONT hFont; RECT textRect; RECT buttonRect; RECT droppedRect; INT droppedIndex; INT fixedOwnerDrawHeight; INT droppedWidth; /* last two are not used unless set */ INT editHeight; /* explicitly */ } HEADCOMBO,*LPHEADCOMBO; /* * Note, that CBS_DROPDOWNLIST style is actually (CBS_SIMPLE | CBS_DROPDOWN)! */ #define CB_GETTYPE( lphc ) ((lphc)->dwStyle & (CBS_DROPDOWNLIST)) #define CB_DISABLED( lphc ) ((lphc)->self->dwStyle & WS_DISABLED) #define CB_OWNERDRAWN( lphc ) ((lphc)->dwStyle & (CBS_OWNERDRAWFIXED | CBS_OWNERDRAWVARIABLE)) #define CB_HASSTRINGS( lphc ) ((lphc)->dwStyle & CBS_HASSTRINGS) #define CB_HWND( lphc ) ((lphc)->self->hwndSelf) LRESULT WINAPI ComboWndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); BOOL COMBO_FlipListbox( LPHEADCOMBO, BOOL, BOOL ); LRESULT COMBO_Directory( LPHEADCOMBO, UINT, LPSTR, BOOL ); #endif /* __WINE_COMBO_H */