blob: e7609178fadc623e7ae250d73f0d09ea7c7361ae [file] [log] [blame]
Andrey Turkin5c19a622008-10-17 09:41:49 +04001/*
2 * Copyright (C) the Wine project
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/* Window Styles */
20#define WS_OVERLAPPED 0x00000000L
21#define WS_POPUP 0x80000000L
22#define WS_CHILD 0x40000000L
23#define WS_MINIMIZE 0x20000000L
24#define WS_VISIBLE 0x10000000L
25#define WS_DISABLED 0x08000000L
26#define WS_CLIPSIBLINGS 0x04000000L
27#define WS_CLIPCHILDREN 0x02000000L
28#define WS_MAXIMIZE 0x01000000L
29#define WS_CAPTION 0x00C00000L
30#define WS_BORDER 0x00800000L
31#define WS_DLGFRAME 0x00400000L
32#define WS_VSCROLL 0x00200000L
33#define WS_HSCROLL 0x00100000L
34#define WS_SYSMENU 0x00080000L
35#define WS_THICKFRAME 0x00040000L
36#define WS_GROUP 0x00020000L
37#define WS_TABSTOP 0x00010000L
38#define WS_MINIMIZEBOX 0x00020000L
39#define WS_MAXIMIZEBOX 0x00010000L
40#define WS_TILED WS_OVERLAPPED
41#define WS_ICONIC WS_MINIMIZE
42#define WS_SIZEBOX WS_THICKFRAME
43#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
44#define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
45#define WS_CHILDWINDOW (WS_CHILD)
46#define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
47
48/* Window extended styles */
49#define WS_EX_DLGMODALFRAME 0x00000001L
50#define WS_EX_DRAGDETECT 0x00000002L
51#define WS_EX_NOPARENTNOTIFY 0x00000004L
52#define WS_EX_TOPMOST 0x00000008L
53#define WS_EX_ACCEPTFILES 0x00000010L
54#define WS_EX_TRANSPARENT 0x00000020L
55#define WS_EX_MDICHILD 0x00000040L
56#define WS_EX_TOOLWINDOW 0x00000080L
57#define WS_EX_WINDOWEDGE 0x00000100L
58#define WS_EX_CLIENTEDGE 0x00000200L
59#define WS_EX_CONTEXTHELP 0x00000400L
60#define WS_EX_RIGHT 0x00001000L
61#define WS_EX_LEFT 0x00000000L
62#define WS_EX_RTLREADING 0x00002000L
63#define WS_EX_LTRREADING 0x00000000L
64#define WS_EX_LEFTSCROLLBAR 0x00004000L
65#define WS_EX_RIGHTSCROLLBAR 0x00000000L
66#define WS_EX_CONTROLPARENT 0x00010000L
67#define WS_EX_STATICEDGE 0x00020000L
68#define WS_EX_APPWINDOW 0x00040000L
69#define WS_EX_LAYERED 0x00080000L
70#define WS_EX_NOINHERITLAYOUT 0x00100000L
71#define WS_EX_LAYOUTRTL 0x00400000L
72#define WS_EX_COMPOSITED 0x02000000L
73#define WS_EX_NOACTIVATE 0x08000000L
74
75#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
76#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
77
Andrey Turkina54c0de2009-01-05 04:54:05 +030078/* Standard dialog button IDs */
79#define IDOK 1
80#define IDCANCEL 2
81#define IDABORT 3
82#define IDRETRY 4
83#define IDIGNORE 5
84#define IDYES 6
85#define IDNO 7
86#define IDCLOSE 8
87#define IDHELP 9
88#define IDTRYAGAIN 10
89#define IDCONTINUE 11
90
91/* Win32 button control messages */
92#define BM_GETCHECK 0x00f0
93#define BM_SETCHECK 0x00f1
94#define BM_GETSTATE 0x00f2
95#define BM_SETSTATE 0x00f3
96#define BM_SETSTYLE 0x00f4
97#define BM_CLICK 0x00f5
98#define BM_GETIMAGE 0x00f6
99#define BM_SETIMAGE 0x00f7
100
101/* Button states */
102#define BST_UNCHECKED 0x0000
103#define BST_CHECKED 0x0001
104#define BST_INDETERMINATE 0x0002
105#define BST_PUSHED 0x0004
106#define BST_FOCUS 0x0008
107
Andrey Turkin5c19a622008-10-17 09:41:49 +0400108/* Button control styles */
109#define BS_PUSHBUTTON 0x00000000L
110#define BS_DEFPUSHBUTTON 0x00000001L
111#define BS_CHECKBOX 0x00000002L
112#define BS_AUTOCHECKBOX 0x00000003L
113#define BS_RADIOBUTTON 0x00000004L
114#define BS_3STATE 0x00000005L
115#define BS_AUTO3STATE 0x00000006L
116#define BS_GROUPBOX 0x00000007L
117#define BS_USERBUTTON 0x00000008L
118#define BS_AUTORADIOBUTTON 0x00000009L
119#define BS_OWNERDRAW 0x0000000BL
120#define BS_LEFTTEXT 0x00000020L
121#define BS_RIGHTBUTTON BS_LEFTTEXT
122
123#define BS_TEXT 0x00000000L
124#define BS_ICON 0x00000040L
125#define BS_BITMAP 0x00000080L
126#define BS_LEFT 0x00000100L
127#define BS_RIGHT 0x00000200L
128#define BS_CENTER 0x00000300L
129#define BS_TOP 0x00000400L
130#define BS_BOTTOM 0x00000800L
131#define BS_VCENTER 0x00000C00L
132#define BS_PUSHLIKE 0x00001000L
133#define BS_MULTILINE 0x00002000L
134#define BS_NOTIFY 0x00004000L
135#define BS_FLAT 0x00008000L
136
137/* Combo box styles */
138#define CBS_SIMPLE 0x0001L
139#define CBS_DROPDOWN 0x0002L
140#define CBS_DROPDOWNLIST 0x0003L
141#define CBS_OWNERDRAWFIXED 0x0010L
142#define CBS_OWNERDRAWVARIABLE 0x0020L
143#define CBS_AUTOHSCROLL 0x0040L
144#define CBS_OEMCONVERT 0x0080L
145#define CBS_SORT 0x0100L
146#define CBS_HASSTRINGS 0x0200L
147#define CBS_NOINTEGRALHEIGHT 0x0400L
148#define CBS_DISABLENOSCROLL 0x0800L
149
150#define CBS_UPPERCASE 0x2000L
151#define CBS_LOWERCASE 0x4000L
152
153/* Dialog styles */
154#define DS_ABSALIGN 0x0001
155#define DS_SYSMODAL 0x0002
156#define DS_3DLOOK 0x0004 /* win95 */
157#define DS_FIXEDSYS 0x0008 /* win95 */
158#define DS_NOFAILCREATE 0x0010 /* win95 */
159#define DS_LOCALEDIT 0x0020
160#define DS_SETFONT 0x0040
161#define DS_MODALFRAME 0x0080
162#define DS_NOIDLEMSG 0x0100
163#define DS_SETFOREGROUND 0x0200 /* win95 */
164#define DS_CONTROL 0x0400 /* win95 */
165#define DS_CENTER 0x0800 /* win95 */
166#define DS_CENTERMOUSE 0x1000 /* win95 */
167#define DS_CONTEXTHELP 0x2000 /* win95 */
168#define DS_USEPIXELS 0x8000
169#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)
170
171/* Edit control styles */
172#define ES_LEFT 0x00000000
173#define ES_CENTER 0x00000001
174#define ES_RIGHT 0x00000002
175#define ES_MULTILINE 0x00000004
176#define ES_UPPERCASE 0x00000008
177#define ES_LOWERCASE 0x00000010
178#define ES_PASSWORD 0x00000020
179#define ES_AUTOVSCROLL 0x00000040
180#define ES_AUTOHSCROLL 0x00000080
181#define ES_NOHIDESEL 0x00000100
182#define ES_COMBO 0x00000200 /* Undocumented. Parent is a combobox */
183#define ES_OEMCONVERT 0x00000400
184#define ES_READONLY 0x00000800
185#define ES_WANTRETURN 0x00001000
186#define ES_NUMBER 0x00002000
187
Andrey Turkina54c0de2009-01-05 04:54:05 +0300188
189#define HELP_CONTEXT 0x0001
190#define HELP_QUIT 0x0002
191#define HELP_INDEX 0x0003
192#define HELP_CONTENTS 0x0003
193#define HELP_HELPONHELP 0x0004
194#define HELP_SETINDEX 0x0005
195#define HELP_SETCONTENTS 0x0005
196#define HELP_CONTEXTPOPUP 0x0008
197#define HELP_FORCEFILE 0x0009
198#define HELP_KEY 0x0101
199#define HELP_COMMAND 0x0102
200#define HELP_PARTIALKEY 0x0105
201#define HELP_MULTIKEY 0x0201
202#define HELP_SETWINPOS 0x0203
203#define HELP_CONTEXTMENU 0x000a
204#define HELP_FINDER 0x000b
205#define HELP_WM_HELP 0x000c
206#define HELP_SETPOPUP_POS 0x000d
207
208#define HELP_TCARD 0x8000
209#define HELP_TCARD_DATA 0x0010
210#define HELP_TCARD_OTHER_CALLER 0x0011
211
212
213#define IDH_NO_HELP 28440
214#define IDH_MISSING_CONTEXT 28441
215#define IDH_GENERIC_HELP_BUTTON 28442
216#define IDH_OK 28443
217#define IDH_CANCEL 28444
218#define IDH_HELP 28445
219
Andrey Turkin5c19a622008-10-17 09:41:49 +0400220/* Listbox styles */
221#define LBS_NOTIFY 0x0001
222#define LBS_SORT 0x0002
223#define LBS_NOREDRAW 0x0004
224#define LBS_MULTIPLESEL 0x0008
225#define LBS_OWNERDRAWFIXED 0x0010
226#define LBS_OWNERDRAWVARIABLE 0x0020
227#define LBS_HASSTRINGS 0x0040
228#define LBS_USETABSTOPS 0x0080
229#define LBS_NOINTEGRALHEIGHT 0x0100
230#define LBS_MULTICOLUMN 0x0200
231#define LBS_WANTKEYBOARDINPUT 0x0400
232#define LBS_EXTENDEDSEL 0x0800
233#define LBS_DISABLENOSCROLL 0x1000
234#define LBS_NODATA 0x2000
235#define LBS_NOSEL 0x4000
236#define LBS_COMBOBOX 0x8000
237#define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
238
Andrey Turkina54c0de2009-01-05 04:54:05 +0300239/* Menu flags */
240#define MF_INSERT 0x0000
241#define MF_CHANGE 0x0080
242#define MF_APPEND 0x0100
243#define MF_DELETE 0x0200
244#define MF_REMOVE 0x1000
245#define MF_END 0x0080
246
247#define MF_ENABLED 0x0000
248#define MF_GRAYED 0x0001
249#define MF_DISABLED 0x0002
250#define MF_STRING 0x0000
251#define MF_BITMAP 0x0004
252#define MF_UNCHECKED 0x0000
253#define MF_CHECKED 0x0008
254#define MF_POPUP 0x0010
255#define MF_MENUBARBREAK 0x0020
256#define MF_MENUBREAK 0x0040
257#define MF_UNHILITE 0x0000
258#define MF_HILITE 0x0080
259#define MF_OWNERDRAW 0x0100
260#define MF_USECHECKBITMAPS 0x0200
261#define MF_BYCOMMAND 0x0000
262#define MF_BYPOSITION 0x0400
263#define MF_SEPARATOR 0x0800
264#define MF_DEFAULT 0x1000
265#define MF_SYSMENU 0x2000
266#define MF_HELP 0x4000
267#define MF_RIGHTJUSTIFY 0x4000
268#define MF_MOUSESELECT 0x8000
269
270/* Flags for extended menu item types. */
271#define MFT_STRING MF_STRING
272#define MFT_BITMAP MF_BITMAP
273#define MFT_MENUBARBREAK MF_MENUBARBREAK
274#define MFT_MENUBREAK MF_MENUBREAK
275#define MFT_OWNERDRAW MF_OWNERDRAW
276#define MFT_RADIOCHECK 0x00000200L
277#define MFT_SEPARATOR MF_SEPARATOR
278#define MFT_RIGHTORDER 0x00002000L
279#define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY
280
281/* Flags for extended menu item states. */
282#define MFS_GRAYED 0x00000003L
283#define MFS_DISABLED MFS_GRAYED
284#define MFS_CHECKED MF_CHECKED
285#define MFS_HILITE MF_HILITE
286#define MFS_ENABLED MF_ENABLED
287#define MFS_UNCHECKED MF_UNCHECKED
288#define MFS_UNHILITE MF_UNHILITE
289#define MFS_DEFAULT MF_DEFAULT
290#define MFS_MASK 0x0000108BL
291#define MFS_HOTTRACKDRAWN 0x10000000L
292#define MFS_CACHEDBMP 0x20000000L
293#define MFS_BOTTOMGAPDROP 0x40000000L
294#define MFS_TOPGAPDROP 0x80000000L
295#define MFS_GAPDROP 0xC0000000L
296/* Scrollbar styles */
297#define SBS_HORZ 0x0000L
298#define SBS_VERT 0x0001L
299#define SBS_TOPALIGN 0x0002L
300#define SBS_LEFTALIGN 0x0002L
301#define SBS_BOTTOMALIGN 0x0004L
302#define SBS_RIGHTALIGN 0x0004L
303#define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
304#define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
305#define SBS_SIZEBOX 0x0008L
306#define SBS_SIZEGRIP 0x0010L
307
308/* WM_SYSCOMMAND parameters */
309#ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */
310#undef SC_SIZE
311#endif
312#define SC_SIZE 0xf000
313#define SC_MOVE 0xf010
314#define SC_MINIMIZE 0xf020
315#define SC_MAXIMIZE 0xf030
316#define SC_NEXTWINDOW 0xf040
317#define SC_PREVWINDOW 0xf050
318#define SC_CLOSE 0xf060
319#define SC_VSCROLL 0xf070
320#define SC_HSCROLL 0xf080
321#define SC_MOUSEMENU 0xf090
322#define SC_KEYMENU 0xf100
323#define SC_ARRANGE 0xf110
324#define SC_RESTORE 0xf120
325#define SC_TASKLIST 0xf130
326#define SC_SCREENSAVE 0xf140
327#define SC_HOTKEY 0xf150
328 /* Win32 4.0 */
329#define SC_DEFAULT 0xf160
330#define SC_MONITORPOWER 0xf170
331#define SC_CONTEXTHELP 0xf180
332#define SC_SEPARATOR 0xf00f
333
334/* obsolete names(SC_ICON and SC_ZOOM) */
335#define SC_ICON SC_MINIMIZE
336#define SC_ZOOM SC_MAXIMIZE
337
Andrey Turkin5c19a622008-10-17 09:41:49 +0400338/* Static Control Styles */
339#define SS_LEFT 0x00000000L
340#define SS_CENTER 0x00000001L
341#define SS_RIGHT 0x00000002L
342#define SS_ICON 0x00000003L
343#define SS_BLACKRECT 0x00000004L
344#define SS_GRAYRECT 0x00000005L
345#define SS_WHITERECT 0x00000006L
346#define SS_BLACKFRAME 0x00000007L
347#define SS_GRAYFRAME 0x00000008L
348#define SS_WHITEFRAME 0x00000009L
349#define SS_USERITEM 0x0000000AL
350#define SS_SIMPLE 0x0000000BL
351#define SS_LEFTNOWORDWRAP 0x0000000CL
352#define SS_OWNERDRAW 0x0000000DL
353#define SS_BITMAP 0x0000000EL
354#define SS_ENHMETAFILE 0x0000000FL
355#define SS_ETCHEDHORZ 0x00000010L
356#define SS_ETCHEDVERT 0x00000011L
357#define SS_ETCHEDFRAME 0x00000012L
358#define SS_TYPEMASK 0x0000001FL
359
360#define SS_REALSIZECONTROL 0x00000040L
361#define SS_NOPREFIX 0x00000080L
362#define SS_NOTIFY 0x00000100L
363#define SS_CENTERIMAGE 0x00000200L
364#define SS_RIGHTJUST 0x00000400L
365#define SS_REALSIZEIMAGE 0x00000800L
366#define SS_SUNKEN 0x00001000L
367#define SS_EDITCONTROL 0x00002000L
368#define SS_ENDELLIPSIS 0x00004000L
369#define SS_PATHELLIPSIS 0x00008000L
370#define SS_WORDELLIPSIS 0x0000C000L
371#define SS_ELLIPSISMASK 0x0000C000L
Andrey Turkina54c0de2009-01-05 04:54:05 +0300372
373/* ShowWindow() codes */
374#define SW_HIDE 0
375#define SW_SHOWNORMAL 1
376#define SW_NORMAL 1
377#define SW_SHOWMINIMIZED 2
378#define SW_SHOWMAXIMIZED 3
379#define SW_MAXIMIZE 3
380#define SW_SHOWNOACTIVATE 4
381#define SW_SHOW 5
382#define SW_MINIMIZE 6
383#define SW_SHOWMINNOACTIVE 7
384#define SW_SHOWNA 8
385#define SW_RESTORE 9
386#define SW_SHOWDEFAULT 10
387#define SW_FORCEMINIMIZE 11
388#define SW_MAX 11
389
390/* Predefined resources */
391#define IDI_APPLICATION MAKEINTRESOURCE(32512)
392#define IDI_HAND MAKEINTRESOURCE(32513)
393#define IDI_QUESTION MAKEINTRESOURCE(32514)
394#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
395#define IDI_ASTERISK MAKEINTRESOURCE(32516)
396#define IDI_WINLOGO MAKEINTRESOURCE(32517)
397
398#define IDI_WARNING IDI_EXCLAMATION
399#define IDI_ERROR IDI_HAND
400#define IDI_INFORMATION IDI_ASTERISK