Fixed a few behaviors of the combobox that were broken.
[wine/testsucceed.git] / include / combo.h
blob67d6ea86d19bf5ccc078cc4e52c395ba1d33bfce
1 /*
2 * Combo box definitions
3 */
5 #ifndef __WINE_COMBO_H
6 #define __WINE_COMBO_H
8 #define ID_CB_LISTBOX 1000
9 #define ID_CB_EDIT 1001
11 /* Internal flags */
13 #define CBF_DROPPED 0x0001
14 #define CBF_BUTTONDOWN 0x0002
15 #define CBF_NOROLLUP 0x0004
16 #define CBF_MEASUREITEM 0x0008
17 #define CBF_FOCUSED 0x0010
18 #define CBF_CAPTURE 0x0020
19 #define CBF_EDIT 0x0040
20 #define CBF_NORESIZE 0x0080
21 #define CBF_NOTIFY 0x0100
22 #define CBF_NOREDRAW 0x0200
23 #define CBF_SELCHANGE 0x0400
24 #define CBF_NOEDITNOTIFY 0x1000
25 #define CBF_EUI 0x8000
27 /* Combo state struct */
29 typedef struct
31 WND* self;
32 HWND owner;
33 UINT dwStyle;
34 HWND hWndEdit;
35 HWND hWndLBox;
36 UINT wState;
37 HFONT hFont;
38 RECT textRect;
39 RECT buttonRect;
40 RECT droppedRect;
41 INT droppedIndex;
42 INT fixedOwnerDrawHeight;
43 INT droppedWidth; /* last two are not used unless set */
44 INT editHeight; /* explicitly */
45 } HEADCOMBO,*LPHEADCOMBO;
48 * Note, that CBS_DROPDOWNLIST style is actually (CBS_SIMPLE | CBS_DROPDOWN)!
51 #define CB_GETTYPE( lphc ) ((lphc)->dwStyle & (CBS_DROPDOWNLIST))
52 #define CB_DISABLED( lphc ) ((lphc)->self->dwStyle & WS_DISABLED)
53 #define CB_OWNERDRAWN( lphc ) ((lphc)->dwStyle & (CBS_OWNERDRAWFIXED | CBS_OWNERDRAWVARIABLE))
54 #define CB_HASSTRINGS( lphc ) ((lphc)->dwStyle & CBS_HASSTRINGS)
55 #define CB_HWND( lphc ) ((lphc)->self->hwndSelf)
57 BOOL COMBO_FlipListbox( LPHEADCOMBO, BOOL );
58 HWND COMBO_GetLBWindow( WND* );
59 LRESULT COMBO_Directory( LPHEADCOMBO, UINT, LPSTR, BOOL );
61 #endif /* __WINE_COMBO_H */