xref: /reactos/win32ss/user/user32/include/controls.h (revision 4561998a)
1 #pragma once
2 
3 #ifndef HBMMENU_CALLBACK
4 #define HBMMENU_CALLBACK	((HBITMAP) -1)
5 #endif
6 #ifndef HBMMENU_SYSTEM
7 #define HBMMENU_SYSTEM		((HBITMAP)  1)
8 #endif
9 #ifndef HBMMENU_MBAR_RESTORE
10 #define HBMMENU_MBAR_RESTORE	((HBITMAP)  2)
11 #endif
12 #ifndef HBMMENU_MBAR_MINIMIZE
13 #define HBMMENU_MBAR_MINIMIZE	((HBITMAP)  3)
14 #endif
15 #ifndef HBMMENU_MBAR_CLOSE
16 #define HBMMENU_MBAR_CLOSE	((HBITMAP)  5)
17 #endif
18 #ifndef HBMMENU_MBAR_CLOSE_D
19 #define HBMMENU_MBAR_CLOSE_D	((HBITMAP)  6)
20 #endif
21 #ifndef HBMMENU_MBAR_MINIMIZE_D
22 #define HBMMENU_MBAR_MINIMIZE_D	((HBITMAP)  7)
23 #endif
24 #ifndef HBMMENU_POPUP_CLOSE
25 #define HBMMENU_POPUP_CLOSE	((HBITMAP)  8)
26 #endif
27 #ifndef HBMMENU_POPUP_RESTORE
28 #define HBMMENU_POPUP_RESTORE	((HBITMAP)  9)
29 #endif
30 #ifndef HBMMENU_POPUP_MAXIMIZE
31 #define HBMMENU_POPUP_MAXIMIZE	((HBITMAP) 10)
32 #endif
33 #ifndef HBMMENU_POPUP_MINIMIZE
34 #define HBMMENU_POPUP_MINIMIZE	((HBITMAP) 11)
35 #endif
36 
37 /* combo box */
38 #define ID_CB_LISTBOX           1000
39 #define ID_CB_EDIT              1001
40 
41 /* Combo box message return values */
42 #define CB_OKAY             0
43 
44 /* internal flags */
45 #define CBF_DROPPED             0x0001
46 #define CBF_BUTTONDOWN          0x0002
47 #define CBF_NOROLLUP            0x0004
48 #define CBF_MEASUREITEM         0x0008
49 #define CBF_FOCUSED             0x0010
50 #define CBF_CAPTURE             0x0020
51 #define CBF_EDIT                0x0040
52 #define CBF_NORESIZE            0x0080
53 #define CBF_NOTIFY              0x0100
54 #define CBF_NOREDRAW            0x0200
55 #define CBF_SELCHANGE           0x0400
56 #define CBF_NOEDITNOTIFY        0x1000
57 #define CBF_NOLBSELECT          0x2000  /* do not change current selection */
58 #define CBF_BEENFOCUSED         0x4000  /* has it ever had focus           */
59 #define CBF_EUI                 0x8000
60 
61 /* combo state struct */
62 typedef struct
63 {
64    HWND           self;
65    HWND           owner;
66    UINT           dwStyle;
67    HWND           hWndEdit;
68    HWND           hWndLBox;
69    UINT           wState;
70    HFONT          hFont;
71    RECT           textRect;
72    RECT           buttonRect;
73    RECT           droppedRect;
74    INT            droppedIndex;
75    INT            fixedOwnerDrawHeight;
76    INT            droppedWidth;   /* last two are not used unless set */
77    INT            editHeight;     /* explicitly */
78    LONG           UIState;
79 } HEADCOMBO,*LPHEADCOMBO;
80 
81 /* Note, that CBS_DROPDOWNLIST style is actually (CBS_SIMPLE | CBS_DROPDOWN) */
82 #define CB_GETTYPE( lphc )    ((lphc)->dwStyle & (CBS_DROPDOWNLIST))
83 
84 extern BOOL COMBO_FlipListbox( LPHEADCOMBO, BOOL, BOOL );
85 
86 #define LB_INSERTSTRING_UPPER     0x1AA
87 #define LB_INSERTSTRING_LOWER     0x1AB
88 #define LB_ADDSTRING_UPPER        0x1AC
89 #define LB_ADDSTRING_LOWER        0x1AD
90 
91 HRGN set_control_clipping( HDC hdc, const RECT *rect );
92 
93 LRESULT WINAPI DesktopWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
94 LRESULT WINAPI DesktopWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
95 LRESULT WINAPI User32DefWindowProc(HWND,UINT,WPARAM,LPARAM,BOOL);
96 BOOL WINAPI RegisterClientPFN(VOID);
97 LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
98 LRESULT WINAPI ButtonWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
99 LRESULT WINAPI ButtonWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
100 LRESULT WINAPI ButtonWndProc_common(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL unicode);
101 LRESULT WINAPI ComboWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
102 LRESULT WINAPI ComboWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
103 LRESULT WINAPI ComboWndProc_common( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, BOOL unicode);
104 LRESULT WINAPI EditWndProcA(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
105 LRESULT WINAPI EditWndProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
106 LRESULT WINAPI EditWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, BOOL unicode);
107 LRESULT WINAPI GhostWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
108 LRESULT WINAPI GhostWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
109 LRESULT WINAPI GhostWndProc_common( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL unicode);
110 LRESULT WINAPI ListBoxWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
111 LRESULT WINAPI ListBoxWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
112 LRESULT WINAPI ListBoxWndProc_common( HWND hwnd, UINT msg,WPARAM wParam, LPARAM lParam, BOOL unicode);
113 LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
114 LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
115 LRESULT WINAPI MDIClientWndProc_common( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, BOOL unicode);
116 LRESULT WINAPI PopupMenuWndProcA(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam);
117 LRESULT WINAPI PopupMenuWndProcW(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
118 LRESULT WINAPI ScrollBarWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam );
119 LRESULT WINAPI ScrollBarWndProcA( HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam );
120 LRESULT WINAPI StaticWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
121 LRESULT WINAPI StaticWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
122 LRESULT WINAPI StaticWndProc_common( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL unicode);
123 LRESULT WINAPI SwitchWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
124 LRESULT WINAPI SwitchWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
125