source: trunk/include/win/winuser.h

Last change on this file was 21949, checked in by dmik, 14 years ago

Add GetComboBoxInfo() to USER32.

Taken from the recent Wine sources. Fixes the Winrar startup
problem.

File size: 143.0 KB
Line 
1#ifndef __INCLUDE_WINUSER_H
2#define __INCLUDE_WINUSER_H
3
4#ifndef RC_INVOKED
5#include <stdarg.h>
6#endif
7#include "windef.h"
8#include "wingdi.h"
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include "pshpack1.h"
15
16/* flags for HIGHCONTRAST dwFlags field */
17#define HCF_HIGHCONTRASTON 0x00000001
18#define HCF_AVAILABLE 0x00000002
19#define HCF_HOTKEYACTIVE 0x00000004
20#define HCF_CONFIRMHOTKEY 0x00000008
21#define HCF_HOTKEYSOUND 0x00000010
22#define HCF_INDICATOR 0x00000020
23#define HCF_HOTKEYAVAILABLE 0x00000040
24
25typedef struct tagHIGHCONTRASTA
26{
27 UINT cbSize;
28 DWORD dwFlags;
29 LPSTR lpszDefaultScheme;
30} HIGHCONTRASTA, *LPHIGHCONTRASTA;
31
32typedef struct tagHIGHCONTRASTW
33{
34 UINT cbSize;
35 DWORD dwFlags;
36 LPWSTR lpszDefaultScheme;
37} HIGHCONTRASTW, *LPHIGHCONTRASTW;
38
39DECL_WINELIB_TYPE_AW(HIGHCONTRAST)
40DECL_WINELIB_TYPE_AW(LPHIGHCONTRAST)
41
42typedef struct
43{
44 UINT message;
45 UINT paramL;
46 UINT paramH;
47 DWORD time;
48 HWND hwnd;
49} EVENTMSG, *LPEVENTMSG;
50
51
52 /* Mouse hook structure */
53
54typedef struct
55{
56 POINT pt;
57 HWND hwnd;
58 UINT wHitTestCode;
59 DWORD dwExtraInfo;
60} MOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT;
61
62
63 /* Hardware hook structure */
64
65typedef struct
66{
67 HWND hWnd;
68 UINT wMessage;
69 WPARAM wParam;
70 LPARAM lParam;
71} HARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT;
72
73
74 /* Debug hook structure */
75
76typedef struct
77{
78 DWORD idThread;
79 DWORD idThreadInstaller;
80 LPARAM lParam;
81 WPARAM wParam;
82 INT code;
83} DEBUGHOOKINFO, *LPDEBUGHOOKINFO;
84
85/*
86 * Low level hook flags
87 */
88#define LLKHF_EXTENDED 0x00000001
89#define LLKHF_INJECTED 0x00000010
90#define LLKHF_ALTDOWN 0x00000020
91#define LLKHF_UP 0x00000080
92
93#define LLMHF_INJECTED 0x00000001
94
95/*
96 * Structure used by WH_KEYBOARD_LL
97 */
98typedef struct tagKBDLLHOOKSTRUCT {
99 DWORD vkCode;
100 DWORD scanCode;
101 DWORD flags;
102 DWORD time;
103 DWORD dwExtraInfo;
104} KBDLLHOOKSTRUCT, *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
105
106/*
107 * Structure used by WH_MOUSE_LL
108 */
109typedef struct tagMSLLHOOKSTRUCT {
110 POINT pt;
111 DWORD mouseData;
112 DWORD flags;
113 DWORD time;
114 DWORD dwExtraInfo;
115} MSLLHOOKSTRUCT, *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
116
117
118#define HKL_PREV 0
119#define HKL_NEXT 1
120
121#define KLF_ACTIVATE 0x00000001
122#define KLF_SUBSTITUTE_OK 0x00000002
123#define KLF_UNLOADPREVIOUS 0x00000004
124#define KLF_REORDER 0x00000008
125#define KLF_REPLACELANG 0x00000010
126#define KLF_NOTELLSHELL 0x00000080
127
128#define KL_NAMELENGTH 9
129
130typedef struct tagMOUSEINPUT
131{
132 LONG dx;
133 LONG dy;
134 DWORD mouseData;
135 DWORD dwFlags;
136 DWORD time;
137 ULONG_PTR dwExtraInfo;
138} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;
139
140typedef struct tagKEYBDINPUT
141{
142 WORD wVk;
143 WORD wScan;
144 DWORD dwFlags;
145 DWORD time;
146 ULONG_PTR dwExtraInfo;
147} KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;
148
149typedef struct tagHARDWAREINPUT
150{
151 DWORD uMsg;
152 WORD wParamL;
153 WORD wParamH;
154} HARDWAREINPUT, *PHARDWAREINPUT, *LPHARDWAREINPUT;
155
156#define INPUT_MOUSE 0
157#define INPUT_KEYBOARD 1
158#define INPUT_HARDWARE 2
159
160typedef struct tagINPUT
161{
162 DWORD type;
163 union
164 {
165 MOUSEINPUT mi;
166 KEYBDINPUT ki;
167 HARDWAREINPUT hi;
168 } DUMMYUNIONNAME;
169} INPUT, *PINPUT, *LPINPUT;
170
171UINT WINAPI SendInput(UINT cInputs, // number of input in the array
172 LPINPUT pInputs, // array of inputs
173 int cbSize); // sizeof(INPUT)
174
175
176 /***** Dialogs *****/
177#ifdef FSHIFT
178/* Gcc on Solaris has a version of this that we don't care about. */
179#undef FSHIFT
180#endif
181
182#define FVIRTKEY TRUE /* Assumed to be == TRUE */
183#define FNOINVERT 0x02
184#define FSHIFT 0x04
185#define FCONTROL 0x08
186#define FALT 0x10
187
188
189typedef struct tagANIMATIONINFO
190{
191 UINT cbSize;
192 INT iMinAnimate;
193} ANIMATIONINFO, *LPANIMATIONINFO;
194
195typedef struct tagNMHDR
196{
197 HWND hwndFrom;
198 UINT idFrom;
199 UINT code;
200} NMHDR, *LPNMHDR;
201
202typedef struct
203{
204 UINT cbSize;
205 INT iTabLength;
206 INT iLeftMargin;
207 INT iRightMargin;
208 UINT uiLengthDrawn;
209} DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
210
211#define WM_USER 0x0400
212
213#define DT_EDITCONTROL 0x00002000
214#define DT_PATH_ELLIPSIS 0x00004000
215#define DT_END_ELLIPSIS 0x00008000
216#define DT_MODIFYSTRING 0x00010000
217#define DT_RTLREADING 0x00020000
218#define DT_WORD_ELLIPSIS 0x00040000
219#define DT_NOFULLWIDTHCHARBREAK 0x00080000
220#define DT_HIDEPREFIX 0x00100000
221#define DT_PREFIXONLY 0x00200000
222
223typedef struct
224{
225 LPARAM lParam;
226 WPARAM16 wParam;
227 UINT16 message;
228 HWND16 hwnd;
229} CWPSTRUCT16, *LPCWPSTRUCT16;
230
231typedef struct
232{
233 LPARAM lParam;
234 WPARAM wParam;
235 UINT message;
236 HWND hwnd;
237} CWPSTRUCT, *LPCWPSTRUCT;
238
239
240
241typedef struct
242{
243 LRESULT lResult;
244 LPARAM lParam;
245 WPARAM16 wParam;
246 DWORD message;
247 HWND16 hwnd;
248} CWPRETSTRUCT16, *LPCWPRETSTRUCT16;
249
250typedef struct
251{
252 LRESULT lResult;
253 LPARAM lParam;
254 WPARAM wParam;
255 DWORD message;
256 HWND hwnd;
257} CWPRETSTRUCT, *LPCWPRETSTRUCT;
258
259typedef struct
260{
261 UINT length;
262 UINT flags;
263 UINT showCmd;
264 POINT ptMinPosition WINE_PACKED;
265 POINT ptMaxPosition WINE_PACKED;
266 RECT rcNormalPosition WINE_PACKED;
267} WINDOWPLACEMENT, *LPWINDOWPLACEMENT;
268
269
270 /* WINDOWPLACEMENT flags */
271#define WPF_SETMINPOSITION 0x0001
272#define WPF_RESTORETOMAXIMIZED 0x0002
273
274
275/***** Dialogs *****/
276
277 /* cbWndExtra bytes for dialog class */
278#define DLGWINDOWEXTRA 30
279
280/* Button control styles */
281#define BS_PUSHBUTTON 0x00000000L
282#define BS_DEFPUSHBUTTON 0x00000001L
283#define BS_CHECKBOX 0x00000002L
284#define BS_AUTOCHECKBOX 0x00000003L
285#define BS_RADIOBUTTON 0x00000004L
286#define BS_3STATE 0x00000005L
287#define BS_AUTO3STATE 0x00000006L
288#define BS_GROUPBOX 0x00000007L
289#define BS_USERBUTTON 0x00000008L
290#define BS_AUTORADIOBUTTON 0x00000009L
291#define BS_OWNERDRAW 0x0000000BL
292#define BS_LEFTTEXT 0x00000020L
293#define BS_ICON 0x00000040L
294#define BS_BITMAP 0x00000080L
295
296#define BS_TEXT 0x00000000L
297#define BS_ICON 0x00000040L
298#define BS_BITMAP 0x00000080L
299#define BS_LEFT 0x00000100L
300#define BS_RIGHT 0x00000200L
301#define BS_CENTER 0x00000300L
302#define BS_TOP 0x00000400L
303#define BS_BOTTOM 0x00000800L
304#define BS_VCENTER 0x00000C00L
305#define BS_PUSHLIKE 0x00001000L
306#define BS_MULTILINE 0x00002000L
307#define BS_NOTIFY 0x00004000L
308#define BS_FLAT 0x00008000L
309
310/* Button control messages */
311
312#define BST_UNCHECKED 0x0000
313#define BST_CHECKED 0x0001
314#define BST_INDETERMINATE 0x0002
315#define BST_PUSHED 0x0004
316#define BST_FOCUS 0x0008
317
318 /* Dialog styles */
319#define DS_ABSALIGN 0x0001
320#define DS_SYSMODAL 0x0002
321#define DS_3DLOOK 0x0004 /* win95 */
322#define DS_FIXEDSYS 0x0008 /* win95 */
323#define DS_NOFAILCREATE 0x0010 /* win95 */
324#define DS_LOCALEDIT 0x0020
325#define DS_SETFONT 0x0040
326#define DS_MODALFRAME 0x0080
327#define DS_NOIDLEMSG 0x0100
328#define DS_SETFOREGROUND 0x0200 /* win95 */
329#define DS_CONTROL 0x0400 /* win95 */
330#define DS_CENTER 0x0800 /* win95 */
331#define DS_CENTERMOUSE 0x1000 /* win95 */
332#define DS_CONTEXTHELP 0x2000 /* win95 */
333
334
335 /* Dialog messages */
336#define DM_GETDEFID (WM_USER+0)
337#define DM_SETDEFID (WM_USER+1)
338#define DM_REPOSITION (WM_USER+2)
339
340#define DC_HASDEFID 0x534b
341
342/* Owner draw control types */
343#define ODT_MENU 1
344#define ODT_LISTBOX 2
345#define ODT_COMBOBOX 3
346#define ODT_BUTTON 4
347#define ODT_STATIC 5
348
349/* Owner draw actions */
350#define ODA_DRAWENTIRE 0x0001
351#define ODA_SELECT 0x0002
352#define ODA_FOCUS 0x0004
353
354/* Owner draw state */
355#define ODS_SELECTED 0x0001
356#define ODS_GRAYED 0x0002
357#define ODS_DISABLED 0x0004
358#define ODS_CHECKED 0x0008
359#define ODS_FOCUS 0x0010
360#define ODS_DEFAULT 0x0020
361#define ODS_COMBOBOXEDIT 0x1000
362#define ODS_HOTLIGHT 0x0040
363#define ODS_INACTIVE 0x0080
364#define ODS_NOACCEL 0x0100
365#define ODS_NOFOCUSRECT 0x0200
366
367/* Edit control styles */
368#define ES_LEFT 0x00000000
369#define ES_CENTER 0x00000001
370#define ES_RIGHT 0x00000002
371#define ES_MULTILINE 0x00000004
372#define ES_UPPERCASE 0x00000008
373#define ES_LOWERCASE 0x00000010
374#define ES_PASSWORD 0x00000020
375#define ES_AUTOVSCROLL 0x00000040
376#define ES_AUTOHSCROLL 0x00000080
377#define ES_NOHIDESEL 0x00000100
378#define ES_COMBO 0x00000200 /* Undocumented. Parent is a combobox */
379#define ES_OEMCONVERT 0x00000400
380#define ES_READONLY 0x00000800
381#define ES_WANTRETURN 0x00001000
382#define ES_NUMBER 0x00002000
383
384/* OEM Resource Ordinal Numbers */
385#define OBM_CLOSED 32731
386#define OBM_RADIOCHECK 32732
387#define OBM_TRTYPE 32733
388#define OBM_LFARROWI 32734
389#define OBM_RGARROWI 32735
390#define OBM_DNARROWI 32736
391#define OBM_UPARROWI 32737
392#define OBM_COMBO 32738
393#define OBM_MNARROW 32739
394#define OBM_LFARROWD 32740
395#define OBM_RGARROWD 32741
396#define OBM_DNARROWD 32742
397#define OBM_UPARROWD 32743
398#define OBM_RESTORED 32744
399#define OBM_ZOOMD 32745
400#define OBM_REDUCED 32746
401#define OBM_RESTORE 32747
402#define OBM_ZOOM 32748
403#define OBM_REDUCE 32749
404#define OBM_LFARROW 32750
405#define OBM_RGARROW 32751
406#define OBM_DNARROW 32752
407#define OBM_UPARROW 32753
408#define OBM_CLOSE 32754
409#define OBM_OLD_RESTORE 32755
410#define OBM_OLD_ZOOM 32756
411#define OBM_OLD_REDUCE 32757
412#define OBM_BTNCORNERS 32758
413#define OBM_CHECKBOXES 32759
414#define OBM_CHECK 32760
415#define OBM_BTSIZE 32761
416#define OBM_OLD_LFARROW 32762
417#define OBM_OLD_RGARROW 32763
418#define OBM_OLD_DNARROW 32764
419#define OBM_OLD_UPARROW 32765
420#define OBM_SIZE 32766
421#define OBM_OLD_CLOSE 32767
422
423//CB: Odin bitmaps -> unknown ID
424#define OBM_CONTEXTHELP 32730 //help button
425#define OBM_CONTEXTHELPD 32729 //pressed help button
426
427#define OCR_BUMMER 100
428#define OCR_DRAGOBJECT 101
429
430#define OCR_NORMAL 32512
431#define OCR_IBEAM 32513
432#define OCR_WAIT 32514
433#define OCR_CROSS 32515
434#define OCR_UP 32516
435#define OCR_SIZE 32640
436#define OCR_ICON 32641
437#define OCR_SIZENWSE 32642
438#define OCR_SIZENESW 32643
439#define OCR_SIZEWE 32644
440#define OCR_SIZENS 32645
441#define OCR_SIZEALL 32646
442#define OCR_ICOCUR 32647
443#define OCR_NO 32648
444#define OCR_HAND 32649
445#define OCR_APPSTARTING 32650
446#define OCR_HELP 32651 /* only defined in wine */
447
448#define OIC_SAMPLE 32512
449#define OIC_HAND 32513
450#define OIC_QUES 32514
451#define OIC_BANG 32515
452#define OIC_NOTE 32516
453#define OIC_PORTRAIT 32517
454#define OIC_LANDSCAPE 32518
455#define OIC_ODINICON 32519
456#define OIC_FOLDER 32520
457#define OIC_FOLDER2 32521
458#define OIC_FLOPPY 32522
459#define OIC_CDROM 32523
460#define OIC_HDISK 32524
461#define OIC_NETWORK 32525
462
463/* Edit control messages */
464#define EM_GETSEL 0x00b0
465#define EM_SETSEL 0x00b1
466#define EM_GETRECT 0x00b2
467#define EM_SETRECT 0x00b3
468#define EM_SETRECTNP 0x00b4
469#define EM_SCROLL 0x00b5
470#define EM_LINESCROLL 0x00b6
471#define EM_SCROLLCARET 0x00b7
472#define EM_GETMODIFY 0x00b8
473#define EM_SETMODIFY 0x00b9
474#define EM_GETLINECOUNT 0x00ba
475#define EM_LINEINDEX 0x00bb
476#define EM_SETHANDLE 0x00bc
477#define EM_GETHANDLE 0x00bd
478#define EM_GETTHUMB 0x00be
479/* FIXME : missing from specs 0x00bf and 0x00c0 */
480#define EM_LINELENGTH 0x00c1
481#define EM_REPLACESEL 0x00c2
482/* FIXME : missing from specs 0x00c3 */
483#define EM_GETLINE 0x00c4
484#define EM_LIMITTEXT 0x00c5
485#define EM_CANUNDO 0x00c6
486#define EM_UNDO 0x00c7
487#define EM_FMTLINES 0x00c8
488#define EM_LINEFROMCHAR 0x00c9
489/* FIXME : missing from specs 0x00ca */
490#define EM_SETTABSTOPS 0x00cb
491#define EM_SETPASSWORDCHAR 0x00cc
492#define EM_EMPTYUNDOBUFFER 0x00cd
493#define EM_GETFIRSTVISIBLELINE 0x00ce
494#define EM_SETREADONLY 0x00cf
495#define EM_SETWORDBREAKPROC 0x00d0
496#define EM_GETWORDBREAKPROC 0x00d1
497#define EM_GETPASSWORDCHAR 0x00d2
498#define EM_SETMARGINS 0x00d3
499#define EM_GETMARGINS 0x00d4
500#define EM_GETLIMITTEXT 0x00d5
501#define EM_POSFROMCHAR 0x00d6
502#define EM_CHARFROMPOS 0x00d7
503/* a name change since win95 */
504#define EM_SETLIMITTEXT EM_LIMITTEXT
505#define EM_SETIMESTATUS 0x00D8
506#define EM_GETIMESTATUS 0x00D9
507
508/* EDITWORDBREAKPROC code values */
509#define WB_LEFT 0
510#define WB_RIGHT 1
511#define WB_ISDELIMITER 2
512
513/* Edit control notification codes */
514#define EN_SETFOCUS 0x0100
515#define EN_KILLFOCUS 0x0200
516#define EN_CHANGE 0x0300
517#define EN_UPDATE 0x0400
518#define EN_ERRSPACE 0x0500
519#define EN_MAXTEXT 0x0501
520#define EN_HSCROLL 0x0601
521#define EN_VSCROLL 0x0602
522#define EN_ALIGN_LTR_EC 0x0700
523#define EN_ALIGN_RTL_EC 0x0701
524
525/* New since win95 : EM_SETMARGIN parameters */
526#define EC_LEFTMARGIN 0x0001
527#define EC_RIGHTMARGIN 0x0002
528#define EC_USEFONTINFO 0xffff
529
530/* wParam of EM_GET/SETIMESTATUS */
531#define EMSIS_COMPOSITIONSTRING 0x0001
532
533/* lParam for EMSIS_COMPOSITIONSTRING */
534#define EIMES_GETCOMPSTRATONCE 0x0001
535#define EIMES_CANCELCOMPSTRINFOCUS 0x0002
536#define EIMES_COMPLETECOMPSTRKILLFOCUS 0x0004
537
538/* Messages */
539
540 /* WM_GETDLGCODE values */
541
542
543#define WM_NULL 0x0000
544#define WM_CREATE 0x0001
545#define WM_DESTROY 0x0002
546#define WM_MOVE 0x0003
547#define WM_SIZEWAIT 0x0004
548#define WM_SIZE 0x0005
549#define WM_ACTIVATE 0x0006
550#define WM_SETFOCUS 0x0007
551#define WM_KILLFOCUS 0x0008
552#define WM_SETVISIBLE 0x0009
553#define WM_ENABLE 0x000a
554#define WM_SETREDRAW 0x000b
555#define WM_SETTEXT 0x000c
556#define WM_GETTEXT 0x000d
557#define WM_GETTEXTLENGTH 0x000e
558#define WM_PAINT 0x000f
559#define WM_CLOSE 0x0010
560#define WM_QUERYENDSESSION 0x0011
561#define WM_QUIT 0x0012
562#define WM_QUERYOPEN 0x0013
563#define WM_ERASEBKGND 0x0014
564#define WM_SYSCOLORCHANGE 0x0015
565#define WM_ENDSESSION 0x0016
566#define WM_SYSTEMERROR 0x0017
567#define WM_SHOWWINDOW 0x0018
568#define WM_CTLCOLOR 0x0019
569#define WM_WININICHANGE 0x001a
570#define WM_SETTINGCHANGE WM_WININICHANGE
571#define WM_DEVMODECHANGE 0x001b
572#define WM_ACTIVATEAPP 0x001c
573#define WM_FONTCHANGE 0x001d
574#define WM_TIMECHANGE 0x001e
575#define WM_CANCELMODE 0x001f
576#define WM_SETCURSOR 0x0020
577#define WM_MOUSEACTIVATE 0x0021
578#define WM_CHILDACTIVATE 0x0022
579#define WM_QUEUESYNC 0x0023
580#define WM_GETMINMAXINFO 0x0024
581
582#define WM_PAINTICON 0x0026
583#define WM_ICONERASEBKGND 0x0027
584#define WM_NEXTDLGCTL 0x0028
585#define WM_ALTTABACTIVE 0x0029
586#define WM_SPOOLERSTATUS 0x002a
587#define WM_DRAWITEM 0x002b
588#define WM_MEASUREITEM 0x002c
589#define WM_DELETEITEM 0x002d
590#define WM_VKEYTOITEM 0x002e
591#define WM_CHARTOITEM 0x002f
592#define WM_SETFONT 0x0030
593#define WM_GETFONT 0x0031
594#define WM_SETHOTKEY 0x0032
595#define WM_GETHOTKEY 0x0033
596#define WM_FILESYSCHANGE 0x0034
597#define WM_ISACTIVEICON 0x0035
598#define WM_QUERYPARKICON 0x0036
599#define WM_QUERYDRAGICON 0x0037
600#define WM_QUERYSAVESTATE 0x0038
601#define WM_COMPAREITEM 0x0039
602#define WM_TESTING 0x003a
603#define WM_GETOBJECT 0x003D
604
605#define WM_OTHERWINDOWCREATED 0x003c
606#define WM_OTHERWINDOWDESTROYED 0x003d
607#define WM_ACTIVATESHELLWINDOW 0x003e
608
609#define WM_COMPACTING 0x0041
610
611#define WM_COMMNOTIFY 0x0044
612#define WM_WINDOWPOSCHANGING 0x0046
613#define WM_WINDOWPOSCHANGED 0x0047
614#define WM_POWER 0x0048
615
616 /* Win32 4.0 messages */
617#define WM_COPYDATA 0x004a
618#define WM_CANCELJOURNAL 0x004b
619#define WM_NOTIFY 0x004e
620#define WM_INPUTLANGCHANGEREQUEST 0x0050
621#define WM_INPUTLANGCHANGE 0x0051
622#define WM_TCARD 0x0052
623#define WM_HELP 0x0053
624#define WM_USERCHANGED 0x0054
625#define WM_HELP 0x0053
626#define WM_NOTIFYFORMAT 0x0055
627
628#define WM_CONTEXTMENU 0x007b
629#define WM_STYLECHANGING 0x007c
630#define WM_STYLECHANGED 0x007d
631#define WM_DISPLAYCHANGE 0x007e
632#define WM_GETICON 0x007f
633#define WM_SETICON 0x0080
634
635 /* Non-client system messages */
636#define WM_NCCREATE 0x0081
637#define WM_NCDESTROY 0x0082
638#define WM_NCCALCSIZE 0x0083
639#define WM_NCHITTEST 0x0084
640#define WM_NCPAINT 0x0085
641#define WM_NCACTIVATE 0x0086
642
643#define WM_GETDLGCODE 0x0087
644#define WM_SYNCPAINT 0x0088
645#define WM_SYNCTASK 0x0089
646
647 /* Non-client mouse messages */
648#define WM_NCMOUSEMOVE 0x00a0
649#define WM_NCLBUTTONDOWN 0x00a1
650#define WM_NCLBUTTONUP 0x00a2
651#define WM_NCLBUTTONDBLCLK 0x00a3
652#define WM_NCRBUTTONDOWN 0x00a4
653#define WM_NCRBUTTONUP 0x00a5
654#define WM_NCRBUTTONDBLCLK 0x00a6
655#define WM_NCMBUTTONDOWN 0x00a7
656#define WM_NCMBUTTONUP 0x00a8
657#define WM_NCMBUTTONDBLCLK 0x00a9
658
659 /* Keyboard messages */
660#define WM_KEYDOWN 0x0100
661#define WM_KEYUP 0x0101
662#define WM_CHAR 0x0102
663#define WM_DEADCHAR 0x0103
664#define WM_SYSKEYDOWN 0x0104
665#define WM_SYSKEYUP 0x0105
666#define WM_SYSCHAR 0x0106
667#define WM_SYSDEADCHAR 0x0107
668#define WM_KEYFIRST WM_KEYDOWN
669#define WM_KEYLAST 0x0108
670
671#define WM_IME_STARTCOMPOSITION 0x010D
672#define WM_IME_ENDCOMPOSITION 0x010E
673#define WM_IME_COMPOSITION 0x010F
674#define WM_IME_KEYLAST 0x010F
675
676#define WM_INITDIALOG 0x0110
677#define WM_COMMAND 0x0111
678#define WM_SYSCOMMAND 0x0112
679#define WM_TIMER 0x0113
680#define WM_SYSTIMER 0x0118
681
682 /* scroll messages */
683#define WM_HSCROLL 0x0114
684#define WM_VSCROLL 0x0115
685
686/* Menu messages */
687#define WM_INITMENU 0x0116
688#define WM_INITMENUPOPUP 0x0117
689
690#define WM_MENUSELECT 0x011F
691#define WM_MENUCHAR 0x0120
692#define WM_ENTERIDLE 0x0121
693#define WM_MENURBUTTONUP 0x0122
694#define WM_MENUDRAG 0x0123
695#define WM_MENUGETOBJECT 0x0124
696#define WM_UNINITMENUPOPUP 0x0125
697#define WM_MENUCOMMAND 0x0126
698
699#define WM_KEYBOARDCUES 0x0127
700
701#define WM_LBTRACKPOINT 0x0131
702
703 /* Win32 CTLCOLOR messages */
704#define WM_CTLCOLORMSGBOX 0x0132
705#define WM_CTLCOLOREDIT 0x0133
706#define WM_CTLCOLORLISTBOX 0x0134
707#define WM_CTLCOLORBTN 0x0135
708#define WM_CTLCOLORDLG 0x0136
709#define WM_CTLCOLORSCROLLBAR 0x0137
710#define WM_CTLCOLORSTATIC 0x0138
711
712 /* Mouse messages */
713#define WM_MOUSEMOVE 0x0200
714#define WM_LBUTTONDOWN 0x0201
715#define WM_LBUTTONUP 0x0202
716#define WM_LBUTTONDBLCLK 0x0203
717#define WM_RBUTTONDOWN 0x0204
718#define WM_RBUTTONUP 0x0205
719#define WM_RBUTTONDBLCLK 0x0206
720#define WM_MBUTTONDOWN 0x0207
721#define WM_MBUTTONUP 0x0208
722#define WM_MBUTTONDBLCLK 0x0209
723#define WM_MOUSEWHEEL 0x020A
724#define WM_MOUSEFIRST WM_MOUSEMOVE
725#define WM_MOUSELAST WM_MOUSEWHEEL
726
727#define WHEEL_DELTA 120
728#define WHEEL_PAGESCROLL (UINT_MAX)
729
730#define WM_PARENTNOTIFY 0x0210
731#define WM_ENTERMENULOOP 0x0211
732#define WM_EXITMENULOOP 0x0212
733#define WM_NEXTMENU 0x0213
734
735 /* Win32 4.0 messages */
736#define WM_SIZING 0x0214
737#define WM_CAPTURECHANGED 0x0215
738#define WM_MOVING 0x0216
739
740#define WM_POWERBROADCAST 0x0218
741#define WM_DEVICECHANGE 0x0219
742
743/* wParam for WM_POWERBROADCAST */
744#define PBT_APMQUERYSUSPEND 0x0000
745#define PBT_APMQUERYSTANDBY 0x0001
746#define PBT_APMQUERYSUSPENDFAILED 0x0002
747#define PBT_APMQUERYSTANDBYFAILED 0x0003
748#define PBT_APMSUSPEND 0x0004
749#define PBT_APMSTANDBY 0x0005
750#define PBT_APMRESUMECRITICAL 0x0006
751#define PBT_APMRESUMESUSPEND 0x0007
752#define PBT_APMRESUMESTANDBY 0x0008
753#define PBTF_APMRESUMEFROMFAILURE 0x0001
754#define PBT_APMBATTERYLOW 0x0009
755#define PBT_APMPOWERSTATUSCHANGE 0x000A
756#define PBT_APMOEMEVENT 0x000B
757#define PBT_APMRESUMEAUTOMATIC 0x0012
758
759/* wParam for WM_SIZING message */
760#define WMSZ_LEFT 1
761#define WMSZ_RIGHT 2
762#define WMSZ_TOP 3
763#define WMSZ_TOPLEFT 4
764#define WMSZ_TOPRIGHT 5
765#define WMSZ_BOTTOM 6
766#define WMSZ_BOTTOMLEFT 7
767#define WMSZ_BOTTOMRIGHT 8
768
769 /* MDI messages */
770#define WM_MDICREATE 0x0220
771#define WM_MDIDESTROY 0x0221
772#define WM_MDIACTIVATE 0x0222
773#define WM_MDIRESTORE 0x0223
774#define WM_MDINEXT 0x0224
775#define WM_MDIMAXIMIZE 0x0225
776#define WM_MDITILE 0x0226
777#define WM_MDICASCADE 0x0227
778#define WM_MDIICONARRANGE 0x0228
779#define WM_MDIGETACTIVE 0x0229
780#define WM_MDIREFRESHMENU 0x0234
781
782 /* D&D messages */
783#define WM_DROPOBJECT 0x022A
784#define WM_QUERYDROPOBJECT 0x022B
785#define WM_BEGINDRAG 0x022C
786#define WM_DRAGLOOP 0x022D
787#define WM_DRAGSELECT 0x022E
788#define WM_DRAGMOVE 0x022F
789#define WM_MDISETMENU 0x0230
790
791#define WM_ENTERSIZEMOVE 0x0231
792#define WM_EXITSIZEMOVE 0x0232
793#define WM_DROPFILES 0x0233
794
795
796/*
797 * DROPFILES for CF_HDROP and CF_PRINTERS
798 */
799typedef struct _DROPFILES
800{
801 DWORD pFiles;
802 POINT pt;
803 BOOL fNC;
804 BOOL fWide;
805} DROPFILES;
806
807#define WM_IME_SETCONTEXT 0x0281
808#define WM_IME_NOTIFY 0x0282
809#define WM_IME_CONTROL 0x0283
810#define WM_IME_COMPOSITIONFULL 0x0284
811#define WM_IME_SELECT 0x0285
812#define WM_IME_CHAR 0x0286
813#define WM_IME_REQUEST 0x0288
814#define WM_IME_KEYDOWN 0x0290
815#define WM_IME_KEYUP 0x0291
816
817#define WM_MOUSEHOVER 0x02A1
818#define WM_MOUSELEAVE 0x02A3
819#define WM_NCMOUSEHOVER 0x02A0
820#define WM_NCMOUSELEAVE 0x02A2
821
822#define TME_HOVER 0x00000001
823#define TME_LEAVE 0x00000002
824#define TME_QUERY 0x40000000
825#define TME_CANCEL 0x80000000
826
827#define HOVER_DEFAULT 0xFFFFFFFF
828
829typedef struct tagTRACKMOUSEEVENT {
830 DWORD cbSize;
831 DWORD dwFlags;
832 HWND hwndTrack;
833 DWORD dwHoverTime;
834} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
835
836#define WM_CUT 0x0300
837#define WM_COPY 0x0301
838#define WM_PASTE 0x0302
839#define WM_CLEAR 0x0303
840#define WM_UNDO 0x0304
841#define WM_RENDERFORMAT 0x0305
842#define WM_RENDERALLFORMATS 0x0306
843#define WM_DESTROYCLIPBOARD 0x0307
844#define WM_DRAWCLIPBOARD 0x0308
845#define WM_PAINTCLIPBOARD 0x0309
846#define WM_VSCROLLCLIPBOARD 0x030A
847#define WM_SIZECLIPBOARD 0x030B
848#define WM_ASKCBFORMATNAME 0x030C
849#define WM_CHANGECBCHAIN 0x030D
850#define WM_HSCROLLCLIPBOARD 0x030E
851#define WM_QUERYNEWPALETTE 0x030F
852#define WM_PALETTEISCHANGING 0x0310
853#define WM_PALETTECHANGED 0x0311
854#define WM_HOTKEY 0x0312
855
856#define WM_PRINT 0x0317
857#define WM_PRINTCLIENT 0x0318
858
859#define WM_HANDHELDFIRST 0x0358
860#define WM_HANDHELDLAST 0x035F
861
862#define WM_AFXFIRST 0x0360
863#define WM_FORWARDMSG 0x037F
864#define WM_AFXLAST 0x037F
865
866#define WM_PENWINFIRST 0x0380
867#define WM_PENWINLAST 0x038F
868
869#define WM_APP 0x8000
870
871 /* FIXME: This does not belong to any libwine interface header */
872 /* MFC messages [360-38f] */
873
874#define WM_QUERYAFXWNDPROC 0x0360
875#define WM_SIZEPARENT 0x0361
876#define WM_SETMESSAGESTRING 0x0362
877#define WM_IDLEUPDATECMDUI 0x0363
878#define WM_INITIALUPDATE 0x0364
879#define WM_COMMANDHELP 0x0365
880#define WM_HELPHITTEST 0x0366
881#define WM_EXITHELPMODE 0x0367
882#define WM_RECALCPARENT 0x0368
883#define WM_SIZECHILD 0x0369
884#define WM_KICKIDLE 0x036A
885#define WM_QUERYCENTERWND 0x036B
886#define WM_DISABLEMODAL 0x036C
887#define WM_FLOATSTATUS 0x036D
888#define WM_ACTIVATETOPLEVEL 0x036E
889#define WM_QUERY3DCONTROLS 0x036F
890#define WM_SOCKET_NOTIFY 0x0373
891#define WM_SOCKET_DEAD 0x0374
892#define WM_POPMESSAGESTRING 0x0375
893#define WM_OCC_LOADFROMSTREAM 0x0376
894#define WM_OCC_LOADFROMSTORAGE 0x0377
895#define WM_OCC_INITNEW 0x0378
896#define WM_OCC_LOADFROMSTREAM_EX 0x037A
897#define WM_OCC_LOADFROMSTORAGE_EX 0x037B
898#define WM_QUEUE_SENTINEL 0x0379
899
900#define WM_PENWINFIRST 0x0380
901#define WM_PENWINLAST 0x038F
902
903/* end of MFC messages */
904
905 /* FIXME: This does not belong to any libwine interface header */
906#define WM_COALESCE_FIRST 0x0390
907#define WM_COALESCE_LAST 0x039F
908
909
910
911#define DLGC_WANTARROWS 0x0001
912#define DLGC_WANTTAB 0x0002
913#define DLGC_WANTALLKEYS 0x0004
914#define DLGC_WANTMESSAGE 0x0004
915#define DLGC_HASSETSEL 0x0008
916#define DLGC_DEFPUSHBUTTON 0x0010
917#define DLGC_UNDEFPUSHBUTTON 0x0020
918#define DLGC_RADIOBUTTON 0x0040
919#define DLGC_WANTCHARS 0x0080
920#define DLGC_STATIC 0x0100
921#define DLGC_BUTTON 0x2000
922
923/* Standard dialog button IDs */
924#define IDOK 1
925#define IDCANCEL 2
926#define IDABORT 3
927#define IDRETRY 4
928#define IDIGNORE 5
929#define IDYES 6
930#define IDNO 7
931#define IDCLOSE 8
932#define IDHELP 9
933
934/****** Window classes ******/
935
936typedef struct tagCREATESTRUCTA
937{
938 LPVOID lpCreateParams;
939 HINSTANCE hInstance;
940 HMENU hMenu;
941 HWND hwndParent;
942 INT cy;
943 INT cx;
944 INT y;
945 INT x;
946 LONG style;
947 LPCSTR lpszName;
948 LPCSTR lpszClass;
949 DWORD dwExStyle;
950} CREATESTRUCTA, *LPCREATESTRUCTA;
951
952typedef struct
953{
954 LPVOID lpCreateParams;
955 HINSTANCE hInstance;
956 HMENU hMenu;
957 HWND hwndParent;
958 INT cy;
959 INT cx;
960 INT y;
961 INT x;
962 LONG style;
963 LPCWSTR lpszName;
964 LPCWSTR lpszClass;
965 DWORD dwExStyle;
966} CREATESTRUCTW, *LPCREATESTRUCTW;
967
968DECL_WINELIB_TYPE_AW(CREATESTRUCT)
969DECL_WINELIB_TYPE_AW(LPCREATESTRUCT)
970
971typedef struct
972{
973 HMENU hWindowMenu;
974 UINT idFirstChild;
975} CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
976
977
978typedef struct
979{
980 LPCSTR szClass;
981 LPCSTR szTitle;
982 HINSTANCE hOwner;
983 INT x;
984 INT y;
985 INT cx;
986 INT cy;
987 DWORD style;
988 LPARAM lParam;
989} MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
990
991typedef struct
992{
993 LPCWSTR szClass;
994 LPCWSTR szTitle;
995 HINSTANCE hOwner;
996 INT x;
997 INT y;
998 INT cx;
999 INT cy;
1000 DWORD style;
1001 LPARAM lParam;
1002} MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
1003
1004DECL_WINELIB_TYPE_AW(MDICREATESTRUCT)
1005DECL_WINELIB_TYPE_AW(LPMDICREATESTRUCT)
1006
1007#define MDITILE_VERTICAL 0x0000
1008#define MDITILE_HORIZONTAL 0x0001
1009#define MDITILE_SKIPDISABLED 0x0002
1010
1011#define MDIS_ALLCHILDSTYLES 0x0001
1012
1013typedef struct {
1014 DWORD styleOld;
1015 DWORD styleNew;
1016} STYLESTRUCT, *LPSTYLESTRUCT;
1017
1018 /* Offsets for GetWindowLong() and GetWindowWord() */
1019#define GWL_USERDATA (-21)
1020#define GWL_EXSTYLE (-20)
1021#define GWL_STYLE (-16)
1022#define GWW_ID (-12)
1023#define GWL_ID GWW_ID
1024#define GWW_HWNDPARENT (-8)
1025#define GWL_HWNDPARENT GWW_HWNDPARENT
1026#define GWW_HINSTANCE (-6)
1027#define GWL_HINSTANCE GWW_HINSTANCE
1028#define GWL_WNDPROC (-4)
1029#define DWL_MSGRESULT 0
1030#define DWL_DLGPROC 4
1031#define DWL_USER 8
1032
1033 /* GetWindow() constants */
1034#define GW_HWNDFIRST 0
1035#define GW_HWNDLAST 1
1036#define GW_HWNDNEXT 2
1037#define GW_HWNDPREV 3
1038#define GW_OWNER 4
1039#define GW_CHILD 5
1040
1041/* GetAncestor() constants */
1042#define GA_PARENT 1
1043#define GA_ROOT 2
1044#define GA_ROOTOWNER 3
1045
1046 /* WM_GETMINMAXINFO struct */
1047typedef struct
1048{
1049 POINT ptReserved;
1050 POINT ptMaxSize;
1051 POINT ptMaxPosition;
1052 POINT ptMinTrackSize;
1053 POINT ptMaxTrackSize;
1054} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;
1055
1056
1057 /* RedrawWindow() flags */
1058#define RDW_INVALIDATE 0x0001
1059#define RDW_INTERNALPAINT 0x0002
1060#define RDW_ERASE 0x0004
1061#define RDW_VALIDATE 0x0008
1062#define RDW_NOINTERNALPAINT 0x0010
1063#define RDW_NOERASE 0x0020
1064#define RDW_NOCHILDREN 0x0040
1065#define RDW_ALLCHILDREN 0x0080
1066#define RDW_UPDATENOW 0x0100
1067#define RDW_ERASENOW 0x0200
1068#define RDW_FRAME 0x0400
1069#define RDW_NOFRAME 0x0800
1070
1071/* debug flags */
1072#define DBGFILL_ALLOC 0xfd
1073#define DBGFILL_FREE 0xfb
1074#define DBGFILL_BUFFER 0xf9
1075#define DBGFILL_STACK 0xf7
1076
1077 /* WM_WINDOWPOSCHANGING/CHANGED struct */
1078typedef struct tagWINDOWPOS
1079{
1080 HWND hwnd;
1081 HWND hwndInsertAfter;
1082 INT x;
1083 INT y;
1084 INT cx;
1085 INT cy;
1086 UINT flags;
1087} WINDOWPOS, *PWINDOWPOS, *LPWINDOWPOS;
1088
1089
1090 /* WM_MOUSEACTIVATE return values */
1091#define MA_ACTIVATE 1
1092#define MA_ACTIVATEANDEAT 2
1093#define MA_NOACTIVATE 3
1094#define MA_NOACTIVATEANDEAT 4
1095
1096 /* WM_ACTIVATE wParam values */
1097#define WA_INACTIVE 0
1098#define WA_ACTIVE 1
1099#define WA_CLICKACTIVE 2
1100
1101/* WM_GETICON/WM_SETICON params values */
1102#define ICON_SMALL 0
1103#define ICON_BIG 1
1104
1105 /* WM_NCCALCSIZE parameter structure */
1106typedef struct
1107{
1108 RECT rgrc[3];
1109 WINDOWPOS *lppos;
1110} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
1111
1112
1113 /* WM_NCCALCSIZE return flags */
1114#define WVR_ALIGNTOP 0x0010
1115#define WVR_ALIGNLEFT 0x0020
1116#define WVR_ALIGNBOTTOM 0x0040
1117#define WVR_ALIGNRIGHT 0x0080
1118#define WVR_HREDRAW 0x0100
1119#define WVR_VREDRAW 0x0200
1120#define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW)
1121#define WVR_VALIDRECTS 0x0400
1122
1123 /* WM_NCHITTEST return codes */
1124#define HTERROR (-2)
1125#define HTTRANSPARENT (-1)
1126#define HTNOWHERE 0
1127#define HTCLIENT 1
1128#define HTCAPTION 2
1129#define HTSYSMENU 3
1130#define HTSIZE 4
1131#define HTMENU 5
1132#define HTHSCROLL 6
1133#define HTVSCROLL 7
1134#define HTMINBUTTON 8
1135#define HTMAXBUTTON 9
1136#define HTLEFT 10
1137#define HTRIGHT 11
1138#define HTTOP 12
1139#define HTTOPLEFT 13
1140#define HTTOPRIGHT 14
1141#define HTBOTTOM 15
1142#define HTBOTTOMLEFT 16
1143#define HTBOTTOMRIGHT 17
1144#define HTBORDER 18
1145#define HTGROWBOX HTSIZE
1146#define HTREDUCE HTMINBUTTON
1147#define HTZOOM HTMAXBUTTON
1148#define HTOBJECT 19
1149#define HTCLOSE 20
1150#define HTHELP 21
1151#define HTSIZEFIRST HTLEFT
1152#define HTSIZELAST HTBOTTOMRIGHT
1153
1154/* SendMessageTimeout flags */
1155#define SMTO_NORMAL 0x0000
1156#define SMTO_BLOCK 0x0001
1157#define SMTO_ABORTIFHUNG 0x0002
1158#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
1159
1160 /* WM_SYSCOMMAND parameters */
1161#ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */
1162#undef SC_SIZE
1163#endif
1164#define SC_SIZE 0xf000
1165#define SC_MOVE 0xf010
1166#define SC_MINIMIZE 0xf020
1167#define SC_MAXIMIZE 0xf030
1168#define SC_NEXTWINDOW 0xf040
1169#define SC_PREVWINDOW 0xf050
1170#define SC_CLOSE 0xf060
1171#define SC_VSCROLL 0xf070
1172#define SC_HSCROLL 0xf080
1173#define SC_MOUSEMENU 0xf090
1174#define SC_KEYMENU 0xf100
1175#define SC_ARRANGE 0xf110
1176#define SC_RESTORE 0xf120
1177#define SC_TASKLIST 0xf130
1178#define SC_SCREENSAVE 0xf140
1179#define SC_HOTKEY 0xf150
1180#define SC_DEFAULT 0xF160
1181#define SC_MONITORPOWER 0xF170
1182#define SC_CONTEXTHELP 0xF180
1183#define SC_SEPARATOR 0xF00F
1184
1185#define SC_ABOUTODIN (SC_SCREENSAVE+1) /* This value has been used in sysres_EN.rc */
1186#define SC_PUTMARK (SC_SCREENSAVE+2)
1187#define SC_DEBUGINT3 (SC_SCREENSAVE+3)
1188
1189#define CS_VREDRAW 0x0001
1190#define CS_HREDRAW 0x0002
1191#define CS_KEYCVTWINDOW 0x0004
1192#define CS_DBLCLKS 0x0008
1193#define CS_OWNDC 0x0020
1194#define CS_CLASSDC 0x0040
1195#define CS_PARENTDC 0x0080
1196#define CS_NOKEYCVT 0x0100
1197#define CS_NOCLOSE 0x0200
1198#define CS_SAVEBITS 0x0800
1199#define CS_BYTEALIGNCLIENT 0x1000
1200#define CS_BYTEALIGNWINDOW 0x2000
1201#define CS_GLOBALCLASS 0x4000
1202
1203#define PRF_CHECKVISIBLE 0x00000001L
1204#define PRF_NONCLIENT 0x00000002L
1205#define PRF_CLIENT 0x00000004L
1206#define PRF_ERASEBKGND 0x00000008L
1207#define PRF_CHILDREN 0x00000010L
1208#define PRF_OWNED 0x00000020L
1209
1210 /* Offsets for GetClassLong() and GetClassWord() */
1211#define GCL_MENUNAME (-8)
1212#define GCW_HBRBACKGROUND (-10)
1213#define GCL_HBRBACKGROUND GCW_HBRBACKGROUND
1214#define GCW_HCURSOR (-12)
1215#define GCL_HCURSOR GCW_HCURSOR
1216#define GCW_HICON (-14)
1217#define GCL_HICON GCW_HICON
1218#define GCW_HMODULE (-16)
1219#define GCL_HMODULE GCW_HMODULE
1220#define GCW_CBWNDEXTRA (-18)
1221#define GCL_CBWNDEXTRA GCW_CBWNDEXTRA
1222#define GCW_CBCLSEXTRA (-20)
1223#define GCL_CBCLSEXTRA GCW_CBCLSEXTRA
1224#define GCL_WNDPROC (-24)
1225#define GCW_STYLE (-26)
1226#define GCL_STYLE GCW_STYLE
1227#define GCW_ATOM (-32)
1228#define GCW_HICONSM (-34)
1229#define GCL_HICONSM GCW_HICONSM
1230
1231#ifndef NOWINOFFSETS
1232#define GCW_HBRBACKGROUND (-10)
1233#endif
1234
1235
1236/***** Window hooks *****/
1237
1238 /* Hook values */
1239#define WH_MIN (-1)
1240#define WH_MSGFILTER (-1)
1241#define WH_JOURNALRECORD 0
1242#define WH_JOURNALPLAYBACK 1
1243#define WH_KEYBOARD 2
1244#define WH_GETMESSAGE 3
1245#define WH_CALLWNDPROC 4
1246#define WH_CBT 5
1247#define WH_SYSMSGFILTER 6
1248#define WH_MOUSE 7
1249#define WH_HARDWARE 8
1250#define WH_DEBUG 9
1251#define WH_SHELL 10
1252#define WH_FOREGROUNDIDLE 11
1253#define WH_CALLWNDPROCRET 12
1254#define WH_KEYBOARD_LL 13
1255#define WH_MOUSE_LL 14
1256#define WH_MAX 14
1257
1258#define WH_MINHOOK WH_MIN
1259#define WH_MAXHOOK WH_MAX
1260#define WH_NB_HOOKS (WH_MAXHOOK-WH_MINHOOK+1)
1261
1262 /* Hook action codes */
1263#define HC_ACTION 0
1264#define HC_GETNEXT 1
1265#define HC_SKIP 2
1266#define HC_NOREMOVE 3
1267#define HC_NOREM HC_NOREMOVE
1268#define HC_SYSMODALON 4
1269#define HC_SYSMODALOFF 5
1270
1271 /* CallMsgFilter() values */
1272#define MSGF_DIALOGBOX 0
1273#define MSGF_MESSAGEBOX 1
1274#define MSGF_MENU 2
1275#define MSGF_MOVE 3
1276#define MSGF_SIZE 4
1277#define MSGF_SCROLLBAR 5
1278#define MSGF_NEXTWINDOW 6
1279#define MSGF_MAINLOOP 8
1280#define MSGF_MAX 8
1281#define MSGF_USER 4096
1282
1283typedef struct
1284{
1285 UINT style;
1286 WNDPROC lpfnWndProc;
1287 INT cbClsExtra;
1288 INT cbWndExtra;
1289 HINSTANCE hInstance;
1290 HICON hIcon;
1291 HCURSOR hCursor;
1292 HBRUSH hbrBackground;
1293 LPCSTR lpszMenuName;
1294 LPCSTR lpszClassName;
1295} WNDCLASSA, *LPWNDCLASSA;
1296
1297typedef struct
1298{
1299 UINT style;
1300 WNDPROC lpfnWndProc;
1301 INT cbClsExtra;
1302 INT cbWndExtra;
1303 HINSTANCE hInstance;
1304 HICON hIcon;
1305 HCURSOR hCursor;
1306 HBRUSH hbrBackground;
1307 LPCWSTR lpszMenuName;
1308 LPCWSTR lpszClassName;
1309} WNDCLASSW, *LPWNDCLASSW;
1310
1311DECL_WINELIB_TYPE_AW(WNDCLASS)
1312DECL_WINELIB_TYPE_AW(LPWNDCLASS)
1313
1314typedef struct {
1315 DWORD dwData;
1316 DWORD cbData;
1317 LPVOID lpData;
1318} COPYDATASTRUCT, *PCOPYDATASTRUCT, *LPCOPYDATASTRUCT;
1319
1320typedef struct {
1321 HMENU hmenuIn;
1322 HMENU hmenuNext;
1323 HWND hwndNext;
1324} MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
1325
1326/* WinHelp internal structure */
1327typedef struct {
1328 WORD size;
1329 WORD command;
1330 LONG data;
1331 LONG reserved;
1332 WORD ofsFilename;
1333 WORD ofsData;
1334} WINHELP,*LPWINHELP;
1335
1336typedef struct
1337{
1338 UINT16 mkSize;
1339 BYTE mkKeyList;
1340 BYTE szKeyPhrase[1];
1341} MULTIKEYHELP, *LPMULTIKEYHELP;
1342
1343typedef struct {
1344 WORD wStructSize;
1345 WORD x;
1346 WORD y;
1347 WORD dx;
1348 WORD dy;
1349 WORD wMax;
1350 char rgchMember[2];
1351} HELPWININFO, *LPHELPWININFO;
1352
1353#define HELP_CONTEXT 0x0001
1354#define HELP_QUIT 0x0002
1355#define HELP_INDEX 0x0003
1356#define HELP_CONTENTS 0x0003
1357#define HELP_HELPONHELP 0x0004
1358#define HELP_SETINDEX 0x0005
1359#define HELP_SETCONTENTS 0x0005
1360#define HELP_CONTEXTPOPUP 0x0008
1361#define HELP_FORCEFILE 0x0009
1362#define HELP_KEY 0x0101
1363#define HELP_COMMAND 0x0102
1364#define HELP_PARTIALKEY 0x0105
1365#define HELP_MULTIKEY 0x0201
1366#define HELP_SETWINPOS 0x0203
1367#define HELP_CONTEXTMENU 0x000a
1368#define HELP_FINDER 0x000b
1369#define HELP_WM_HELP 0x000c
1370#define HELP_SETPOPUP_POS 0x000d
1371
1372#define HELP_TCARD 0x8000
1373#define HELP_TCARD_DATA 0x0010
1374#define HELP_TCARD_OTHER_CALLER 0x0011
1375
1376/* ChangeDisplaySettings flags */
1377#define CDS_UPDATEREGISTRY 0x00000001
1378#define CDS_TEST 0x00000002
1379#define CDS_FULLSCREEN 0x00000004
1380#define CDS_GLOBAL 0x00000008
1381#define CDS_SET_PRIMARY 0x00000010
1382#define CDS_VIDEOPARAMETERS 0x00000020
1383#define CDS_RESET 0x40000000
1384#define CDS_NORESET 0x10000000
1385
1386/* ChangeDisplaySettings return codes */
1387#define DISP_CHANGE_SUCCESSFUL 0
1388#define DISP_CHANGE_RESTART 1
1389#define DISP_CHANGE_FAILED (-1)
1390#define DISP_CHANGE_BADMODE (-2)
1391#define DISP_CHANGE_NOTUPDATED (-3)
1392#define DISP_CHANGE_BADFLAGS (-4)
1393
1394/* flags to FormatMessage */
1395#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
1396#define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200
1397#define FORMAT_MESSAGE_FROM_STRING 0x00000400
1398#define FORMAT_MESSAGE_FROM_HMODULE 0x00000800
1399#define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000
1400#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
1401#define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
1402
1403typedef struct
1404{
1405 UINT cbSize;
1406 UINT style;
1407 WNDPROC lpfnWndProc;
1408 INT cbClsExtra;
1409 INT cbWndExtra;
1410 HINSTANCE hInstance;
1411 HICON hIcon;
1412 HCURSOR hCursor;
1413 HBRUSH hbrBackground;
1414 LPCSTR lpszMenuName;
1415 LPCSTR lpszClassName;
1416 HICON hIconSm;
1417} WNDCLASSEXA, *LPWNDCLASSEXA;
1418
1419typedef struct
1420{
1421 UINT cbSize;
1422 UINT style;
1423 WNDPROC lpfnWndProc;
1424 INT cbClsExtra;
1425 INT cbWndExtra;
1426 HINSTANCE hInstance;
1427 HICON hIcon;
1428 HCURSOR hCursor;
1429 HBRUSH hbrBackground;
1430 LPCWSTR lpszMenuName;
1431 LPCWSTR lpszClassName;
1432 HICON hIconSm;
1433} WNDCLASSEXW, *LPWNDCLASSEXW;
1434
1435DECL_WINELIB_TYPE_AW(WNDCLASSEX)
1436DECL_WINELIB_TYPE_AW(LPWNDCLASSEX)
1437
1438typedef struct
1439{
1440 HWND hwnd;
1441 UINT message;
1442 WPARAM wParam;
1443 LPARAM lParam;
1444 DWORD time;
1445 POINT pt;
1446} MSG, *PMSG, *NPMSG, *LPMSG;
1447
1448#define POINTSTOPOINT(pt, pts) \
1449 { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts); \
1450 (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); }
1451
1452#define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y)))
1453
1454
1455/* Cursors / Icons */
1456
1457typedef struct {
1458 BOOL fIcon;
1459 DWORD xHotspot;
1460 DWORD yHotspot;
1461 HBITMAP hbmMask;
1462 HBITMAP hbmColor;
1463} ICONINFO, *PICONINFO, *LPICONINFO;
1464
1465
1466/* this is the 6 byte accel struct used in Win32 when presented to the user */
1467typedef struct
1468{
1469 BYTE fVirt;
1470 BYTE pad0;
1471 WORD key;
1472 WORD cmd;
1473} ACCEL, *LPACCEL;
1474
1475/* this is the 8 byte accel struct used in Win32 resources (internal only) */
1476typedef struct
1477{
1478 BYTE fVirt;
1479 BYTE pad0;
1480 WORD key;
1481 WORD cmd;
1482 WORD pad1;
1483} PE_ACCEL, *LPPE_ACCEL;
1484
1485
1486/* Flags for TrackPopupMenu */
1487#define TPM_LEFTBUTTON 0x0000
1488#define TPM_RIGHTBUTTON 0x0002
1489#define TPM_LEFTALIGN 0x0000
1490#define TPM_CENTERALIGN 0x0004
1491#define TPM_RIGHTALIGN 0x0008
1492#define TPM_TOPALIGN 0x0000
1493#define TPM_VCENTERALIGN 0x0010
1494#define TPM_BOTTOMALIGN 0x0020
1495#define TPM_HORIZONTAL 0x0000
1496#define TPM_VERTICAL 0x0040
1497#define TPM_NONOTIFY 0x0080
1498#define TPM_RETURNCMD 0x0100
1499
1500/* return codes for WM_MENUCHAR */
1501#define MNC_IGNORE 0
1502#define MNC_CLOSE 1
1503#define MNC_EXECUTE 2
1504#define MNC_SELECT 3
1505
1506typedef struct
1507{
1508 UINT cbSize;
1509 RECT rcExclude;
1510} TPMPARAMS, *LPTPMPARAMS;
1511
1512/*
1513 * Combobox information
1514 */
1515typedef struct tagCOMBOBOXINFO
1516{
1517 DWORD cbSize;
1518 RECT rcItem;
1519 RECT rcButton;
1520 DWORD stateButton;
1521 HWND hwndCombo;
1522 HWND hwndItem;
1523 HWND hwndList;
1524} COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
1525
1526/* FIXME: not sure this one is correct */
1527typedef struct {
1528 UINT cbSize;
1529 UINT fMask;
1530 UINT fType;
1531 UINT fState;
1532 UINT wID;
1533 HMENU hSubMenu;
1534 HBITMAP hbmpChecked;
1535 HBITMAP hbmpUnchecked;
1536 DWORD dwItemData;
1537 LPSTR dwTypeData;
1538 UINT cch;
1539 HBITMAP hbmpItem;
1540} MENUITEMINFOA, *LPMENUITEMINFOA;
1541
1542typedef struct {
1543 UINT cbSize;
1544 UINT fMask;
1545 UINT fType;
1546 UINT fState;
1547 UINT wID;
1548 HMENU hSubMenu;
1549 HBITMAP hbmpChecked;
1550 HBITMAP hbmpUnchecked;
1551 DWORD dwItemData;
1552 LPWSTR dwTypeData;
1553 UINT cch;
1554 HBITMAP hbmpItem;
1555} MENUITEMINFOW, *LPMENUITEMINFOW;
1556
1557typedef const LPMENUITEMINFOA LPCMENUITEMINFOA;
1558typedef const LPMENUITEMINFOW LPCMENUITEMINFOW;
1559
1560DECL_WINELIB_TYPE_AW(MENUITEMINFO)
1561DECL_WINELIB_TYPE_AW(LPMENUITEMINFO)
1562
1563typedef struct {
1564 DWORD cbSize;
1565 DWORD fMask;
1566 DWORD dwStyle;
1567 UINT cyMax;
1568 HBRUSH hbrBack;
1569 DWORD dwContextHelpID;
1570 DWORD dwMenuData;
1571} MENUINFO, *LPMENUINFO;
1572
1573typedef MENUINFO const * LPCMENUINFO;
1574
1575#define MIM_MAXHEIGHT 0x00000001
1576#define MIM_BACKGROUND 0x00000002
1577#define MIM_HELPID 0x00000004
1578#define MIM_MENUDATA 0x00000008
1579#define MIM_STYLE 0x00000010
1580#define MIM_APPLYTOSUBMENUS 0x80000000
1581
1582typedef struct {
1583 WORD versionNumber;
1584 WORD offset;
1585} MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;
1586
1587
1588typedef struct {
1589 WORD mtOption;
1590 WORD mtID;
1591 WCHAR mtString[1];
1592} MENUITEMTEMPLATE, *PMENUITEMTEMPLATE;
1593
1594
1595typedef VOID MENUTEMPLATE;
1596typedef PVOID *LPMENUTEMPLATE;
1597
1598/* Field specifiers for MENUITEMINFO[AW] type. */
1599#define MIIM_STATE 0x00000001
1600#define MIIM_ID 0x00000002
1601#define MIIM_SUBMENU 0x00000004
1602#define MIIM_CHECKMARKS 0x00000008
1603#define MIIM_TYPE 0x00000010
1604#define MIIM_DATA 0x00000020
1605#define MIIM_STRING 0x00000040
1606#define MIIM_BITMAP 0x00000080
1607#define MIIM_FTYPE 0x00000100
1608
1609#define HBMMENU_CALLBACK ((HBITMAP) -1)
1610#define HBMMENU_SYSTEM ((HBITMAP) 1)
1611#define HBMMENU_MBAR_RESTORE ((HBITMAP) 2)
1612#define HBMMENU_MBAR_MINIMIZE ((HBITMAP) 3)
1613#define HBMMENU_MBAR_CLOSE ((HBITMAP) 5)
1614#define HBMMENU_MBAR_CLOSE_D ((HBITMAP) 6)
1615#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP) 7)
1616#define HBMMENU_POPUP_CLOSE ((HBITMAP) 8)
1617#define HBMMENU_POPUP_RESTORE ((HBITMAP) 9)
1618#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10)
1619#define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11)
1620
1621/* DrawState defines ... */
1622typedef BOOL (* CALLBACK DRAWSTATEPROC)(HDC,LPARAM,WPARAM,INT,INT);
1623
1624/* WM_H/VSCROLL commands */
1625#define SB_LINEUP 0
1626#define SB_LINELEFT 0
1627#define SB_LINEDOWN 1
1628#define SB_LINERIGHT 1
1629#define SB_PAGEUP 2
1630#define SB_PAGELEFT 2
1631#define SB_PAGEDOWN 3
1632#define SB_PAGERIGHT 3
1633#define SB_THUMBPOSITION 4
1634#define SB_THUMBTRACK 5
1635#define SB_TOP 6
1636#define SB_LEFT 6
1637#define SB_BOTTOM 7
1638#define SB_RIGHT 7
1639#define SB_ENDSCROLL 8
1640
1641/* Scroll bar selection constants */
1642#define SB_HORZ 0
1643#define SB_VERT 1
1644#define SB_CTL 2
1645#define SB_BOTH 3
1646
1647/* Scrollbar styles */
1648#define SBS_HORZ 0x0000L
1649#define SBS_VERT 0x0001L
1650#define SBS_TOPALIGN 0x0002L
1651#define SBS_LEFTALIGN 0x0002L
1652#define SBS_BOTTOMALIGN 0x0004L
1653#define SBS_RIGHTALIGN 0x0004L
1654#define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
1655#define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
1656#define SBS_SIZEBOX 0x0008L
1657#define SBS_SIZEGRIP 0x0010L
1658
1659/* EnableScrollBar() flags */
1660#define ESB_ENABLE_BOTH 0x0000
1661#define ESB_DISABLE_BOTH 0x0003
1662
1663#define ESB_DISABLE_LEFT 0x0001
1664#define ESB_DISABLE_RIGHT 0x0002
1665
1666#define ESB_DISABLE_UP 0x0001
1667#define ESB_DISABLE_DOWN 0x0002
1668
1669#define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
1670#define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
1671
1672/* Win32 button control messages */
1673#define BM_GETCHECK 0x00f0
1674#define BM_SETCHECK 0x00f1
1675#define BM_GETSTATE 0x00f2
1676#define BM_SETSTATE 0x00f3
1677#define BM_SETSTYLE 0x00f4
1678#define BM_CLICK 0x00f5
1679#define BM_GETIMAGE 0x00f6
1680#define BM_SETIMAGE 0x00f7
1681/* Winelib button control messages */
1682
1683/* Button notification codes */
1684#define BN_CLICKED 0
1685#define BN_PAINT 1
1686#define BN_HILITE 2
1687#define BN_UNHILITE 3
1688#define BN_DISABLE 4
1689#define BN_DOUBLECLICKED 5
1690#define BN_PUSHED BN_HILITE
1691#define BN_UNPUSHED BN_UNHILITE
1692#define BN_DBLCLK BN_DOUBLECLICKED
1693#define BN_SETFOCUS 6
1694#define BN_KILLFOCUS 7
1695
1696/* Button states */
1697#define BST_UNCHECKED 0x0000
1698#define BST_CHECKED 0x0001
1699#define BST_INDETERMINATE 0x0002
1700#define BST_PUSHED 0x0004
1701#define BST_FOCUS 0x0008
1702
1703/* Static Control Styles */
1704#define SS_LEFT 0x00000000L
1705#define SS_CENTER 0x00000001L
1706#define SS_RIGHT 0x00000002L
1707#define SS_ICON 0x00000003L
1708#define SS_BLACKRECT 0x00000004L
1709#define SS_GRAYRECT 0x00000005L
1710#define SS_WHITERECT 0x00000006L
1711#define SS_BLACKFRAME 0x00000007L
1712#define SS_GRAYFRAME 0x00000008L
1713#define SS_WHITEFRAME 0x00000009L
1714#define SS_USERITEM 0x0000000AL
1715#define SS_SIMPLE 0x0000000BL
1716#define SS_LEFTNOWORDWRAP 0x0000000CL
1717
1718#define SS_OWNERDRAW 0x0000000DL
1719#define SS_BITMAP 0x0000000EL
1720#define SS_ENHMETAFILE 0x0000000FL
1721
1722#define SS_ETCHEDHORZ 0x00000010L
1723#define SS_ETCHEDVERT 0x00000011L
1724#define SS_ETCHEDFRAME 0x00000012L
1725#define SS_TYPEMASK 0x0000001FL
1726
1727#define SS_NOPREFIX 0x00000080L
1728#define SS_NOTIFY 0x00000100L
1729#define SS_CENTERIMAGE 0x00000200L
1730#define SS_RIGHTJUST 0x00000400L
1731#define SS_REALSIZEIMAGE 0x00000800L
1732#define SS_SUNKEN 0x00001000L
1733#define SS_ENDELLIPSIS 0x00004000L
1734#define SS_PATHELLIPSIS 0x00008000L
1735#define SS_WORDELLIPSIS 0x0000C000L
1736#define SS_ELLIPSISMASK 0x0000C000L
1737
1738/* Static Control Messages */
1739#define STM_SETICON 0x0170
1740#define STM_GETICON 0x0171
1741#define STM_SETIMAGE 0x0172
1742#define STM_GETIMAGE 0x0173
1743#define STM_MSGMAX 0x0174
1744
1745#define STN_CLICKED 0
1746#define STN_DBLCLK 1
1747#define STN_ENABLE 2
1748#define STN_DISABLE 3
1749
1750/* Scrollbar messages */
1751#define SBM_SETPOS 0x00e0
1752#define SBM_GETPOS 0x00e1
1753#define SBM_SETRANGE 0x00e2
1754#define SBM_GETRANGE 0x00e3
1755#define SBM_ENABLE_ARROWS 0x00e4
1756#define SBM_SETRANGEREDRAW 0x00e6
1757#define SBM_SETSCROLLINFO 0x00e9
1758#define SBM_GETSCROLLINFO 0x00ea
1759
1760/* Scrollbar info */
1761typedef struct
1762{
1763 UINT cbSize;
1764 UINT fMask;
1765 INT nMin;
1766 INT nMax;
1767 UINT nPage;
1768 INT nPos;
1769 INT nTrackPos;
1770} SCROLLINFO, *LPSCROLLINFO;
1771typedef SCROLLINFO CONST *LPCSCROLLINFO;
1772
1773/* GetScrollInfo() flags */
1774#define SIF_RANGE 0x0001
1775#define SIF_PAGE 0x0002
1776#define SIF_POS 0x0004
1777#define SIF_DISABLENOSCROLL 0x0008
1778#define SIF_TRACKPOS 0x0010
1779#define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
1780
1781/* Scrollbar information */
1782
1783#define CCHILDREN_SCROLLBAR 5
1784
1785typedef struct tagSCROLLBARINFO
1786{
1787 DWORD cbSize;
1788 RECT rcScrollBar;
1789 int dxyLineButton;
1790 int xyThumbTop;
1791 int xyThumbBottom;
1792 int bogus;
1793 DWORD rgstate[CCHILDREN_SCROLLBAR+1];
1794} SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
1795
1796/* Listbox styles */
1797#define LBS_NOTIFY 0x0001
1798#define LBS_SORT 0x0002
1799#define LBS_NOREDRAW 0x0004
1800#define LBS_MULTIPLESEL 0x0008
1801#define LBS_OWNERDRAWFIXED 0x0010
1802#define LBS_OWNERDRAWVARIABLE 0x0020
1803#define LBS_HASSTRINGS 0x0040
1804#define LBS_USETABSTOPS 0x0080
1805#define LBS_NOINTEGRALHEIGHT 0x0100
1806#define LBS_MULTICOLUMN 0x0200
1807#define LBS_WANTKEYBOARDINPUT 0x0400
1808#define LBS_EXTENDEDSEL 0x0800
1809#define LBS_DISABLENOSCROLL 0x1000
1810#define LBS_NODATA 0x2000
1811#define LBS_NOSEL 0x4000
1812#define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
1813
1814/* Listbox messages */
1815#define LB_ADDSTRING 0x0180
1816#define LB_INSERTSTRING 0x0181
1817#define LB_DELETESTRING 0x0182
1818#define LB_SELITEMRANGEEX 0x0183
1819#define LB_RESETCONTENT 0x0184
1820#define LB_SETSEL 0x0185
1821#define LB_SETCURSEL 0x0186
1822#define LB_GETSEL 0x0187
1823#define LB_GETCURSEL 0x0188
1824#define LB_GETTEXT 0x0189
1825#define LB_GETTEXTLEN 0x018a
1826#define LB_GETCOUNT 0x018b
1827#define LB_SELECTSTRING 0x018c
1828#define LB_DIR 0x018d
1829#define LB_GETTOPINDEX 0x018e
1830#define LB_FINDSTRING 0x018f
1831#define LB_GETSELCOUNT 0x0190
1832#define LB_GETSELITEMS 0x0191
1833#define LB_SETTABSTOPS 0x0192
1834#define LB_GETHORIZONTALEXTENT 0x0193
1835#define LB_SETHORIZONTALEXTENT 0x0194
1836#define LB_SETCOLUMNWIDTH 0x0195
1837#define LB_ADDFILE 0x0196
1838#define LB_SETTOPINDEX 0x0197
1839#define LB_GETITEMRECT 0x0198
1840#define LB_GETITEMDATA 0x0199
1841#define LB_SETITEMDATA 0x019a
1842#define LB_SELITEMRANGE 0x019b
1843#define LB_SETANCHORINDEX 0x019c
1844#define LB_GETANCHORINDEX 0x019d
1845#define LB_SETCARETINDEX 0x019e
1846#define LB_GETCARETINDEX 0x019f
1847#define LB_SETITEMHEIGHT 0x01a0
1848#define LB_GETITEMHEIGHT 0x01a1
1849#define LB_FINDSTRINGEXACT 0x01a2
1850#define LB_CARETON 0x01a3
1851#define LB_CARETOFF 0x01a4
1852#define LB_SETLOCALE 0x01a5
1853#define LB_GETLOCALE 0x01a6
1854#define LB_SETCOUNT 0x01a7
1855#define LB_INITSTORAGE 0x01a8
1856#define LB_ITEMFROMPOINT 0x01a9
1857
1858/* Listbox notification codes */
1859#define LBN_ERRSPACE (-2)
1860#define LBN_SELCHANGE 1
1861#define LBN_DBLCLK 2
1862#define LBN_SELCANCEL 3
1863#define LBN_SETFOCUS 4
1864#define LBN_KILLFOCUS 5
1865
1866/* Listbox message return values */
1867#define LB_OKAY 0
1868#define LB_ERR (-1)
1869#define LB_ERRSPACE (-2)
1870
1871#define LB_CTLCODE 0L
1872
1873/* Combo box styles */
1874#define CBS_SIMPLE 0x0001L
1875#define CBS_DROPDOWN 0x0002L
1876#define CBS_DROPDOWNLIST 0x0003L
1877#define CBS_OWNERDRAWFIXED 0x0010L
1878#define CBS_OWNERDRAWVARIABLE 0x0020L
1879#define CBS_AUTOHSCROLL 0x0040L
1880#define CBS_OEMCONVERT 0x0080L
1881#define CBS_SORT 0x0100L
1882#define CBS_HASSTRINGS 0x0200L
1883#define CBS_NOINTEGRALHEIGHT 0x0400L
1884#define CBS_DISABLENOSCROLL 0x0800L
1885
1886#define CBS_UPPERCASE 0x2000L
1887#define CBS_LOWERCASE 0x4000L
1888
1889
1890/* Combo box messages */
1891#define CB_GETEDITSEL 0x0140
1892#define CB_LIMITTEXT 0x0141
1893#define CB_SETEDITSEL 0x0142
1894#define CB_ADDSTRING 0x0143
1895#define CB_DELETESTRING 0x0144
1896#define CB_DIR 0x0145
1897#define CB_GETCOUNT 0x0146
1898#define CB_GETCURSEL 0x0147
1899#define CB_GETLBTEXT 0x0148
1900#define CB_GETLBTEXTLEN 0x0149
1901#define CB_INSERTSTRING 0x014a
1902#define CB_RESETCONTENT 0x014b
1903#define CB_FINDSTRING 0x014c
1904#define CB_SELECTSTRING 0x014d
1905#define CB_SETCURSEL 0x014e
1906#define CB_SHOWDROPDOWN 0x014f
1907#define CB_GETITEMDATA 0x0150
1908#define CB_SETITEMDATA 0x0151
1909#define CB_GETDROPPEDCONTROLRECT 0x0152
1910#define CB_SETITEMHEIGHT 0x0153
1911#define CB_GETITEMHEIGHT 0x0154
1912#define CB_SETEXTENDEDUI 0x0155
1913#define CB_GETEXTENDEDUI 0x0156
1914#define CB_GETDROPPEDSTATE 0x0157
1915#define CB_FINDSTRINGEXACT 0x0158
1916#define CB_SETLOCALE 0x0159
1917#define CB_GETLOCALE 0x015a
1918#define CB_GETTOPINDEX 0x015b
1919#define CB_SETTOPINDEX 0x015c
1920#define CB_GETHORIZONTALEXTENT 0x015d
1921#define CB_SETHORIZONTALEXTENT 0x015e
1922#define CB_GETDROPPEDWIDTH 0x015f
1923#define CB_SETDROPPEDWIDTH 0x0160
1924#define CB_INITSTORAGE 0x0161
1925#define CB_GETCOMBOBOXINFO 0x0164
1926
1927/* Combo box notification codes */
1928#define CBN_ERRSPACE (-1)
1929#define CBN_SELCHANGE 1
1930#define CBN_DBLCLK 2
1931#define CBN_SETFOCUS 3
1932#define CBN_KILLFOCUS 4
1933#define CBN_EDITCHANGE 5
1934#define CBN_EDITUPDATE 6
1935#define CBN_DROPDOWN 7
1936#define CBN_CLOSEUP 8
1937#define CBN_SELENDOK 9
1938#define CBN_SELENDCANCEL 10
1939
1940/* Combo box message return values */
1941#define CB_OKAY 0
1942#define CB_ERR (-1)
1943#define CB_ERRSPACE (-2)
1944
1945#define MB_OK 0x00000000
1946#define MB_OKCANCEL 0x00000001
1947#define MB_ABORTRETRYIGNORE 0x00000002
1948#define MB_YESNOCANCEL 0x00000003
1949#define MB_YESNO 0x00000004
1950#define MB_RETRYCANCEL 0x00000005
1951#define MB_TYPEMASK 0x0000000F
1952
1953#define MB_ICONHAND 0x00000010
1954#define MB_ICONQUESTION 0x00000020
1955#define MB_ICONEXCLAMATION 0x00000030
1956#define MB_ICONASTERISK 0x00000040
1957#define MB_USERICON 0x00000080
1958#define MB_ICONMASK 0x000000F0
1959
1960#define MB_ICONINFORMATION MB_ICONASTERISK
1961#define MB_ICONSTOP MB_ICONHAND
1962#define MB_ICONWARNING MB_ICONEXCLAMATION
1963#define MB_ICONERROR MB_ICONHAND
1964
1965#define MB_DEFBUTTON1 0x00000000
1966#define MB_DEFBUTTON2 0x00000100
1967#define MB_DEFBUTTON3 0x00000200
1968#define MB_DEFBUTTON4 0x00000300
1969#define MB_DEFMASK 0x00000F00
1970
1971#define MB_APPLMODAL 0x00000000
1972#define MB_SYSTEMMODAL 0x00001000
1973#define MB_TASKMODAL 0x00002000
1974#define MB_MODEMASK 0x00003000
1975
1976#define MB_HELP 0x00004000
1977#define MB_NOFOCUS 0x00008000
1978#define MB_MISCMASK 0x0000C000
1979
1980#define MB_SETFOREGROUND 0x00010000
1981#define MB_DEFAULT_DESKTOP_ONLY 0x00020000
1982#define MB_SERVICE_NOTIFICATION 0x00040000
1983#define MB_TOPMOST 0x00040000
1984#define MB_RIGHT 0x00080000
1985#define MB_RTLREADING 0x00100000
1986
1987#define HELPINFO_WINDOW 0x0001
1988#define HELPINFO_MENUITEM 0x0002
1989
1990/* Structure pointed to by lParam of WM_HELP */
1991typedef struct
1992{
1993 UINT cbSize; /* Size in bytes of this struct */
1994 INT iContextType; /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
1995 INT iCtrlId; /* Control Id or a Menu item Id. */
1996 HANDLE hItemHandle; /* hWnd of control or hMenu. */
1997 DWORD dwContextId; /* Context Id associated with this item */
1998 POINT MousePos; /* Mouse Position in screen co-ordinates */
1999} HELPINFO,*LPHELPINFO;
2000
2001typedef void (* CALLBACK MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
2002
2003typedef struct
2004{
2005 UINT cbSize;
2006 HWND hwndOwner;
2007 HINSTANCE hInstance;
2008 LPCSTR lpszText;
2009 LPCSTR lpszCaption;
2010 DWORD dwStyle;
2011 LPCSTR lpszIcon;
2012 DWORD dwContextHelpId;
2013 MSGBOXCALLBACK lpfnMsgBoxCallback;
2014 DWORD dwLanguageId;
2015} MSGBOXPARAMSA,*LPMSGBOXPARAMSA;
2016
2017typedef struct
2018{
2019 UINT cbSize;
2020 HWND hwndOwner;
2021 HINSTANCE hInstance;
2022 LPCWSTR lpszText;
2023 LPCWSTR lpszCaption;
2024 DWORD dwStyle;
2025 LPCWSTR lpszIcon;
2026 DWORD dwContextHelpId;
2027 MSGBOXCALLBACK lpfnMsgBoxCallback;
2028 DWORD dwLanguageId;
2029} MSGBOXPARAMSW,*LPMSGBOXPARAMSW;
2030
2031DECL_WINELIB_TYPE_AW(MSGBOXPARAMS)
2032DECL_WINELIB_TYPE_AW(LPMSGBOXPARAMS)
2033
2034#define MONITOR_DEFAULTTONULL 0x00000000
2035#define MONITOR_DEFAULTTOPRIMARY 0x00000001
2036#define MONITOR_DEFAULTTONEAREST 0x00000002
2037
2038#define MONITORINFOF_PRIMARY 0x00000001
2039
2040typedef struct tagMONITORINFO
2041{
2042 DWORD cbSize;
2043 RECT rcMonitor;
2044 RECT rcWork;
2045 DWORD dwFlags;
2046} MONITORINFO, *LPMONITORINFO;
2047
2048typedef struct tagMONITORINFOEXA
2049{
2050 MONITORINFO dummy;
2051 CHAR szDevice[CCHDEVICENAME];
2052} MONITORINFOEXA, *LPMONITORINFOEXA;
2053
2054typedef struct tagMONITORINFOEXW
2055{
2056 MONITORINFO dummy;
2057 WCHAR szDevice[CCHDEVICENAME];
2058} MONITORINFOEXW, *LPMONITORINFOEXW;
2059
2060DECL_WINELIB_TYPE_AW(MONITORINFOEX)
2061DECL_WINELIB_TYPE_AW(LPMONITORINFOEX)
2062
2063typedef BOOL (* CALLBACK MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
2064
2065/* FIXME: use this instead of LPCVOID for CreateDialogIndirectParam
2066 and DialogBoxIndirectParam */
2067typedef struct tagDLGTEMPLATE
2068{
2069 DWORD style;
2070 DWORD dwExtendedStyle;
2071 WORD cdit;
2072 short x;
2073 short y;
2074 short cx;
2075 short cy;
2076} DLGTEMPLATE;
2077
2078typedef DLGTEMPLATE *LPDLGTEMPLATEA;
2079typedef DLGTEMPLATE *LPDLGTEMPLATEW;
2080#define LPDLGTEMPLATE WINELIB_NAME_AW(LPDLGTEMPLATE)
2081typedef const DLGTEMPLATE *LPCDLGTEMPLATEA;
2082typedef const DLGTEMPLATE *LPCDLGTEMPLATEW;
2083#define LPCDLGTEMPLATE WINELIB_NAME_AW(LPCDLGTEMPLATE)
2084
2085typedef struct tagDLGITEMTEMPLATE
2086{
2087 DWORD style;
2088 DWORD dwExtendedStyle;
2089 short x;
2090 short y;
2091 short cx;
2092 short cy;
2093 WORD id;
2094} DLGITEMTEMPLATE;
2095
2096typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
2097typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
2098#define LPDLGITEMTEMPLATE WINELIB_NAME_AW(LPDLGITEMTEMPLATE)
2099typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATEA;
2100typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATEW;
2101#define LPCDLGITEMTEMPLATE WINELIB_NAME_AW(LPCDLGITEMTEMPLATE)
2102
2103
2104 /* CBT hook values */
2105#define HCBT_MOVESIZE 0
2106#define HCBT_MINMAX 1
2107#define HCBT_QS 2
2108#define HCBT_CREATEWND 3
2109#define HCBT_DESTROYWND 4
2110#define HCBT_ACTIVATE 5
2111#define HCBT_CLICKSKIPPED 6
2112#define HCBT_KEYSKIPPED 7
2113#define HCBT_SYSCOMMAND 8
2114#define HCBT_SETFOCUS 9
2115
2116 /* CBT hook structures */
2117
2118typedef struct
2119{
2120 CREATESTRUCTA *lpcs;
2121 HWND hwndInsertAfter;
2122} CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
2123
2124typedef struct
2125{
2126 CREATESTRUCTW *lpcs;
2127 HWND hwndInsertAfter;
2128} CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
2129
2130DECL_WINELIB_TYPE_AW(CBT_CREATEWND)
2131DECL_WINELIB_TYPE_AW(LPCBT_CREATEWND)
2132
2133typedef struct
2134{
2135 BOOL fMouse;
2136 HWND hWndActive;
2137} CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
2138
2139
2140/* modifiers for RegisterHotKey */
2141#define MOD_ALT 0x0001
2142#define MOD_CONTROL 0x0002
2143#define MOD_SHIFT 0x0004
2144#define MOD_WIN 0x0008
2145
2146/* ids for RegisterHotKey */
2147#define IDHOT_SNAPWINDOW (-1) /* SHIFT-PRINTSCRN */
2148#define IDHOT_SNAPDESKTOP (-2) /* PRINTSCRN */
2149
2150 /* keybd_event flags */
2151#define KEYEVENTF_EXTENDEDKEY 0x0001
2152#define KEYEVENTF_KEYUP 0x0002
2153#define KEYEVENTF_SCANCODE 0x0004 // @@@PH check this
2154#define KEYEVENTF_UNICODE 0x0008 // @@@PH check this
2155#define KEYEVENTF_WINE_FORCEEXTENDED 0x8000
2156
2157 /* mouse_event flags */
2158#define MOUSEEVENTF_MOVE 0x0001
2159#define MOUSEEVENTF_LEFTDOWN 0x0002
2160#define MOUSEEVENTF_LEFTUP 0x0004
2161#define MOUSEEVENTF_RIGHTDOWN 0x0008
2162#define MOUSEEVENTF_RIGHTUP 0x0010
2163#define MOUSEEVENTF_MIDDLEDOWN 0x0020
2164#define MOUSEEVENTF_MIDDLEUP 0x0040
2165#define MOUSEEVENTF_WHEEL 0x0800
2166#define MOUSEEVENTF_ABSOLUTE 0x8000
2167
2168/* ExitWindows() flags */
2169#define EW_RESTARTWINDOWS 0x0042
2170#define EW_REBOOTSYSTEM 0x0043
2171#define EW_EXITANDEXECAPP 0x0044
2172
2173/* ExitWindowsEx() flags */
2174#define EWX_LOGOFF 0
2175#define EWX_SHUTDOWN 1
2176#define EWX_REBOOT 2
2177#define EWX_FORCE 4
2178#define EWX_POWEROFF 8
2179
2180/* SetLastErrorEx types */
2181#define SLE_ERROR 0x00000001
2182#define SLE_MINORERROR 0x00000002
2183#define SLE_WARNING 0x00000003
2184
2185/* Predefined resources */
2186#define IDI_APPLICATIONA MAKEINTRESOURCEA(32512)
2187#define IDI_APPLICATIONW MAKEINTRESOURCEW(32512)
2188#define IDI_APPLICATION WINELIB_NAME_AW(IDI_APPLICATION)
2189#define IDI_HANDA MAKEINTRESOURCEA(32513)
2190#define IDI_HANDW MAKEINTRESOURCEW(32513)
2191#define IDI_HAND WINELIB_NAME_AW(IDI_HAND)
2192#define IDI_QUESTIONA MAKEINTRESOURCEA(32514)
2193#define IDI_QUESTIONW MAKEINTRESOURCEW(32514)
2194#define IDI_QUESTION WINELIB_NAME_AW(IDI_QUESTION)
2195#define IDI_EXCLAMATIONA MAKEINTRESOURCEA(32515)
2196#define IDI_EXCLAMATIONW MAKEINTRESOURCEW(32515)
2197#define IDI_EXCLAMATION WINELIB_NAME_AW(IDI_EXCLAMATION)
2198#define IDI_ASTERISKA MAKEINTRESOURCEA(32516)
2199#define IDI_ASTERISKW MAKEINTRESOURCEW(32516)
2200#define IDI_ASTERISK WINELIB_NAME_AW(IDI_ASTERISK)
2201#define IDI_WINLOGOA MAKEINTRESOURCEA(32517)
2202#define IDI_WINLOGOW MAKEINTRESOURCEW(32517)
2203#define IDI_WINLOGO WINELIB_NAME_AW(IDI_WINLOGO)
2204#define IDI_WARNING IDI_EXCLAMATION
2205#define IDI_ERROR IDI_HAND
2206#define IDI_INFORMATION IDI_ASTERISK
2207
2208#define IDC_BUMMERA MAKEINTRESOURCEA(100)
2209#define IDC_BUMMERW MAKEINTRESOURCEW(100)
2210#define IDC_BUMMER WINELIB_NAME_AW(IDC_BUMMER)
2211#define IDC_ARROWA MAKEINTRESOURCEA(32512)
2212#define IDC_ARROWW MAKEINTRESOURCEW(32512)
2213#define IDC_ARROW WINELIB_NAME_AW(IDC_ARROW)
2214#define IDC_IBEAMA MAKEINTRESOURCEA(32513)
2215#define IDC_IBEAMW MAKEINTRESOURCEW(32513)
2216#define IDC_IBEAM WINELIB_NAME_AW(IDC_IBEAM)
2217#define IDC_WAITA MAKEINTRESOURCEA(32514)
2218#define IDC_WAITW MAKEINTRESOURCEW(32514)
2219#define IDC_WAIT WINELIB_NAME_AW(IDC_WAIT)
2220#define IDC_CROSSA MAKEINTRESOURCEA(32515)
2221#define IDC_CROSSW MAKEINTRESOURCEW(32515)
2222#define IDC_CROSS WINELIB_NAME_AW(IDC_CROSS)
2223#define IDC_UPARROWA MAKEINTRESOURCEA(32516)
2224#define IDC_UPARROWW MAKEINTRESOURCEW(32516)
2225#define IDC_UPARROW WINELIB_NAME_AW(IDC_UPARROW)
2226#define IDC_SIZEA MAKEINTRESOURCEA(32640)
2227#define IDC_SIZEW MAKEINTRESOURCEW(32640)
2228#define IDC_SIZE WINELIB_NAME_AW(IDC_SIZE)
2229#define IDC_ICONA MAKEINTRESOURCEA(32641)
2230#define IDC_ICONW MAKEINTRESOURCEW(32641)
2231#define IDC_ICON WINELIB_NAME_AW(IDC_ICON)
2232#define IDC_SIZENWSEA MAKEINTRESOURCEA(32642)
2233#define IDC_SIZENWSEW MAKEINTRESOURCEW(32642)
2234#define IDC_SIZENWSE WINELIB_NAME_AW(IDC_SIZENWSE)
2235#define IDC_SIZENESWA MAKEINTRESOURCEA(32643)
2236#define IDC_SIZENESWW MAKEINTRESOURCEW(32643)
2237#define IDC_SIZENESW WINELIB_NAME_AW(IDC_SIZENESW)
2238#define IDC_SIZEWEA MAKEINTRESOURCEA(32644)
2239#define IDC_SIZEWEW MAKEINTRESOURCEW(32644)
2240#define IDC_SIZEWE WINELIB_NAME_AW(IDC_SIZEWE)
2241#define IDC_SIZENSA MAKEINTRESOURCEA(32645)
2242#define IDC_SIZENSW MAKEINTRESOURCEW(32645)
2243#define IDC_SIZENS WINELIB_NAME_AW(IDC_SIZENS)
2244#define IDC_SIZEALLA MAKEINTRESOURCEA(32646)
2245#define IDC_SIZEALLW MAKEINTRESOURCEW(32646)
2246#define IDC_SIZEALL WINELIB_NAME_AW(IDC_SIZEALL)
2247#define IDC_NOA MAKEINTRESOURCEA(32648)
2248#define IDC_NOW MAKEINTRESOURCEW(32648)
2249#define IDC_NO WINELIB_NAME_AW(IDC_NO)
2250#define IDC_APPSTARTINGA MAKEINTRESOURCEA(32650)
2251#define IDC_APPSTARTINGW MAKEINTRESOURCEW(32650)
2252#define IDC_APPSTARTING WINELIB_NAME_AW(IDC_APPSTARTING)
2253#define IDC_HELPA MAKEINTRESOURCEA(32651)
2254#define IDC_HELPW MAKEINTRESOURCEW(32651)
2255#define IDC_HELP WINELIB_NAME_AW(IDC_HELP)
2256
2257/* SystemParametersInfo */
2258/* defines below are for all win versions */
2259#define SPI_GETBEEP 1
2260#define SPI_SETBEEP 2
2261#define SPI_GETMOUSE 3
2262#define SPI_SETMOUSE 4
2263#define SPI_GETBORDER 5
2264#define SPI_SETBORDER 6
2265#define SPI_GETKEYBOARDSPEED 10
2266#define SPI_SETKEYBOARDSPEED 11
2267#define SPI_LANGDRIVER 12
2268#define SPI_ICONHORIZONTALSPACING 13
2269#define SPI_GETSCREENSAVETIMEOUT 14
2270#define SPI_SETSCREENSAVETIMEOUT 15
2271#define SPI_GETSCREENSAVEACTIVE 16
2272#define SPI_SETSCREENSAVEACTIVE 17
2273#define SPI_GETGRIDGRANULARITY 18
2274#define SPI_SETGRIDGRANULARITY 19
2275#define SPI_SETDESKWALLPAPER 20
2276#define SPI_SETDESKPATTERN 21
2277#define SPI_GETKEYBOARDDELAY 22
2278#define SPI_SETKEYBOARDDELAY 23
2279#define SPI_ICONVERTICALSPACING 24
2280#define SPI_GETICONTITLEWRAP 25
2281#define SPI_SETICONTITLEWRAP 26
2282#define SPI_GETMENUDROPALIGNMENT 27
2283#define SPI_SETMENUDROPALIGNMENT 28
2284#define SPI_SETDOUBLECLKWIDTH 29
2285#define SPI_SETDOUBLECLKHEIGHT 30
2286#define SPI_GETICONTITLELOGFONT 31
2287#define SPI_SETDOUBLECLICKTIME 32
2288#define SPI_SETMOUSEBUTTONSWAP 33
2289#define SPI_SETICONTITLELOGFONT 34
2290#define SPI_GETFASTTASKSWITCH 35
2291#define SPI_SETFASTTASKSWITCH 36
2292#define SPI_SETDRAGFULLWINDOWS 37
2293#define SPI_GETDRAGFULLWINDOWS 38
2294
2295#define SPI_GETFILTERKEYS 50
2296#define SPI_SETFILTERKEYS 51
2297#define SPI_GETTOGGLEKEYS 52
2298#define SPI_SETTOGGLEKEYS 53
2299#define SPI_GETMOUSEKEYS 54
2300#define SPI_SETMOUSEKEYS 55
2301#define SPI_GETSHOWSOUNDS 56
2302#define SPI_SETSHOWSOUNDS 57
2303#define SPI_GETSTICKYKEYS 58
2304#define SPI_SETSTICKYKEYS 59
2305#define SPI_GETACCESSTIMEOUT 60
2306#define SPI_SETACCESSTIMEOUT 61
2307
2308#define SPI_GETSOUNDSENTRY 64
2309#define SPI_SETSOUNDSENTRY 65
2310
2311/* defines below are for all win versions WINVER >= 0x0400 */
2312#define SPI_SETDRAGFULLWINDOWS 37
2313#define SPI_GETDRAGFULLWINDOWS 38
2314#define SPI_GETNONCLIENTMETRICS 41
2315#define SPI_SETNONCLIENTMETRICS 42
2316#define SPI_GETMINIMIZEDMETRICS 43
2317#define SPI_SETMINIMIZEDMETRICS 44
2318#define SPI_GETICONMETRICS 45
2319#define SPI_SETICONMETRICS 46
2320#define SPI_SETWORKAREA 47
2321#define SPI_GETWORKAREA 48
2322#define SPI_SETPENWINDOWS 49
2323
2324#define SPI_GETSERIALKEYS 62
2325#define SPI_SETSERIALKEYS 63
2326#define SPI_GETHIGHCONTRAST 66
2327#define SPI_SETHIGHCONTRAST 67
2328#define SPI_GETKEYBOARDPREF 68
2329#define SPI_SETKEYBOARDPREF 69
2330#define SPI_GETSCREENREADER 70
2331#define SPI_SETSCREENREADER 71
2332#define SPI_GETANIMATION 72
2333#define SPI_SETANIMATION 73
2334#define SPI_GETFONTSMOOTHING 74
2335#define SPI_SETFONTSMOOTHING 75
2336#define SPI_SETDRAGWIDTH 76
2337#define SPI_SETDRAGHEIGHT 77
2338#define SPI_SETHANDHELD 78
2339#define SPI_GETLOWPOWERTIMEOUT 79
2340#define SPI_GETPOWEROFFTIMEOUT 80
2341#define SPI_SETLOWPOWERTIMEOUT 81
2342#define SPI_SETPOWEROFFTIMEOUT 82
2343#define SPI_GETLOWPOWERACTIVE 83
2344#define SPI_GETPOWEROFFACTIVE 84
2345#define SPI_SETLOWPOWERACTIVE 85
2346#define SPI_SETPOWEROFFACTIVE 86
2347#define SPI_SETCURSORS 87
2348#define SPI_SETICONS 88
2349#define SPI_GETDEFAULTINPUTLANG 89
2350#define SPI_SETDEFAULTINPUTLANG 90
2351#define SPI_SETLANGTOGGLE 91
2352#define SPI_GETWINDOWSEXTENSION 92
2353#define SPI_SETMOUSETRAILS 93
2354#define SPI_GETMOUSETRAILS 94
2355#define SPI_SETSCREENSAVERRUNNING 97
2356#define SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING
2357
2358/* defines below are for all win versions (_WIN32_WINNT >= 0x0400) ||
2359 * (_WIN32_WINDOWS > 0x0400) */
2360#define SPI_GETMOUSEHOVERWIDTH 98
2361#define SPI_SETMOUSEHOVERWIDTH 99
2362#define SPI_GETMOUSEHOVERHEIGHT 100
2363#define SPI_SETMOUSEHOVERHEIGHT 101
2364#define SPI_GETMOUSEHOVERTIME 102
2365#define SPI_SETMOUSEHOVERTIME 103
2366#define SPI_GETWHEELSCROLLLINES 104
2367#define SPI_SETWHEELSCROLLLINES 105
2368
2369#define SPI_GETSHOWIMEUI 110
2370#define SPI_SETSHOWIMEUI 111
2371
2372/* defines below are for all win versions WINVER >= 0x0500 */
2373#define SPI_GETMOUSESPEED 112
2374#define SPI_SETMOUSESPEED 113
2375#define SPI_GETSCREENSAVERRUNNING 114
2376
2377#define SPI_GETACTIVEWINDOWTRACKING 0x1000
2378#define SPI_SETACTIVEWINDOWTRACKING 0x1001
2379#define SPI_GETMENUANIMATION 0x1002
2380#define SPI_SETMENUANIMATION 0x1003
2381#define SPI_GETCOMBOBOXANIMATION 0x1004
2382#define SPI_SETCOMBOBOXANIMATION 0x1005
2383#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
2384#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
2385#define SPI_GETGRADIENTCAPTIONS 0x1008
2386#define SPI_SETGRADIENTCAPTIONS 0x1009
2387#define SPI_GETMENUUNDERLINES 0x100A
2388#define SPI_SETMENUUNDERLINES 0x100B
2389#define SPI_GETACTIVEWNDTRKZORDER 0x100C
2390#define SPI_SETACTIVEWNDTRKZORDER 0x100D
2391#define SPI_GETHOTTRACKING 0x100E
2392#define SPI_SETHOTTRACKING 0x100F
2393#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
2394#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
2395#define SPI_GETACTIVEWNDTRKTIMEOUT 0x2002
2396#define SPI_SETACTIVEWNDTRKTIMEOUT 0x2003
2397#define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
2398#define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
2399
2400/* SystemParametersInfo flags */
2401
2402#define SPIF_UPDATEINIFILE 1
2403#define SPIF_SENDWININICHANGE 2
2404#define SPIF_SENDCHANGE SPIF_SENDWININICHANGE
2405
2406
2407typedef struct {
2408 UINT cbSize;
2409 INT iBorderWidth;
2410 INT iScrollWidth;
2411 INT iScrollHeight;
2412 INT iCaptionWidth;
2413 INT iCaptionHeight;
2414 LOGFONTA lfCaptionFont;
2415 INT iSmCaptionWidth;
2416 INT iSmCaptionHeight;
2417 LOGFONTA lfSmCaptionFont;
2418 INT iMenuWidth;
2419 INT iMenuHeight;
2420 LOGFONTA lfMenuFont;
2421 LOGFONTA lfStatusFont;
2422 LOGFONTA lfMessageFont;
2423} NONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
2424
2425typedef struct {
2426 UINT cbSize;
2427 INT iBorderWidth;
2428 INT iScrollWidth;
2429 INT iScrollHeight;
2430 INT iCaptionWidth;
2431 INT iCaptionHeight;
2432 LOGFONTW lfCaptionFont;
2433 INT iSmCaptionWidth;
2434 INT iSmCaptionHeight;
2435 LOGFONTW lfSmCaptionFont;
2436 INT iMenuWidth;
2437 INT iMenuHeight;
2438 LOGFONTW lfMenuFont;
2439 LOGFONTW lfStatusFont;
2440 LOGFONTW lfMessageFont;
2441} NONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
2442
2443DECL_WINELIB_TYPE_AW(NONCLIENTMETRICS)
2444DECL_WINELIB_TYPE_AW(LPNONCLIENTMETRICS)
2445
2446typedef struct tagICONMETRICSA {
2447 UINT cbSize;
2448 int iHorzSpacing;
2449 int iVertSpacing;
2450 int iTitleWrap;
2451 LOGFONTA lfFont;
2452} ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;
2453
2454typedef struct tagICONMETRICSW {
2455 UINT cbSize;
2456 int iHorzSpacing;
2457 int iVertSpacing;
2458 int iTitleWrap;
2459 LOGFONTW lfFont;
2460} ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;
2461
2462DECL_WINELIB_TYPE_AW(ICONMETRICS)
2463DECL_WINELIB_TYPE_AW(PICONMETRICS)
2464DECL_WINELIB_TYPE_AW(LPICONMETRICS)
2465
2466/* Window Styles */
2467#define WS_OVERLAPPED 0x00000000L
2468#define WS_POPUP 0x80000000L
2469#define WS_CHILD 0x40000000L
2470#define WS_MINIMIZE 0x20000000L
2471#define WS_VISIBLE 0x10000000L
2472#define WS_DISABLED 0x08000000L
2473#define WS_CLIPSIBLINGS 0x04000000L
2474#define WS_CLIPCHILDREN 0x02000000L
2475#define WS_MAXIMIZE 0x01000000L
2476#define WS_CAPTION 0x00C00000L
2477#define WS_BORDER 0x00800000L
2478#define WS_DLGFRAME 0x00400000L
2479#define WS_VSCROLL 0x00200000L
2480#define WS_HSCROLL 0x00100000L
2481#define WS_SYSMENU 0x00080000L
2482#define WS_THICKFRAME 0x00040000L
2483#define WS_GROUP 0x00020000L
2484#define WS_TABSTOP 0x00010000L
2485#define WS_MINIMIZEBOX 0x00020000L
2486#define WS_MAXIMIZEBOX 0x00010000L
2487#define WS_TILED WS_OVERLAPPED
2488#define WS_ICONIC WS_MINIMIZE
2489#define WS_SIZEBOX WS_THICKFRAME
2490#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
2491#define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
2492#define WS_CHILDWINDOW (WS_CHILD)
2493#define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
2494
2495/* Window extended styles */
2496#define WS_EX_DLGMODALFRAME 0x00000001L
2497#define WS_EX_DRAGDETECT 0x00000002L
2498#define WS_EX_NOPARENTNOTIFY 0x00000004L
2499#define WS_EX_TOPMOST 0x00000008L
2500#define WS_EX_ACCEPTFILES 0x00000010L
2501#define WS_EX_TRANSPARENT 0x00000020L
2502
2503/* New Win95/WinNT4 styles */
2504#define WS_EX_MDICHILD 0x00000040L
2505#define WS_EX_TOOLWINDOW 0x00000080L
2506#define WS_EX_WINDOWEDGE 0x00000100L
2507#define WS_EX_CLIENTEDGE 0x00000200L
2508#define WS_EX_CONTEXTHELP 0x00000400L
2509#define WS_EX_RIGHT 0x00001000L
2510#define WS_EX_LEFT 0x00000000L
2511#define WS_EX_RTLREADING 0x00002000L
2512#define WS_EX_LTRREADING 0x00000000L
2513#define WS_EX_LEFTSCROLLBAR 0x00004000L
2514#define WS_EX_RIGHTSCROLLBAR 0x00000000L
2515#define WS_EX_CONTROLPARENT 0x00010000L
2516#define WS_EX_STATICEDGE 0x00020000L
2517#define WS_EX_APPWINDOW 0x00040000L
2518
2519#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
2520#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
2521
2522/* New Win2000 styles */
2523#define WS_EX_LAYERED 0x00080000L
2524
2525/* WINE internal... */
2526#define WS_EX_TRAYWINDOW 0x80000000L
2527
2528/* Window scrolling */
2529#define SW_SCROLLCHILDREN 0x0001
2530#define SW_INVALIDATE 0x0002
2531#define SW_ERASE 0x0004
2532#define SW_SMOOTHSCROLL 0x0010
2533
2534/* CreateWindow() coordinates */
2535#define CW_USEDEFAULT ((INT)0x80000000)
2536#define CW_USEDEFAULT16 ((INT16)0x8000)
2537
2538/* ChildWindowFromPointEx Flags */
2539#define CWP_ALL 0x0000
2540#define CWP_SKIPINVISIBLE 0x0001
2541#define CWP_SKIPDISABLED 0x0002
2542#define CWP_SKIPTRANSPARENT 0x0004
2543
2544 /* PeekMessage() options */
2545#define PM_NOREMOVE 0x0000
2546#define PM_REMOVE 0x0001
2547#define PM_NOYIELD 0x0002
2548
2549#define WM_SHOWWINDOW 0x0018
2550
2551/* AnimateWindow() flags */
2552#define AW_SLIDE 0x00040000
2553#define AW_ACTIVATE 0x00020000
2554#define AW_BLEND 0x00080000
2555#define AW_HIDE 0x00010000
2556#define AW_CENTER 0x00000010
2557#define AW_HOR_POSITIVE 0x00000001
2558#define AW_HOR_NEGATIVE 0x00000002
2559#define AW_VER_POSITIVE 0x00000004
2560#define AW_VER_NEGATIVE 0x00000008
2561
2562/* FlashWindowEx() flags */
2563#define FLASHW_STOP 0x00000000
2564#define FLASHW_CAPTION 0x00000001
2565#define FLASHW_TRAY 0x00000002
2566#define FLASHW_ALL (FLASHW_CAPTION|FLASHW_TRAY)
2567#define FLASHW_TIMER 0x00000004
2568#define FLASHW_TIMERNOFG 0x0000000C
2569
2570typedef struct {
2571 UINT cbSize;
2572 HWND hwnd;
2573 DWORD dwFlags;
2574 UINT uCount;
2575 DWORD dwTimeout;
2576} FLASHWINFO, *PFLASHWINFO;
2577
2578/* WM_SHOWWINDOW wParam codes */
2579#define SW_PARENTCLOSING 1
2580#define SW_OTHERMAXIMIZED 2
2581#define SW_PARENTOPENING 3
2582#define SW_OTHERRESTORED 4
2583
2584 /* ShowWindow() codes */
2585#define SW_HIDE 0
2586#define SW_SHOWNORMAL 1
2587#define SW_NORMAL 1
2588#define SW_SHOWMINIMIZED 2
2589#define SW_SHOWMAXIMIZED 3
2590#define SW_MAXIMIZE 3
2591#define SW_SHOWNOACTIVATE 4
2592#define SW_SHOW 5
2593#define SW_MINIMIZE 6
2594#define SW_SHOWMINNOACTIVE 7
2595#define SW_SHOWNA 8
2596#define SW_RESTORE 9
2597#define SW_SHOWDEFAULT 10
2598#define SW_MAX 10
2599#define SW_NORMALNA 0xCC /* undoc. flag in MinMaximize */
2600
2601 /* WM_SIZE message wParam values */
2602#define SIZE_RESTORED 0
2603#define SIZE_MINIMIZED 1
2604#define SIZE_MAXIMIZED 2
2605#define SIZE_MAXSHOW 3
2606#define SIZE_MAXHIDE 4
2607#define SIZENORMAL SIZE_RESTORED
2608#define SIZEICONIC SIZE_MINIMIZED
2609#define SIZEFULLSCREEN SIZE_MAXIMIZED
2610#define SIZEZOOMSHOW SIZE_MAXSHOW
2611#define SIZEZOOMHIDE SIZE_MAXHIDE
2612
2613/* SetWindowPos() and WINDOWPOS flags */
2614#define SWP_NOSIZE 0x0001
2615#define SWP_NOMOVE 0x0002
2616#define SWP_NOZORDER 0x0004
2617#define SWP_NOREDRAW 0x0008
2618#define SWP_NOACTIVATE 0x0010
2619#define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */
2620#define SWP_SHOWWINDOW 0x0040
2621#define SWP_HIDEWINDOW 0x0080
2622#define SWP_NOCOPYBITS 0x0100
2623#define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */
2624
2625#define SWP_DRAWFRAME SWP_FRAMECHANGED
2626#define SWP_NOREPOSITION SWP_NOOWNERZORDER
2627
2628#define SWP_NOSENDCHANGING 0x0400
2629#define SWP_DEFERERASE 0x2000
2630#define SWP_ASYNCWINDOWPOS 0x4000
2631
2632/* undocumented SWP flags - from SDK 3.1 */
2633#define SWP_NOCLIENTSIZE 0x0800
2634#define SWP_NOCLIENTMOVE 0x1000
2635
2636#define HWND_DESKTOP ((HWND)0)
2637#define HWND_BROADCAST ((HWND)0xffff)
2638
2639/* SetWindowPos() hwndInsertAfter field values */
2640#define HWND_TOP ((HWND)0)
2641#define HWND_BOTTOM ((HWND)1)
2642#define HWND_TOPMOST ((HWND)-1)
2643#define HWND_NOTOPMOST ((HWND)-2)
2644
2645#define MF_INSERT 0x0000
2646#define MF_CHANGE 0x0080
2647#define MF_APPEND 0x0100
2648#define MF_DELETE 0x0200
2649#define MF_REMOVE 0x1000
2650#define MF_END 0x0080
2651
2652#define MF_ENABLED 0x0000
2653#define MF_GRAYED 0x0001
2654#define MF_DISABLED 0x0002
2655#define MF_STRING 0x0000
2656#define MF_BITMAP 0x0004
2657#define MF_UNCHECKED 0x0000
2658#define MF_CHECKED 0x0008
2659#define MF_POPUP 0x0010
2660#define MF_MENUBARBREAK 0x0020
2661#define MF_MENUBREAK 0x0040
2662#define MF_UNHILITE 0x0000
2663#define MF_HILITE 0x0080
2664#define MF_OWNERDRAW 0x0100
2665#define MF_USECHECKBITMAPS 0x0200
2666#define MF_BYCOMMAND 0x0000
2667#define MF_BYPOSITION 0x0400
2668#define MF_SEPARATOR 0x0800
2669#define MF_DEFAULT 0x1000
2670#define MF_SYSMENU 0x2000
2671#define MF_HELP 0x4000
2672#define MF_RIGHTJUSTIFY 0x4000
2673#define MF_MOUSESELECT 0x8000
2674
2675/* Flags for extended menu item types. */
2676#define MFT_STRING MF_STRING
2677#define MFT_BITMAP MF_BITMAP
2678#define MFT_MENUBARBREAK MF_MENUBARBREAK
2679#define MFT_MENUBREAK MF_MENUBREAK
2680#define MFT_OWNERDRAW MF_OWNERDRAW
2681#define MFT_RADIOCHECK 0x00000200L
2682#define MFT_SEPARATOR MF_SEPARATOR
2683#define MFT_RIGHTORDER 0x00002000L
2684#define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY
2685
2686/* Flags for extended menu item states. */
2687#define MFS_GRAYED 0x00000003L
2688#define MFS_DISABLED MFS_GRAYED
2689#define MFS_CHECKED MF_CHECKED
2690#define MFS_HILITE MF_HILITE
2691#define MFS_ENABLED MF_ENABLED
2692#define MFS_UNCHECKED MF_UNCHECKED
2693#define MFS_UNHILITE MF_UNHILITE
2694#define MFS_DEFAULT MF_DEFAULT
2695#define MFS_MASK 0x0000108BL
2696#define MFS_HOTTRACKDRAWN 0x10000000L
2697#define MFS_CACHEDBMP 0x20000000L
2698#define MFS_BOTTOMGAPDROP 0x40000000L
2699#define MFS_TOPGAPDROP 0x80000000L
2700#define MFS_GAPDROP 0xC0000000L
2701
2702
2703/* for GetMenuDefaultItem */
2704#define GMDI_USEDISABLED 0x0001L
2705#define GMDI_GOINTOPOPUPS 0x0002L
2706
2707#define DT_TOP 0x00000000
2708#define DT_LEFT 0x00000000
2709#define DT_CENTER 0x00000001
2710#define DT_RIGHT 0x00000002
2711#define DT_VCENTER 0x00000004
2712#define DT_BOTTOM 0x00000008
2713#define DT_WORDBREAK 0x00000010
2714#define DT_SINGLELINE 0x00000020
2715#define DT_EXPANDTABS 0x00000040
2716#define DT_TABSTOP 0x00000080
2717#define DT_NOCLIP 0x00000100
2718#define DT_EXTERNALLEADING 0x00000200
2719#define DT_CALCRECT 0x00000400
2720#define DT_NOPREFIX 0x00000800
2721#define DT_INTERNAL 0x00001000
2722
2723/* DrawCaption()/DrawCaptionTemp() flags */
2724#define DC_ACTIVE 0x0001
2725#define DC_SMALLCAP 0x0002
2726#define DC_ICON 0x0004
2727#define DC_TEXT 0x0008
2728#define DC_INBUTTON 0x0010
2729
2730/* DrawEdge() flags */
2731#define BDR_RAISEDOUTER 0x0001
2732#define BDR_SUNKENOUTER 0x0002
2733#define BDR_RAISEDINNER 0x0004
2734#define BDR_SUNKENINNER 0x0008
2735
2736#define BDR_OUTER 0x0003
2737#define BDR_INNER 0x000c
2738#define BDR_RAISED 0x0005
2739#define BDR_SUNKEN 0x000a
2740
2741#define EDGE_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER)
2742#define EDGE_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER)
2743#define EDGE_ETCHED (BDR_SUNKENOUTER | BDR_RAISEDINNER)
2744#define EDGE_BUMP (BDR_RAISEDOUTER | BDR_SUNKENINNER)
2745
2746/* border flags */
2747#define BF_LEFT 0x0001
2748#define BF_TOP 0x0002
2749#define BF_RIGHT 0x0004
2750#define BF_BOTTOM 0x0008
2751#define BF_DIAGONAL 0x0010
2752#define BF_MIDDLE 0x0800 /* Fill in the middle */
2753#define BF_SOFT 0x1000 /* For softer buttons */
2754#define BF_ADJUST 0x2000 /* Calculate the space left over */
2755#define BF_FLAT 0x4000 /* For flat rather than 3D borders */
2756#define BF_MONO 0x8000 /* For monochrome borders */
2757#define BF_TOPLEFT (BF_TOP | BF_LEFT)
2758#define BF_TOPRIGHT (BF_TOP | BF_RIGHT)
2759#define BF_BOTTOMLEFT (BF_BOTTOM | BF_LEFT)
2760#define BF_BOTTOMRIGHT (BF_BOTTOM | BF_RIGHT)
2761#define BF_RECT (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
2762#define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL | BF_TOP | BF_RIGHT)
2763#define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL | BF_TOP | BF_LEFT)
2764#define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
2765#define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
2766
2767/* DrawFrameControl() uType's */
2768
2769#define DFC_CAPTION 1
2770#define DFC_MENU 2
2771#define DFC_SCROLL 3
2772#define DFC_BUTTON 4
2773
2774/* uState's */
2775
2776#define DFCS_CAPTIONCLOSE 0x0000
2777#define DFCS_CAPTIONMIN 0x0001
2778#define DFCS_CAPTIONMAX 0x0002
2779#define DFCS_CAPTIONRESTORE 0x0003
2780#define DFCS_CAPTIONHELP 0x0004 /* Windows 95 only */
2781
2782#define DFCS_MENUARROW 0x0000
2783#define DFCS_MENUCHECK 0x0001
2784#define DFCS_MENUBULLET 0x0002
2785#define DFCS_MENUARROWRIGHT 0x0004
2786
2787#define DFCS_SCROLLUP 0x0000
2788#define DFCS_SCROLLDOWN 0x0001
2789#define DFCS_SCROLLLEFT 0x0002
2790#define DFCS_SCROLLRIGHT 0x0003
2791#define DFCS_SCROLLCOMBOBOX 0x0005
2792#define DFCS_SCROLLSIZEGRIP 0x0008
2793#define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
2794
2795#define DFCS_BUTTONCHECK 0x0000
2796#define DFCS_BUTTONRADIOIMAGE 0x0001
2797#define DFCS_BUTTONRADIOMASK 0x0002 /* to draw nonsquare button */
2798#define DFCS_BUTTONRADIO 0x0004
2799#define DFCS_BUTTON3STATE 0x0008
2800#define DFCS_BUTTONPUSH 0x0010
2801
2802/* additional state of the control */
2803
2804#define DFCS_INACTIVE 0x0100
2805#define DFCS_PUSHED 0x0200
2806#define DFCS_CHECKED 0x0400
2807#define DFCS_TRANSPARENT 0x0800
2808#define DFCS_HOT 0x1000
2809#define DFCS_ADJUSTRECT 0x2000 /* exclude surrounding edge */
2810#define DFCS_FLAT 0x4000
2811#define DFCS_MONO 0x8000
2812
2813/* Image type */
2814#define DST_COMPLEX 0x0000
2815#define DST_TEXT 0x0001
2816#define DST_PREFIXTEXT 0x0002
2817#define DST_ICON 0x0003
2818#define DST_BITMAP 0x0004
2819
2820/* State type */
2821#define DSS_NORMAL 0x0000
2822#define DSS_UNION 0x0010 /* Gray string appearance */
2823#define DSS_DISABLED 0x0020
2824#define DSS_DEFAULT 0x0040 /* Make it bold */
2825#define DSS_MONO 0x0080
2826#define DSS_RIGHT 0x8000
2827
2828typedef struct
2829{
2830 UINT CtlType;
2831 UINT CtlID;
2832 UINT itemID;
2833 UINT itemAction;
2834 UINT itemState;
2835 HWND hwndItem;
2836 HDC hDC;
2837 RECT rcItem WINE_PACKED;
2838 DWORD itemData WINE_PACKED;
2839} DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT;
2840
2841
2842typedef struct
2843{
2844 UINT CtlType;
2845 UINT CtlID;
2846 UINT itemID;
2847 UINT itemWidth;
2848 UINT itemHeight;
2849 DWORD itemData;
2850} MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
2851
2852
2853typedef struct
2854{
2855 UINT CtlType;
2856 UINT CtlID;
2857 UINT itemID;
2858 HWND hwndItem;
2859 DWORD itemData;
2860} DELETEITEMSTRUCT, *LPDELETEITEMSTRUCT;
2861
2862
2863typedef struct
2864{
2865 UINT CtlType;
2866 UINT CtlID;
2867 HWND hwndItem;
2868 UINT itemID1;
2869 DWORD itemData1;
2870 UINT itemID2;
2871 DWORD itemData2;
2872 DWORD dwLocaleId;
2873} COMPAREITEMSTRUCT, *PCOMPAREITEMSTRUCT, *LPCOMPAREITEMSTRUCT;
2874
2875
2876/* WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags */
2877#define KF_EXTENDED 0x0100
2878#define KF_DLGMODE 0x0800
2879#define KF_MENUMODE 0x1000
2880#define KF_ALTDOWN 0x2000
2881#define KF_REPEAT 0x4000
2882#define KF_UP 0x8000
2883
2884/* Virtual key codes */
2885#define VK_LBUTTON 0x01
2886#define VK_RBUTTON 0x02
2887#define VK_CANCEL 0x03
2888#define VK_MBUTTON 0x04
2889/* 0x05-0x07 Undefined */
2890#define VK_BACK 0x08
2891#define VK_TAB 0x09
2892/* 0x0A-0x0B Undefined */
2893#define VK_CLEAR 0x0C
2894#define VK_RETURN 0x0D
2895/* 0x0E-0x0F Undefined */
2896#define VK_SHIFT 0x10
2897#define VK_CONTROL 0x11
2898#define VK_MENU 0x12
2899#define VK_PAUSE 0x13
2900#define VK_CAPITAL 0x14
2901/* 0x15-0x19 Reserved for Kanji systems */
2902/* 0x1A Undefined */
2903#define VK_ESCAPE 0x1B
2904/* 0x1C-0x1F Reserved for Kanji systems */
2905#define VK_SPACE 0x20
2906#define VK_PRIOR 0x21
2907#define VK_NEXT 0x22
2908#define VK_END 0x23
2909#define VK_HOME 0x24
2910#define VK_LEFT 0x25
2911#define VK_UP 0x26
2912#define VK_RIGHT 0x27
2913#define VK_DOWN 0x28
2914#define VK_SELECT 0x29
2915#define VK_PRINT 0x2A /* OEM specific in Windows 3.1 SDK */
2916#define VK_EXECUTE 0x2B
2917#define VK_SNAPSHOT 0x2C
2918#define VK_INSERT 0x2D
2919#define VK_DELETE 0x2E
2920#define VK_HELP 0x2F
2921#define VK_0 0x30
2922#define VK_1 0x31
2923#define VK_2 0x32
2924#define VK_3 0x33
2925#define VK_4 0x34
2926#define VK_5 0x35
2927#define VK_6 0x36
2928#define VK_7 0x37
2929#define VK_8 0x38
2930#define VK_9 0x39
2931/* 0x3A-0x40 Undefined */
2932#define VK_A 0x41
2933#define VK_B 0x42
2934#define VK_C 0x43
2935#define VK_D 0x44
2936#define VK_E 0x45
2937#define VK_F 0x46
2938#define VK_G 0x47
2939#define VK_H 0x48
2940#define VK_I 0x49
2941#define VK_J 0x4A
2942#define VK_K 0x4B
2943#define VK_L 0x4C
2944#define VK_M 0x4D
2945#define VK_N 0x4E
2946#define VK_O 0x4F
2947#define VK_P 0x50
2948#define VK_Q 0x51
2949#define VK_R 0x52
2950#define VK_S 0x53
2951#define VK_T 0x54
2952#define VK_U 0x55
2953#define VK_V 0x56
2954#define VK_W 0x57
2955#define VK_X 0x58
2956#define VK_Y 0x59
2957#define VK_Z 0x5A
2958
2959#define VK_LWIN 0x5B
2960#define VK_RWIN 0x5C
2961#define VK_APPS 0x5D
2962/* 0x5E-0x5F Unassigned */
2963#define VK_NUMPAD0 0x60
2964#define VK_NUMPAD1 0x61
2965#define VK_NUMPAD2 0x62
2966#define VK_NUMPAD3 0x63
2967#define VK_NUMPAD4 0x64
2968#define VK_NUMPAD5 0x65
2969#define VK_NUMPAD6 0x66
2970#define VK_NUMPAD7 0x67
2971#define VK_NUMPAD8 0x68
2972#define VK_NUMPAD9 0x69
2973#define VK_MULTIPLY 0x6A
2974#define VK_ADD 0x6B
2975#define VK_SEPARATOR 0x6C
2976#define VK_SUBTRACT 0x6D
2977#define VK_DECIMAL 0x6E
2978#define VK_DIVIDE 0x6F
2979#define VK_F1 0x70
2980#define VK_F2 0x71
2981#define VK_F3 0x72
2982#define VK_F4 0x73
2983#define VK_F5 0x74
2984#define VK_F6 0x75
2985#define VK_F7 0x76
2986#define VK_F8 0x77
2987#define VK_F9 0x78
2988#define VK_F10 0x79
2989#define VK_F11 0x7A
2990#define VK_F12 0x7B
2991#define VK_F13 0x7C
2992#define VK_F14 0x7D
2993#define VK_F15 0x7E
2994#define VK_F16 0x7F
2995#define VK_F17 0x80
2996#define VK_F18 0x81
2997#define VK_F19 0x82
2998#define VK_F20 0x83
2999#define VK_F21 0x84
3000#define VK_F22 0x85
3001#define VK_F23 0x86
3002#define VK_F24 0x87
3003/* 0x88-0x8F Unassigned */
3004#define VK_NUMLOCK 0x90
3005#define VK_SCROLL 0x91
3006/* 0x92-0x9F Unassigned */
3007/*
3008 * differencing between right and left shift/control/alt key.
3009 * Used only by GetAsyncKeyState() and GetKeyState().
3010 */
3011#define VK_LSHIFT 0xA0
3012#define VK_RSHIFT 0xA1
3013#define VK_LCONTROL 0xA2
3014#define VK_RCONTROL 0xA3
3015#define VK_LMENU 0xA4
3016#define VK_RMENU 0xA5
3017/* 0xA6-0xB9 Unassigned */
3018#define VK_OEM_1 0xBA
3019#define VK_OEM_PLUS 0xBB
3020#define VK_OEM_COMMA 0xBC
3021#define VK_OEM_MINUS 0xBD
3022#define VK_OEM_PERIOD 0xBE
3023#define VK_OEM_2 0xBF
3024#define VK_OEM_3 0xC0
3025/* 0xC1-0xDA Unassigned */
3026#define VK_OEM_4 0xDB
3027#define VK_OEM_5 0xDC
3028#define VK_OEM_6 0xDD
3029#define VK_OEM_7 0xDE
3030/* 0xDF-0xE4 OEM specific */
3031
3032#define VK_PROCESSKEY 0xE5
3033
3034/* 0xE6 OEM specific */
3035/* 0xE7-0xE8 Unassigned */
3036/* 0xE9-0xF5 OEM specific */
3037
3038#define VK_ATTN 0xF6
3039#define VK_CRSEL 0xF7
3040#define VK_EXSEL 0xF8
3041#define VK_EREOF 0xF9
3042#define VK_PLAY 0xFA
3043#define VK_ZOOM 0xFB
3044#define VK_NONAME 0xFC
3045#define VK_PA1 0xFD
3046#define VK_OEM_CLEAR 0xFE
3047
3048/**************************************************************/
3049/* The following vkey definitions are undocumented in Windows */
3050/**************************************************************/
3051#define VK_SEMICOLON 0xBA
3052#define VK_EQUAL 0xBB
3053#define VK_COMMA 0xBC
3054#define VK_HYPHEN 0xBD
3055#define VK_PERIOD 0xBE
3056#define VK_SLASH 0xBF
3057#define VK_GRAVE 0xC0
3058#define VK_BRACKETLEFT 0xDB
3059#define VK_BACKSLASH 0xDC
3060#define VK_BRACKETRIGHT 0xDD
3061#define VK_QUOTESINGLE 0xDE
3062#define VK_EXTRA 0xE2
3063
3064 /* Key status flags for mouse events */
3065#define MK_LBUTTON 0x0001
3066#define MK_RBUTTON 0x0002
3067#define MK_SHIFT 0x0004
3068#define MK_CONTROL 0x0008
3069#define MK_MBUTTON 0x0010
3070
3071 /* Queue status flags */
3072#define QS_KEY 0x0001
3073#define QS_MOUSEMOVE 0x0002
3074#define QS_MOUSEBUTTON 0x0004
3075#define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON)
3076#define QS_POSTMESSAGE 0x0008
3077#define QS_TIMER 0x0010
3078#define QS_PAINT 0x0020
3079#define QS_SENDMESSAGE 0x0040
3080#define QS_HOTKEY 0x0080
3081#define QS_INPUT (QS_MOUSE | QS_KEY)
3082#define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
3083#define QS_ALLINPUT (QS_ALLEVENTS | QS_SENDMESSAGE)
3084
3085#define DDL_READWRITE 0x0000
3086#define DDL_READONLY 0x0001
3087#define DDL_HIDDEN 0x0002
3088#define DDL_SYSTEM 0x0004
3089#define DDL_DIRECTORY 0x0010
3090#define DDL_ARCHIVE 0x0020
3091
3092#define DDL_POSTMSGS 0x2000
3093#define DDL_DRIVES 0x4000
3094#define DDL_EXCLUSIVE 0x8000
3095
3096 /* Shell hook values */
3097#define HSHELL_WINDOWCREATED 1
3098#define HSHELL_WINDOWDESTROYED 2
3099#define HSHELL_ACTIVATESHELLWINDOW 3
3100
3101/* Predefined Clipboard Formats */
3102#define CF_TEXT 1
3103#define CF_BITMAP 2
3104#define CF_METAFILEPICT 3
3105#define CF_SYLK 4
3106#define CF_DIF 5
3107#define CF_TIFF 6
3108#define CF_OEMTEXT 7
3109#define CF_DIB 8
3110#define CF_PALETTE 9
3111#define CF_PENDATA 10
3112#define CF_RIFF 11
3113#define CF_WAVE 12
3114#define CF_UNICODETEXT 13
3115#define CF_ENHMETAFILE 14
3116#define CF_HDROP 15
3117#define CF_LOCALE 16
3118#define CF_DIBV5 17
3119#define CF_MAX 18
3120
3121#define CF_OWNERDISPLAY 0x0080
3122#define CF_DSPTEXT 0x0081
3123#define CF_DSPBITMAP 0x0082
3124#define CF_DSPMETAFILEPICT 0x0083
3125#define CF_DSPENHMETAFILE 0x008E
3126
3127/* "Private" formats don't get GlobalFree()'d */
3128#define CF_PRIVATEFIRST 0x0200
3129#define CF_PRIVATELAST 0x02FF
3130
3131/* "GDIOBJ" formats do get DeleteObject()'d */
3132#define CF_GDIOBJFIRST 0x0300
3133#define CF_GDIOBJLAST 0x03FF
3134
3135/* Clipboard command messages */
3136#define WM_CUT 0x0300
3137#define WM_COPY 0x0301
3138#define WM_PASTE 0x0302
3139#define WM_CLEAR 0x0303
3140#define WM_UNDO 0x0304
3141
3142/* Clipboard owner messages */
3143#define WM_RENDERFORMAT 0x0305
3144#define WM_RENDERALLFORMATS 0x0306
3145#define WM_DESTROYCLIPBOARD 0x0307
3146
3147/* Clipboard viewer messages */
3148#define WM_DRAWCLIPBOARD 0x0308
3149#define WM_PAINTCLIPBOARD 0x0309
3150#define WM_SIZECLIPBOARD 0x030B
3151#define WM_VSCROLLCLIPBOARD 0x030A
3152#define WM_HSCROLLCLIPBOARD 0x030E
3153#define WM_ASKCBFORMATNAME 0x030C
3154#define WM_CHANGECBCHAIN 0x030D
3155
3156
3157
3158/* DragObject stuff */
3159
3160typedef struct
3161{
3162 HWND16 hWnd;
3163 HANDLE16 hScope;
3164 WORD wFlags;
3165 HANDLE16 hList;
3166 HANDLE16 hOfStruct;
3167 POINT16 pt WINE_PACKED;
3168 LONG l WINE_PACKED;
3169} DRAGINFO, *LPDRAGINFO;
3170
3171#define DRAGOBJ_PROGRAM 0x0001
3172#define DRAGOBJ_DATA 0x0002
3173#define DRAGOBJ_DIRECTORY 0x0004
3174#define DRAGOBJ_MULTIPLE 0x0008
3175#define DRAGOBJ_EXTERNAL 0x8000
3176
3177#define DRAG_PRINT 0x544E5250
3178#define DRAG_FILE 0x454C4946
3179
3180/* types of LoadImage */
3181#define IMAGE_BITMAP 0
3182#define IMAGE_ICON 1
3183#define IMAGE_CURSOR 2
3184#define IMAGE_ENHMETAFILE 3
3185
3186/* loadflags to LoadImage */
3187#define LR_DEFAULTCOLOR 0x0000
3188#define LR_MONOCHROME 0x0001
3189#define LR_COLOR 0x0002
3190#define LR_COPYRETURNORG 0x0004
3191#define LR_COPYDELETEORG 0x0008
3192#define LR_LOADFROMFILE 0x0010
3193#define LR_LOADTRANSPARENT 0x0020
3194#define LR_DEFAULTSIZE 0x0040
3195#define LR_VGACOLOR 0x0080
3196#define LR_LOADMAP3DCOLORS 0x1000
3197#define LR_CREATEDIBSECTION 0x2000
3198#define LR_COPYFROMRESOURCE 0x4000
3199#define LR_SHARED 0x8000
3200
3201/* Flags for DrawIconEx. */
3202#define DI_MASK 1
3203#define DI_IMAGE 2
3204#define DI_NORMAL (DI_MASK | DI_IMAGE)
3205#define DI_COMPAT 4
3206#define DI_DEFAULTSIZE 8
3207
3208/* misc messages */
3209#define WM_NULL 0x0000
3210
3211/* WM_NOTIFYFORMAT commands and return values */
3212#define NFR_ANSI 1
3213#define NFR_UNICODE 2
3214#define NF_QUERY 3
3215#define NF_REQUERY 4
3216
3217//SM_ARRANGE return values:
3218#define ARW_BOTTOMLEFT 0x0000L
3219#define ARW_BOTTOMRIGHT 0x0001L
3220#define ARW_TOPLEFT 0x0002L
3221#define ARW_TOPRIGHT 0x0003L
3222#define ARW_STARTMASK 0x0003L
3223#define ARW_STARTRIGHT 0x0001L
3224#define ARW_STARTTOP 0x0002L
3225
3226#define ARW_LEFT 0x0000L
3227#define ARW_RIGHT 0x0000L
3228#define ARW_UP 0x0004L
3229#define ARW_DOWN 0x0004L
3230#define ARW_HIDE 0x0008L
3231#define ARW_VALID 0x000FL
3232
3233typedef BOOL (* CALLBACK NAMEENUMPROCA)(LPSTR, LPARAM);
3234typedef BOOL (* CALLBACK NAMEENUMPROCW)(LPWSTR, LPARAM);
3235
3236typedef NAMEENUMPROCA WINSTAENUMPROCA;
3237typedef NAMEENUMPROCA DESKTOPENUMPROCA;
3238typedef NAMEENUMPROCW WINSTAENUMPROCW;
3239typedef NAMEENUMPROCW DESKTOPENUMPROCW;
3240
3241typedef VOID (* CALLBACK SENDASYNCPROC)(HWND, UINT, DWORD, LRESULT);
3242
3243#define OBJID_WINDOW 0x00000000
3244#define OBJID_SYSMENU 0xFFFFFFFF
3245#define OBJID_TITLEBAR 0xFFFFFFFE
3246#define OBJID_MENU 0xFFFFFFFD
3247#define OBJID_CLIENT 0xFFFFFFFC
3248#define OBJID_VSCROLL 0xFFFFFFFB
3249#define OBJID_HSCROLL 0xFFFFFFFA
3250#define OBJID_SIZEGRIP 0xFFFFFFF9
3251#define OBJID_CARET 0xFFFFFFF8
3252#define OBJID_CURSOR 0xFFFFFFF7
3253#define OBJID_ALERT 0xFFFFFFF6
3254#define OBJID_SOUND 0xFFFFFFF5
3255
3256#define STATE_SYSTEM_UNAVAILABLE 0x00000001 // Disabled
3257#define STATE_SYSTEM_SELECTED 0x00000002
3258#define STATE_SYSTEM_FOCUSED 0x00000004
3259#define STATE_SYSTEM_PRESSED 0x00000008
3260#define STATE_SYSTEM_CHECKED 0x00000010
3261#define STATE_SYSTEM_MIXED 0x00000020 // 3-state checkbox or toolbar button
3262#define STATE_SYSTEM_INDETERMINATE STATE_SYSTEM_MIXED
3263#define STATE_SYSTEM_READONLY 0x00000040
3264#define STATE_SYSTEM_HOTTRACKED 0x00000080
3265#define STATE_SYSTEM_DEFAULT 0x00000100
3266#define STATE_SYSTEM_EXPANDED 0x00000200
3267#define STATE_SYSTEM_COLLAPSED 0x00000400
3268#define STATE_SYSTEM_BUSY 0x00000800
3269#define STATE_SYSTEM_FLOATING 0x00001000 // Children "owned" not "contained" by parent
3270#define STATE_SYSTEM_MARQUEED 0x00002000
3271#define STATE_SYSTEM_ANIMATED 0x00004000
3272#define STATE_SYSTEM_INVISIBLE 0x00008000
3273#define STATE_SYSTEM_OFFSCREEN 0x00010000
3274#define STATE_SYSTEM_SIZEABLE 0x00020000
3275#define STATE_SYSTEM_MOVEABLE 0x00040000
3276#define STATE_SYSTEM_SELFVOICING 0x00080000
3277#define STATE_SYSTEM_FOCUSABLE 0x00100000
3278#define STATE_SYSTEM_SELECTABLE 0x00200000
3279#define STATE_SYSTEM_LINKED 0x00400000
3280#define STATE_SYSTEM_TRAVERSED 0x00800000
3281#define STATE_SYSTEM_MULTISELECTABLE 0x01000000 // Supports multiple selection
3282#define STATE_SYSTEM_EXTSELECTABLE 0x02000000 // Supports extended selection
3283#define STATE_SYSTEM_ALERT_LOW 0x04000000 // This information is of low priority
3284#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000 // This information is of medium priority
3285#define STATE_SYSTEM_ALERT_HIGH 0x10000000 // This information is of high priority
3286#define STATE_SYSTEM_REDUNDANT 0x20000000 // this child object's data is also represented by it's parent
3287#define STATE_SYSTEM_ONLY_REDUNDANT 0x40000000 // this object has children, but they are all redundant
3288#define STATE_SYSTEM_VALID 0x7FFFFFFF
3289
3290
3291typedef struct tagGUITHREADINFO {
3292 DWORD cbSize;
3293 DWORD flags;
3294 HWND hwndActive;
3295 HWND hwndFocus;
3296 HWND hwndCapture;
3297 HWND hwndMenuOwner;
3298 HWND hwndMoveSize;
3299 HWND hwndCaret;
3300 RECT rcCaret;
3301} GUITHREADINFO, *PGUITHREADINFO, *LPGUITHREADINFO;
3302
3303/* RegisterDeviceNotification stuff */
3304typedef PVOID HDEVNOTIFY;
3305typedef HDEVNOTIFY *PHDEVNOTIFY;
3306
3307#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
3308
3309/* used for GetWindowInfo() */
3310
3311#define WS_ACTIVECAPTION 0x0001
3312
3313typedef struct tagWINDOWINFO {
3314 DWORD cbSize;
3315 RECT rcWindow;
3316 RECT rcClient;
3317 DWORD dwStyle;
3318 DWORD dwExStyle;
3319 DWORD dwWindowStatus;
3320 UINT cxWindowBorders;
3321 UINT cyWindowBorders;
3322 ATOM atomWindowType;
3323 WORD wCreatorVersion;
3324} WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
3325
3326
3327#include "poppack.h"
3328#define EnumTaskWindows(handle,proc,lparam) \
3329 EnumThreadWindows(handle,proc,lparam)
3330#define OemToAnsiA OemToCharA
3331#define OemToAnsiW OemToCharW
3332#define OemToAnsi WINELIB_NAME_AW(OemToAnsi)
3333#define OemToAnsiBuffA OemToCharBuffA
3334#define OemToAnsiBuffW OemToCharBuffW
3335#define OemToAnsiBuff WINELIB_NAME_AW(OemToAnsiBuff)
3336#define AnsiToOemA CharToOemA
3337#define AnsiToOemW CharToOemW
3338#define AnsiToOem WINELIB_NAME_AW(AnsiToOem)
3339#define AnsiToOemBuffA CharToOemBuffA
3340#define AnsiToOemBuffW CharToOemBuffW
3341#define AnsiToOemBuff WINELIB_NAME_AW(AnsiToOemBuff)
3342
3343#if defined(_WINGDI_) && !defined(NOGDI)
3344LONG WINAPI ChangeDisplaySettingsA(LPDEVMODEA,DWORD);
3345LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW,DWORD);
3346#define ChangeDisplaySettings WINELIB_NAME_AW(ChangeDisplaySettings)
3347LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPARAM);
3348LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPARAM);
3349#define ChangeDisplaySettingsEx WINELIB_NAME_AW(ChangeDisplaySettingsEx)
3350BOOL WINAPI EnumDisplayDevicesA(LPVOID,DWORD,LPDISPLAY_DEVICEA,DWORD);
3351BOOL WINAPI EnumDisplayDevicesW(LPVOID,DWORD,LPDISPLAY_DEVICEW,DWORD);
3352#define EnumDisplayDevices WINELIB_NAME_AW(EnumDisplayDevices)
3353BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,LPDEVMODEA);
3354BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,LPDEVMODEW);
3355#define EnumDisplaySettings WINELIB_NAME_AW(EnumDisplaySettings)
3356#endif /* defined(_WINGDI_) && !defined(NOGDI) */
3357
3358HKL WINAPI ActivateKeyboardLayout(HKL,UINT);
3359LONG WINAPI BroadcastSystemMessageA(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
3360LONG WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
3361#define BroadcastSystemMessage WINELIB_NAME_AW(BroadcastSystemMessage)
3362WORD WINAPI CascadeWindows(HWND, UINT, const LPRECT, UINT, const HWND *);
3363BOOL WINAPI CascadeChildWindows(HWND, DWORD);
3364INT WINAPI CopyAcceleratorTableA(HACCEL,LPACCEL,INT);
3365INT WINAPI CopyAcceleratorTableW(HACCEL,LPACCEL,INT);
3366#define CopyAcceleratorTable WINELIB_NAME_AW(CopyAcceleratorTable)
3367HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,INT);
3368HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,INT);
3369#define CreateAcceleratorTable WINELIB_NAME_AW(CreateAcceleratorTable)
3370HICON WINAPI CreateIconIndirect(LPICONINFO);
3371BOOL WINAPI DestroyAcceleratorTable(HACCEL);
3372BOOL WINAPI EnumDisplayMonitors(HDC,LPRECT,MONITORENUMPROC,LPARAM);
3373INT WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
3374INT WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM);
3375#define EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
3376BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
3377BOOL WINAPI ExitWindowsEx(UINT,DWORD);
3378HWND WINAPI GetAncestor( HWND hwnd, UINT type );
3379BOOL WINAPI GetGUIThreadInfo(DWORD dwThreadId, GUITHREADINFO *lpThreadInfo);
3380BOOL WINAPI GetIconInfo(HICON,LPICONINFO);
3381HKL WINAPI GetKeyboardLayout(DWORD);
3382INT WINAPI GetKeyboardLayoutList(INT,HKL *);
3383DWORD WINAPI GetMenuContextHelpId(HMENU);
3384UINT WINAPI GetMenuDefaultItem(HMENU,UINT,UINT);
3385BOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO);
3386BOOL WINAPI GetMenuItemInfoA(HMENU,UINT,BOOL,MENUITEMINFOA*);
3387BOOL WINAPI GetMenuItemInfoW(HMENU,UINT,BOOL,MENUITEMINFOW*);
3388#define GetMenuItemInfo WINELIB_NAME_AW(GetMenuItemInfo)
3389BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
3390BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
3391#define GetMonitorInfo WINELIB_NAME_AW(GetMonitorInfo)
3392DWORD WINAPI GetWindowContextHelpId(HWND);
3393
3394UINT WIN32API GetWindowModuleFileNameA(HWND hwnd, LPTSTR lpszFileName, UINT cchFileNameMax);
3395UINT WIN32API GetWindowModuleFileNameW(HWND hwnd, LPWSTR lpszFileName, UINT cchFileNameMax);
3396#define GetWindowModuleFileName WINELIB_NAME_AW(GetWindowModuleFileName)
3397
3398DWORD WINAPI GetWindowThreadProcessId(HWND,LPDWORD);
3399BOOL WINAPI IsWindowUnicode(HWND);
3400HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT);
3401HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT);
3402#define LoadKeyboardLayout WINELIB_NAME_AW(LoadKeyboardLayout)
3403INT WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
3404INT WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD);
3405#define MessageBoxEx WINELIB_NAME_AW(MessageBoxEx)
3406HMONITOR WINAPI MonitorFromPoint(POINT,DWORD);
3407HMONITOR WINAPI MonitorFromRect(LPCRECT,DWORD);
3408HMONITOR WINAPI MonitorFromWindow(HWND,DWORD);
3409DWORD WINAPI MsgWaitForMultipleObjects(DWORD,HANDLE*,BOOL,DWORD,DWORD);
3410BOOL WINAPI PaintDesktop(HDC);
3411BOOL WINAPI PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM);
3412BOOL WINAPI PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM);
3413#define PostThreadMessage WINELIB_NAME_AW(PostThreadMessage)
3414
3415BOOL WINAPI RegisterHotKey(HWND,INT,UINT,UINT);
3416HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD);
3417HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
3418#define RegisterDeviceNotification WINELIB_NAME_AW(RegisterDeviceNotification)
3419
3420BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM);
3421BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM);
3422#define SendNotifyMessage WINELIB_NAME_AW(SendNotifyMessage)
3423VOID WINAPI SetDebugErrorLevel(DWORD);
3424VOID WINAPI SetLastErrorEx(DWORD,DWORD);
3425BOOL WINAPI SetMenuDefaultItem(HMENU,UINT,UINT);
3426BOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO);
3427BOOL WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,const MENUITEMINFOA*);
3428BOOL WINAPI SetMenuItemInfoW(HMENU,UINT,BOOL,const MENUITEMINFOW*);
3429#define SetMenuItemInfo WINELIB_NAME_AW(SetMenuItemInfo)
3430BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
3431BOOL WINAPI TileChildWindows(HWND, DWORD);
3432WORD WINAPI TileWindows (HWND, UINT, const LPRECT,
3433 UINT, const HWND *);
3434INT WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT);
3435BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT);
3436BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,INT,INT,HWND,
3437 LPTPMPARAMS);
3438DWORD WINAPI WaitForInputIdle(HANDLE,DWORD);
3439BOOL WINAPI UnregisterHotKey(HWND,INT);
3440VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
3441VOID WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,DWORD);
3442
3443/* Declarations for functions that are the same in Win16 and Win32 */
3444VOID WINAPI EndMenu(void);
3445DWORD WINAPI GetDialogBaseUnits(void);
3446BOOL WINAPI GetKeyboardState(LPBYTE);
3447DWORD WINAPI GetMenuCheckMarkDimensions(void);
3448LONG WINAPI GetMessageExtraInfo(void);
3449DWORD WINAPI GetMessagePos(void);
3450LONG WINAPI GetMessageTime(void);
3451DWORD WINAPI GetTickCount(void);
3452ATOM WINAPI GlobalDeleteAtom(ATOM);
3453DWORD WINAPI OemKeyScan(WORD);
3454BOOL WINAPI ReleaseCapture(void);
3455BOOL WINAPI SetKeyboardState(LPBYTE);
3456BOOL WINAPI WaitMessage(VOID);
3457LPARAM WINAPI SetMessageExtraInfo(LPARAM);
3458
3459/* Declarations for functions that change between Win16 and Win32 */
3460
3461BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL);
3462BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
3463#define AnsiLowerA CharLowerA
3464#define AnsiLowerW CharLowerW
3465#define AnsiLower WINELIB_NAME_AW(AnsiLower)
3466#define AnsiLowerBuffA CharLowerBuffA
3467#define AnsiLowerBuffW CharLowerBuffW
3468#define AnsiLowerBuff WINELIB_NAME_AW(AnsiLowerBuff)
3469#define AnsiNextA CharNextA
3470#define AnsiNextW CharNextW
3471#define AnsiNext WINELIB_NAME_AW(AnsiNext)
3472#define AnsiPrevA CharPrevA
3473#define AnsiPrevW CharPrevW
3474#define AnsiPrev WINELIB_NAME_AW(AnsiPrev)
3475#define AnsiUpperA CharUpperA
3476#define AnsiUpperW CharUpperW
3477#define AnsiUpper WINELIB_NAME_AW(AnsiUpper)
3478#define AnsiUpperBuffA CharUpperBuffA
3479#define AnsiUpperBuffW CharUpperBuffW
3480#define AnsiUpperBuff WINELIB_NAME_AW(AnsiUpperBuff)
3481BOOL WINAPI AnyPopup(void);
3482BOOL WINAPI AppendMenuA(HMENU,UINT,UINT,LPCSTR);
3483BOOL WINAPI AppendMenuW(HMENU,UINT,UINT,LPCWSTR);
3484#define AppendMenu WINELIB_NAME_AW(AppendMenu)
3485UINT WINAPI ArrangeIconicWindows(HWND);
3486HDWP WINAPI BeginDeferWindowPos(INT);
3487HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
3488BOOL WINAPI BringWindowToTop(HWND);
3489BOOL WINAPI CallMsgFilterA(LPMSG,INT);
3490BOOL WINAPI CallMsgFilterW(LPMSG,INT);
3491#define CallMsgFilter WINELIB_NAME_AW(CallMsgFilter)
3492LRESULT WINAPI CallNextHookEx(HHOOK,INT,WPARAM,LPARAM);
3493LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
3494LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
3495#define CallWindowProc WINELIB_NAME_AW(CallWindowProc)
3496BOOL WINAPI ChangeClipboardChain(HWND,HWND);
3497BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT);
3498BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT);
3499#define ChangeMenu WINELIB_NAME_AW(ChangeMenu)
3500LPSTR WINAPI CharLowerA(LPSTR);
3501LPWSTR WINAPI CharLowerW(LPWSTR);
3502#define CharLower WINELIB_NAME_AW(CharLower)
3503DWORD WINAPI CharLowerBuffA(LPSTR,DWORD);
3504DWORD WINAPI CharLowerBuffW(LPWSTR,DWORD);
3505#define CharLowerBuff WINELIB_NAME_AW(CharLowerBuff)
3506LPSTR WINAPI CharNextA(LPCSTR);
3507LPWSTR WINAPI CharNextW(LPCWSTR);
3508#define CharNext WINELIB_NAME_AW(CharNext)
3509LPSTR WINAPI CharNextExA(WORD,LPCSTR,DWORD);
3510LPWSTR WINAPI CharNextExW(WORD,LPCWSTR,DWORD);
3511#define CharNextEx WINELIB_NAME_AW(CharNextEx)
3512LPSTR WINAPI CharPrevA(LPCSTR,LPCSTR);
3513LPWSTR WINAPI CharPrevW(LPCWSTR,LPCWSTR);
3514#define CharPrev WINELIB_NAME_AW(CharPrev)
3515LPSTR WINAPI CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD);
3516LPWSTR WINAPI CharPrevExW(WORD,LPCWSTR,LPCWSTR,DWORD);
3517#define CharPrevEx WINELIB_NAME_AW(CharPrevEx)
3518LPSTR WINAPI CharUpperA(LPSTR);
3519LPWSTR WINAPI CharUpperW(LPWSTR);
3520#define CharUpper WINELIB_NAME_AW(CharUpper)
3521DWORD WINAPI CharUpperBuffA(LPSTR,DWORD);
3522DWORD WINAPI CharUpperBuffW(LPWSTR,DWORD);
3523#define CharUpperBuff WINELIB_NAME_AW(CharUpperBuff)
3524BOOL WINAPI CharToOemA(LPCSTR,LPSTR);
3525BOOL WINAPI CharToOemW(LPCWSTR,LPSTR);
3526#define CharToOem WINELIB_NAME_AW(CharToOem)
3527BOOL WINAPI CharToOemBuffA(LPCSTR,LPSTR,DWORD);
3528BOOL WINAPI CharToOemBuffW(LPCWSTR,LPSTR,DWORD);
3529#define CharToOemBuff WINELIB_NAME_AW(CharToOemBuff)
3530BOOL WINAPI CheckDlgButton(HWND,INT,UINT);
3531DWORD WINAPI CheckMenuItem(HMENU,UINT,UINT);
3532BOOL WINAPI CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT);
3533BOOL WINAPI CheckRadioButton(HWND,UINT,UINT,UINT);
3534HWND WINAPI ChildWindowFromPoint(HWND,POINT);
3535HWND WINAPI ChildWindowFromPointEx(HWND,POINT,UINT);
3536BOOL WINAPI ClearCommBreak(HANDLE);
3537BOOL WINAPI ClientToScreen(HWND,LPPOINT);
3538BOOL WINAPI ClipCursor(const RECT*);
3539BOOL WINAPI CloseClipboard(void);
3540BOOL WINAPI CloseWindow(HWND);
3541#define CopyCursor(cur) ((HCURSOR)CopyIcon((HICON)(cur)))
3542HICON WINAPI CopyIcon(HICON);
3543HICON WINAPI CopyImage(HANDLE,UINT,INT,INT,UINT);
3544BOOL WINAPI CopyRect(RECT*,const RECT*);
3545INT WINAPI CountClipboardFormats(void);
3546BOOL WINAPI CreateCaret(HWND,HBITMAP,INT,INT);
3547HCURSOR WINAPI CreateCursor(HINSTANCE,INT,INT,INT,INT,LPCVOID,LPCVOID);
3548#define CreateDialogA(inst,ptr,hwnd,dlg) \
3549 CreateDialogParamA(inst,ptr,hwnd,dlg,0)
3550#define CreateDialogW(inst,ptr,hwnd,dlg) \
3551 CreateDialogParamW(inst,ptr,hwnd,dlg,0)
3552#define CreateDialog WINELIB_NAME_AW(CreateDialog)
3553#define CreateDialogIndirectA(inst,ptr,hwnd,dlg) \
3554 CreateDialogIndirectParamA(inst,ptr,hwnd,dlg,0)
3555#define CreateDialogIndirectW(inst,ptr,hwnd,dlg) \
3556 CreateDialogIndirectParamW(inst,ptr,hwnd,dlg,0)
3557#define CreateDialogIndirect WINELIB_NAME_AW(CreateDialogIndirect)
3558HWND WINAPI CreateDialogIndirectParamA(HINSTANCE,LPCVOID,HWND,
3559 DLGPROC,LPARAM);
3560HWND WINAPI CreateDialogIndirectParamW(HINSTANCE,LPCVOID,HWND,
3561 DLGPROC,LPARAM);
3562#define CreateDialogIndirectParam WINELIB_NAME_AW(CreateDialogIndirectParam)
3563HWND WINAPI CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
3564HWND WINAPI CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
3565#define CreateDialogParam WINELIB_NAME_AW(CreateDialogParam)
3566HICON WINAPI CreateIcon(HINSTANCE,INT,INT,BYTE,BYTE,LPCVOID,LPCVOID);
3567HICON WINAPI CreateIconFromResource(LPBYTE,UINT,BOOL,DWORD);
3568HICON WINAPI CreateIconFromResourceEx(LPBYTE,UINT,BOOL,DWORD,INT,INT,UINT);
3569HMENU WINAPI CreateMenu(void);
3570HMENU WINAPI CreatePopupMenu(void);
3571#define CreateWindowA(className,titleName,style,x,y,width,height,\
3572 parent,menu,instance,param) \
3573 CreateWindowExA(0,className,titleName,style,x,y,width,height,\
3574 parent,menu,instance,param)
3575#define CreateWindowW(className,titleName,style,x,y,width,height,\
3576 parent,menu,instance,param) \
3577 CreateWindowExW(0,className,titleName,style,x,y,width,height,\
3578 parent,menu,instance,param)
3579#define CreateWindow WINELIB_NAME_AW(CreateWindow)
3580HWND WINAPI CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,INT,INT,
3581 INT,INT,HWND,HMENU,HINSTANCE,LPVOID);
3582HWND WINAPI CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,INT,INT,
3583 INT,INT,HWND,HMENU,HINSTANCE,LPVOID);
3584#define CreateWindowEx WINELIB_NAME_AW(CreateWindowEx)
3585HWND WINAPI CreateMDIWindowA(LPCSTR,LPCSTR,DWORD,INT,INT,
3586 INT,INT,HWND,HINSTANCE,LPARAM);
3587HWND WINAPI CreateMDIWindowW(LPCWSTR,LPCWSTR,DWORD,INT,INT,
3588 INT,INT,HWND,HINSTANCE,LPARAM);
3589#define CreateMDIWindow WINELIB_NAME_AW(CreateMDIWindow)
3590void WINAPI CalcChildScroll(HWND,INT);
3591LRESULT WINAPI DefDlgProcA(HWND,UINT,WPARAM,LPARAM);
3592LRESULT WINAPI DefDlgProcW(HWND,UINT,WPARAM,LPARAM);
3593#define DefDlgProc WINELIB_NAME_AW(DefDlgProc)
3594HDWP WINAPI DeferWindowPos(HDWP,HWND,HWND,INT,INT,INT,INT,UINT);
3595LRESULT WINAPI DefFrameProcA(HWND,HWND,UINT,WPARAM,LPARAM);
3596LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM);
3597#define DefFrameProc WINELIB_NAME_AW(DefFrameProc)
3598#define DefHookProc(code,wparam,lparam,phhook) \
3599 CallNextHookEx(*(phhook),code,wparam,lparam)
3600LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM);
3601LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM);
3602#define DefMDIChildProc WINELIB_NAME_AW(DefMDIChildProc)
3603LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM);
3604LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM);
3605#define DefWindowProc WINELIB_NAME_AW(DefWindowProc)
3606BOOL WINAPI DeleteMenu(HMENU,UINT,UINT);
3607BOOL WINAPI DestroyCaret(void);
3608BOOL WINAPI DestroyCursor(HCURSOR);
3609BOOL WINAPI DestroyIcon(HICON);
3610BOOL WINAPI DestroyMenu(HMENU);
3611BOOL WINAPI DestroyWindow(HWND);
3612#define DialogBoxA(inst,template,owner,func) \
3613 DialogBoxParamA(inst,template,owner,func,0)
3614#define DialogBoxW(inst,template,owner,func) \
3615 DialogBoxParamW(inst,template,owner,func,0)
3616#define DialogBox WINELIB_NAME_AW(DialogBox)
3617#define DialogBoxIndirectA(inst,template,owner,func) \
3618 DialogBoxIndirectParamA(inst,template,owner,func,0)
3619#define DialogBoxIndirectW(inst,template,owner,func) \
3620 DialogBoxIndirectParamW(inst,template,owner,func,0)
3621#define DialogBoxIndirect WINELIB_NAME_AW(DialogBoxIndirect)
3622INT WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCVOID,HWND,DLGPROC,LPARAM);
3623INT WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCVOID,HWND,DLGPROC,LPARAM);
3624#define DialogBoxIndirectParam WINELIB_NAME_AW(DialogBoxIndirectParam)
3625INT WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
3626INT WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
3627#define DialogBoxParam WINELIB_NAME_AW(DialogBoxParam)
3628LONG WINAPI DispatchMessageA(const MSG*);
3629LONG WINAPI DispatchMessageW(const MSG*);
3630#define DispatchMessage WINELIB_NAME_AW(DispatchMessage)
3631INT WINAPI DlgDirListA(HWND,LPSTR,INT,INT,UINT);
3632INT WINAPI DlgDirListW(HWND,LPWSTR,INT,INT,UINT);
3633#define DlgDirList WINELIB_NAME_AW(DlgDirList)
3634INT WINAPI DlgDirListComboBoxA(HWND,LPSTR,INT,INT,UINT);
3635INT WINAPI DlgDirListComboBoxW(HWND,LPWSTR,INT,INT,UINT);
3636#define DlgDirListComboBox WINELIB_NAME_AW(DlgDirListComboBox)
3637BOOL WINAPI DlgDirSelectComboBoxExA(HWND,LPSTR,INT,INT);
3638BOOL WINAPI DlgDirSelectComboBoxExW(HWND,LPWSTR,INT,INT);
3639#define DlgDirSelectComboBoxEx WINELIB_NAME_AW(DlgDirSelectComboBoxEx)
3640BOOL WINAPI DlgDirSelectExA(HWND,LPSTR,INT,INT);
3641BOOL WINAPI DlgDirSelectExW(HWND,LPWSTR,INT,INT);
3642#define DlgDirSelectEx WINELIB_NAME_AW(DlgDirSelectEx)
3643BOOL WINAPI DragDetect(HWND,POINT);
3644DWORD WINAPI DragObject(HWND,HWND,UINT,DWORD,HCURSOR);
3645BOOL WINAPI DrawAnimatedRects(HWND,int,const RECT*,const RECT*);
3646BOOL WINAPI DrawCaption(HWND,HDC,const RECT*,UINT);
3647BOOL WINAPI DrawCaptionTempA(HWND,HDC,const RECT*,HFONT,HICON,LPCSTR,UINT);
3648BOOL WINAPI DrawCaptionTempW(HWND,HDC,const RECT*,HFONT,HICON,LPCWSTR,UINT);
3649#define DrawCaptionTemp WINELIB_NAME_AW(DrawCaptionTemp)
3650BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT);
3651BOOL WINAPI DrawFocusRect(HDC,const RECT*);
3652BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT);
3653BOOL WINAPI DrawIcon(HDC,INT,INT,HICON);
3654BOOL WINAPI DrawIconEx(HDC,INT,INT,HICON,INT,INT,
3655 UINT,HBRUSH,UINT);
3656BOOL WINAPI DrawMenuBar(HWND);
3657BOOL WINAPI DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,INT,INT,INT,INT,UINT);
3658BOOL WINAPI DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,INT,INT,INT,INT,UINT);
3659#define DrawState WINELIB_NAME_AW(DrawState)
3660INT WINAPI DrawTextA(HDC,LPCSTR,INT,LPRECT,UINT);
3661INT WINAPI DrawTextW(HDC,LPCWSTR,INT,LPRECT,UINT);
3662#define DrawText WINELIB_NAME_AW(DrawText)
3663INT WINAPI DrawTextExA(HDC,LPCSTR,INT,LPRECT,UINT,LPDRAWTEXTPARAMS);
3664INT WINAPI DrawTextExW(HDC,LPWSTR,INT,LPRECT,UINT,LPDRAWTEXTPARAMS);
3665#define DrawTextEx WINELIB_NAME_AW(DrawTextEx)
3666BOOL WINAPI EmptyClipboard(void);
3667UINT WINAPI EnableMenuItem(HMENU,UINT,UINT);
3668BOOL WINAPI EnableScrollBar(HWND,INT,UINT);
3669BOOL WINAPI EnableWindow(HWND,BOOL);
3670BOOL WINAPI EndDeferWindowPos(HDWP);
3671BOOL WINAPI EndDialog(HWND,INT);
3672BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
3673BOOL WINAPI EnumChildWindows(HWND,WNDENUMPROC,LPARAM);
3674UINT WINAPI EnumClipboardFormats(UINT);
3675INT WINAPI EnumPropsA(HWND,PROPENUMPROCA);
3676INT WINAPI EnumPropsW(HWND,PROPENUMPROCW);
3677#define EnumProps WINELIB_NAME_AW(EnumProps)
3678BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM);
3679BOOL WINAPI EqualRect(const RECT*,const RECT*);
3680BOOL WINAPI EscapeCommFunction(HANDLE,UINT);
3681INT WINAPI ExcludeUpdateRgn(HDC,HWND);
3682#define ExitWindows(a,b) ExitWindowsEx(EWX_LOGOFF,0xffffffff)
3683INT WINAPI FillRect(HDC,const RECT*,HBRUSH);
3684HWND WINAPI FindWindowA(LPCSTR,LPCSTR);
3685HWND WINAPI FindWindowW(LPCWSTR,LPCWSTR);
3686#define FindWindow WINELIB_NAME_AW(FindWindow)
3687HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR);
3688HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR);
3689#define FindWindowEx WINELIB_NAME_AW(FindWindowEx)
3690BOOL WINAPI FlashWindow(HWND,BOOL);
3691INT WINAPI FrameRect(HDC,const RECT*,HBRUSH);
3692HWND WINAPI GetActiveWindow(void);
3693DWORD WINAPI GetAppCompatFlags(HTASK);
3694WORD WINAPI GetAsyncKeyState(INT);
3695HWND WINAPI GetCapture(void);
3696UINT WINAPI GetCaretBlinkTime(void);
3697BOOL WINAPI GetCaretPos(LPPOINT);
3698BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,WNDCLASSA *);
3699BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,WNDCLASSW *);
3700#define GetClassInfo WINELIB_NAME_AW(GetClassInfo)
3701BOOL WINAPI GetClassInfoExA(HINSTANCE,LPCSTR,WNDCLASSEXA *);
3702BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,WNDCLASSEXW *);
3703#define GetClassInfoEx WINELIB_NAME_AW(GetClassInfoEx)
3704LONG WINAPI GetClassLongA(HWND,INT);
3705LONG WINAPI GetClassLongW(HWND,INT);
3706#define GetClassLong WINELIB_NAME_AW(GetClassLong)
3707INT WINAPI GetClassNameA(HWND,LPSTR,INT);
3708INT WINAPI GetClassNameW(HWND,LPWSTR,INT);
3709#define GetClassName WINELIB_NAME_AW(GetClassName)
3710INT WINAPI RealGetWindowClassA(HWND,LPSTR,INT);
3711INT WINAPI RealGetWindowClassW(HWND,LPWSTR,INT);
3712#define RealGetWindowClass WINELIB_NAME_AW(RealGetWindowClass)
3713WORD WINAPI GetClassWord(HWND,INT);
3714BOOL WINAPI GetClientRect(HWND,LPRECT);
3715HANDLE WINAPI GetClipboardData(UINT);
3716INT WINAPI GetClipboardFormatNameA(UINT,LPSTR,INT);
3717INT WINAPI GetClipboardFormatNameW(UINT,LPWSTR,INT);
3718#define GetClipboardFormatName WINELIB_NAME_AW(GetClipboardFormatName)
3719HWND WINAPI GetClipboardOwner(void);
3720HWND WINAPI GetClipboardViewer(void);
3721BOOL WINAPI GetClipCursor(LPRECT);
3722#define GetCurrentTime() GetTickCount()
3723HCURSOR WINAPI GetCursor(void);
3724BOOL WINAPI GetCursorPos(LPPOINT);
3725HDC WINAPI GetDC(HWND);
3726HDC WINAPI GetDCEx(HWND,HRGN,DWORD);
3727HWND WINAPI GetDesktopWindow(void);
3728INT WINAPI GetDlgCtrlID(HWND);
3729HWND WINAPI GetDlgItem(HWND,INT);
3730UINT WINAPI GetDlgItemInt(HWND,INT,BOOL*,BOOL);
3731INT WINAPI GetDlgItemTextA(HWND,INT,LPSTR,UINT);
3732INT WINAPI GetDlgItemTextW(HWND,INT,LPWSTR,UINT);
3733#define GetDlgItemText WINELIB_NAME_AW(GetDlgItemText)
3734UINT WINAPI GetDoubleClickTime(void);
3735HWND WINAPI GetFocus(void);
3736HWND WINAPI GetForegroundWindow(void);
3737BOOL WINAPI GetInputState(void);
3738UINT WINAPI GetInternalWindowPos(HWND,LPRECT,LPPOINT);
3739UINT WINAPI GetKBCodePage(void);
3740INT WINAPI GetKeyboardType(INT);
3741INT WINAPI GetKeyNameTextA(LONG,LPSTR,INT);
3742INT WINAPI GetKeyNameTextW(LONG,LPWSTR,INT);
3743#define GetKeyNameText WINELIB_NAME_AW(GetKeyNameText)
3744INT WINAPI GetKeyboardLayoutNameA(LPSTR);
3745INT WINAPI GetKeyboardLayoutNameW(LPWSTR);
3746#define GetKeyboardLayoutName WINELIB_NAME_AW(GetKeyboardLayoutName)
3747INT16 WINAPI GetKeyState(INT);
3748HWND WINAPI GetLastActivePopup(HWND);
3749HMENU WINAPI GetMenu(HWND);
3750INT WINAPI GetMenuItemCount(HMENU);
3751UINT WINAPI GetMenuItemID(HMENU,INT);
3752BOOL WINAPI GetMenuItemRect(HWND,HMENU,UINT,LPRECT);
3753UINT WINAPI GetMenuState(HMENU,UINT,UINT);
3754INT WINAPI GetMenuStringA(HMENU,UINT,LPSTR,INT,UINT);
3755INT WINAPI GetMenuStringW(HMENU,UINT,LPWSTR,INT,UINT);
3756#define GetMenuString WINELIB_NAME_AW(GetMenuString)
3757BOOL WINAPI GetMessageA(LPMSG,HWND,UINT,UINT);
3758BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT);
3759#define GetMessage WINELIB_NAME_AW(GetMessage)
3760HWND WINAPI GetNextDlgGroupItem(HWND,HWND,BOOL);
3761HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL);
3762#define GetNextWindow GetWindow
3763HWND WINAPI GetOpenClipboardWindow(void);
3764HWND WINAPI GetParent(HWND);
3765INT WINAPI GetPriorityClipboardFormat(UINT*,INT);
3766HANDLE WINAPI GetPropA(HWND,LPCSTR);
3767HANDLE WINAPI GetPropW(HWND,LPCWSTR);
3768#define GetProp WINELIB_NAME_AW(GetProp)
3769DWORD WINAPI GetQueueStatus(UINT);
3770BOOL WINAPI GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO);
3771BOOL WINAPI GetScrollInfo(HWND,INT,LPSCROLLINFO);
3772INT WINAPI GetScrollPos(HWND,INT);
3773BOOL WINAPI GetScrollRange(HWND,INT,LPINT,LPINT);
3774HWND WINAPI GetShellWindow(void);
3775HMENU WINAPI GetSubMenu(HMENU,INT);
3776COLORREF WINAPI GetSysColor(INT);
3777HBRUSH WINAPI GetSysColorBrush(INT);
3778#define GetSysModalWindow() ((HWND)0)
3779HMENU WINAPI GetSystemMenu(HWND,BOOL);
3780INT WINAPI GetSystemMetrics(INT);
3781DWORD WINAPI GetTabbedTextExtentA(HDC,LPCSTR,INT,INT,CONST INT*);
3782DWORD WINAPI GetTabbedTextExtentW(HDC,LPCWSTR,INT,INT,CONST INT*);
3783#define GetTabbedTextExtent WINELIB_NAME_AW(GetTabbedTextExtent)
3784HWND WINAPI GetTopWindow(HWND);
3785BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL);
3786INT WINAPI GetUpdateRgn(HWND,HRGN,BOOL);
3787HWND WINAPI GetWindow(HWND,UINT);
3788HDC WINAPI GetWindowDC(HWND);
3789LONG WINAPI GetWindowLongA(HWND,INT);
3790LONG WINAPI GetWindowLongW(HWND,INT);
3791#define GetWindowLong WINELIB_NAME_AW(GetWindowLong)
3792BOOL WINAPI GetWindowPlacement(HWND,LPWINDOWPLACEMENT);
3793BOOL WINAPI GetWindowRect(HWND,LPRECT);
3794INT WINAPI GetWindowRgn(HWND,HRGN);
3795#define GetWindowTask(hwnd) ((HTASK)GetWindowThreadProcessId(hwnd,NULL))
3796INT WINAPI GetWindowTextA(HWND,LPSTR,INT);
3797INT WINAPI GetWindowTextW(HWND,LPWSTR,INT);
3798#define GetWindowText WINELIB_NAME_AW(GetWindowText)
3799INT WINAPI GetWindowTextLengthA(HWND);
3800INT WINAPI GetWindowTextLengthW(HWND);
3801#define GetWindowTextLength WINELIB_NAME_AW(GetWindowTextLength)
3802WORD WINAPI GetWindowWord(HWND,INT);
3803ATOM WINAPI GlobalAddAtomA(LPCSTR);
3804ATOM WINAPI GlobalAddAtomW(LPCWSTR);
3805#define GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
3806ATOM WINAPI GlobalFindAtomA(LPCSTR);
3807ATOM WINAPI GlobalFindAtomW(LPCWSTR);
3808#define GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
3809UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,INT);
3810UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,INT);
3811#define GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
3812BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,
3813 INT,INT,INT,INT,INT);
3814BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,
3815 INT,INT,INT,INT,INT);
3816#define GrayString WINELIB_NAME_AW(GrayString)
3817BOOL WINAPI HideCaret(HWND);
3818BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
3819BOOL WINAPI InflateRect(LPRECT,INT,INT);
3820BOOL WINAPI InSendMessage(void);
3821BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
3822BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
3823#define InsertMenu WINELIB_NAME_AW(InsertMenu)
3824BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,const MENUITEMINFOA*);
3825BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,const MENUITEMINFOW*);
3826#define InsertMenuItem WINELIB_NAME_AW(InsertMenuItem)
3827BOOL WINAPI IntersectRect(LPRECT,const RECT*,const RECT*);
3828int WINAPI InternalGetWindowText(HWND hwnd, LPWSTR lpString, INT nMaxCount);
3829BOOL WINAPI InvalidateRect(HWND,const RECT*,BOOL);
3830BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
3831BOOL WINAPI InvertRect(HDC,const RECT*);
3832BOOL WINAPI IsCharAlphaA(CHAR);
3833BOOL WINAPI IsCharAlphaW(WCHAR);
3834#define IsCharAlpha WINELIB_NAME_AW(IsCharAlpha)
3835BOOL WINAPI IsCharAlphaNumericA(CHAR);
3836BOOL WINAPI IsCharAlphaNumericW(WCHAR);
3837#define IsCharAlphaNumeric WINELIB_NAME_AW(IsCharAlphaNumeric)
3838BOOL WINAPI IsCharLowerA(CHAR);
3839BOOL WINAPI IsCharLowerW(WCHAR);
3840#define IsCharLower WINELIB_NAME_AW(IsCharLower)
3841BOOL WINAPI IsCharUpperA(CHAR);
3842BOOL WINAPI IsCharUpperW(WCHAR);
3843#define IsCharUpper WINELIB_NAME_AW(IsCharUpper)
3844BOOL WINAPI IsChild(HWND,HWND);
3845BOOL WINAPI IsClipboardFormatAvailable(UINT);
3846BOOL WINAPI IsDialogMessageA(HWND,LPMSG);
3847BOOL WINAPI IsDialogMessageW(HWND,LPMSG);
3848#define IsDialogMessage WINELIB_NAME_AW(IsDialogMessage)
3849UINT WINAPI IsDlgButtonChecked(HWND,UINT);
3850BOOL WINAPI IsIconic(HWND);
3851BOOL WINAPI IsMenu(HMENU);
3852BOOL WINAPI IsRectEmpty(const RECT*);
3853BOOL WINAPI IsWindow(HWND);
3854BOOL WINAPI IsWindowEnabled(HWND);
3855BOOL WINAPI IsWindowVisible(HWND);
3856BOOL WINAPI IsZoomed(HWND);
3857BOOL WINAPI KillSystemTimer(HWND,UINT);
3858BOOL WINAPI KillTimer(HWND,UINT);
3859HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR);
3860HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR);
3861#define LoadAccelerators WINELIB_NAME_AW(LoadAccelerators)
3862HBITMAP WINAPI LoadBitmapA(HANDLE,LPCSTR);
3863HBITMAP WINAPI LoadBitmapW(HANDLE,LPCWSTR);
3864#define LoadBitmap WINELIB_NAME_AW(LoadBitmap)
3865HCURSOR WINAPI LoadCursorA(HINSTANCE,LPCSTR);
3866HCURSOR WINAPI LoadCursorW(HINSTANCE,LPCWSTR);
3867#define LoadCursor WINELIB_NAME_AW(LoadCursor)
3868HCURSOR WINAPI LoadCursorFromFileA(LPCSTR);
3869HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR);
3870#define LoadCursorFromFile WINELIB_NAME_AW(LoadCursorFromFile)
3871HICON WINAPI LoadIconA(HINSTANCE,LPCSTR);
3872HICON WINAPI LoadIconW(HINSTANCE,LPCWSTR);
3873#define LoadIcon WINELIB_NAME_AW(LoadIcon)
3874HANDLE WINAPI LoadImageA(HINSTANCE,LPCSTR,UINT,INT,INT,UINT);
3875HANDLE WINAPI LoadImageW(HINSTANCE,LPCWSTR,UINT,INT,INT,UINT);
3876#define LoadImage WINELIB_NAME_AW(LoadImage)
3877HMENU WINAPI LoadMenuA(HINSTANCE,LPCSTR);
3878HMENU WINAPI LoadMenuW(HINSTANCE,LPCWSTR);
3879#define LoadMenu WINELIB_NAME_AW(LoadMenu)
3880HMENU WINAPI LoadMenuIndirectA(LPCVOID);
3881HMENU WINAPI LoadMenuIndirectW(LPCVOID);
3882#define LoadMenuIndirect WINELIB_NAME_AW(LoadMenuIndirect)
3883INT WINAPI LoadStringA(HINSTANCE,UINT,LPSTR,INT);
3884INT WINAPI LoadStringW(HINSTANCE,UINT,LPWSTR,INT);
3885#define LoadString WINELIB_NAME_AW(LoadString)
3886BOOL WINAPI LockWindowUpdate(HWND);
3887INT WINAPI LookupIconIdFromDirectory(LPBYTE,BOOL);
3888INT WINAPI LookupIconIdFromDirectoryEx(LPBYTE,BOOL,INT,INT,UINT);
3889UINT WINAPI MapVirtualKeyA(UINT,UINT);
3890UINT WINAPI MapVirtualKeyW(UINT,UINT);
3891#define MapVirtualKey WINELIB_NAME_AW(MapVirtualKey)
3892
3893UINT WINAPI MapVirtualKeyExA(UINT,UINT,HKL);
3894UINT WINAPI MapVirtualKeyExW(UINT,UINT,HKL);
3895#define MapVirtualKeyEx WINELIB_NAME_AW(MapVirtualKeyEx)
3896
3897BOOL WINAPI MapDialogRect(HWND,LPRECT);
3898INT WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT);
3899UINT WINAPI MenuItemFromPoint(HWND,HMENU,POINT);
3900BOOL WINAPI MessageBeep(UINT);
3901INT WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
3902INT WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
3903#define MessageBox WINELIB_NAME_AW(MessageBox)
3904INT WINAPI MessageBoxIndirectA(LPMSGBOXPARAMSA);
3905INT WINAPI MessageBoxIndirectW(LPMSGBOXPARAMSW);
3906#define MessageBoxIndirect WINELIB_NAME_AW(MessageBoxIndirect)
3907BOOL WINAPI ModifyMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
3908BOOL WINAPI ModifyMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
3909#define ModifyMenu WINELIB_NAME_AW(ModifyMenu)
3910BOOL WINAPI MoveWindow(HWND,INT,INT,INT,INT,BOOL);
3911BOOL WINAPI OemToCharA(LPCSTR,LPSTR);
3912BOOL WINAPI OemToCharW(LPCSTR,LPWSTR);
3913#define OemToChar WINELIB_NAME_AW(OemToChar)
3914BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD);
3915BOOL WINAPI OemToCharBuffW(LPCSTR,LPWSTR,DWORD);
3916#define OemToCharBuff WINELIB_NAME_AW(OemToCharBuff)
3917BOOL WINAPI OffsetRect(LPRECT,INT,INT);
3918BOOL WINAPI OpenClipboard(HWND);
3919BOOL WINAPI OpenIcon(HWND);
3920BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT);
3921BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT);
3922#define PeekMessage WINELIB_NAME_AW(PeekMessage)
3923#define PostAppMessageA(thread,msg,wparam,lparam) \
3924 PostThreadMessageA((DWORD)(thread),msg,wparam,lparam)
3925#define PostAppMessageW(thread,msg,wparam,lparam) \
3926 PostThreadMessageW((DWORD)(thread),msg,wparam,lparam)
3927#define PostAppMessage WINELIB_NAME_AW(PostAppMessage)
3928BOOL WINAPI PostMessageA(HWND,UINT,WPARAM,LPARAM);
3929BOOL WINAPI PostMessageW(HWND,UINT,WPARAM,LPARAM);
3930#define PostMessage WINELIB_NAME_AW(PostMessage)
3931void WINAPI PostQuitMessage(INT);
3932BOOL WINAPI PtInRect(const RECT*,POINT);
3933BOOL WINAPI RedrawWindow(HWND,const RECT*,HRGN,UINT);
3934ATOM WINAPI RegisterClassA(const WNDCLASSA *);
3935ATOM WINAPI RegisterClassW(const WNDCLASSW *);
3936#define RegisterClass WINELIB_NAME_AW(RegisterClass)
3937ATOM WINAPI RegisterClassExA(const WNDCLASSEXA *);
3938ATOM WINAPI RegisterClassExW(const WNDCLASSEXW *);
3939#define RegisterClassEx WINELIB_NAME_AW(RegisterClassEx)
3940UINT WINAPI RegisterClipboardFormatA(LPCSTR);
3941UINT WINAPI RegisterClipboardFormatW(LPCWSTR);
3942#define RegisterClipboardFormat WINELIB_NAME_AW(RegisterClipboardFormat)
3943UINT WINAPI RegisterWindowMessageA(LPCSTR);
3944UINT WINAPI RegisterWindowMessageW(LPCWSTR);
3945#define RegisterWindowMessage WINELIB_NAME_AW(RegisterWindowMessage)
3946INT WINAPI ReleaseDC(HWND,HDC);
3947BOOL WINAPI RemoveMenu(HMENU,UINT,UINT);
3948HANDLE WINAPI RemovePropA(HWND,LPCSTR);
3949HANDLE WINAPI RemovePropW(HWND,LPCWSTR);
3950#define RemoveProp WINELIB_NAME_AW(RemoveProp)
3951BOOL WINAPI ReplyMessage(LRESULT);
3952BOOL WINAPI ScreenToClient(HWND,LPPOINT);
3953VOID WINAPI ScrollChildren(HWND,UINT,WPARAM,LPARAM);
3954BOOL WINAPI ScrollDC(HDC,INT,INT,const RECT*,const RECT*,
3955 HRGN,LPRECT);
3956BOOL WINAPI ScrollWindow(HWND,INT,INT,const RECT*,const RECT*);
3957INT WINAPI ScrollWindowEx(HWND,INT,INT,const RECT*,
3958 const RECT*,HRGN,LPRECT,UINT);
3959LRESULT WINAPI SendDlgItemMessageA(HWND,INT,UINT,WPARAM,LPARAM);
3960LRESULT WINAPI SendDlgItemMessageW(HWND,INT,UINT,WPARAM,LPARAM);
3961#define SendDlgItemMessage WINELIB_NAME_AW(SendDlgItemMessage)
3962LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM);
3963LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM);
3964#define SendMessage WINELIB_NAME_AW(SendMessage)
3965LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,
3966 UINT,LPDWORD);
3967LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,
3968 UINT,LPDWORD);
3969#define SendMessageTimeout WINELIB_NAME_AW(SendMessageTimeout)
3970HWND WINAPI SetActiveWindow(HWND);
3971HWND WINAPI SetCapture(HWND);
3972BOOL WINAPI SetCaretBlinkTime(UINT);
3973BOOL WINAPI SetCaretPos(INT,INT);
3974LONG WINAPI SetClassLongA(HWND,INT,LONG);
3975LONG WINAPI SetClassLongW(HWND,INT,LONG);
3976#define SetClassLong WINELIB_NAME_AW(SetClassLong)
3977WORD WINAPI SetClassWord(HWND,INT,WORD);
3978HANDLE WINAPI SetClipboardData(UINT,HANDLE);
3979HWND WINAPI SetClipboardViewer(HWND);
3980BOOL WINAPI SetCommBreak(HANDLE);
3981HCURSOR WINAPI SetCursor(HCURSOR);
3982BOOL WINAPI SetCursorPos(INT,INT);
3983BOOL WINAPI SetDeskWallPaper(LPCSTR);
3984BOOL WINAPI SetDlgItemInt(HWND,INT,UINT,BOOL);
3985BOOL WINAPI SetDlgItemTextA(HWND,INT,LPCSTR);
3986BOOL WINAPI SetDlgItemTextW(HWND,INT,LPCWSTR);
3987#define SetDlgItemText WINELIB_NAME_AW(SetDlgItemText)
3988BOOL WINAPI SetDoubleClickTime(UINT);
3989HWND WINAPI SetFocus(HWND);
3990BOOL WINAPI SetForegroundWindow(HWND);
3991void WINAPI SetInternalWindowPos(HWND,UINT,LPRECT,LPPOINT);
3992BOOL WINAPI SetMenu(HWND,HMENU);
3993BOOL WINAPI SetMenuContextHelpId(HMENU,DWORD);
3994BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
3995BOOL WINAPI SetMessageQueue(INT);
3996HWND WINAPI SetParent(HWND,HWND);
3997BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE);
3998BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE);
3999#define SetProp WINELIB_NAME_AW(SetProp)
4000BOOL WINAPI SetRect(LPRECT,INT,INT,INT,INT);
4001BOOL WINAPI SetRectEmpty(LPRECT);
4002INT WINAPI SetScrollInfo(HWND,INT,const SCROLLINFO*,BOOL);
4003INT WINAPI SetScrollPos(HWND,INT,INT,BOOL);
4004BOOL WINAPI SetScrollRange(HWND,INT,INT,INT,BOOL);
4005BOOL WINAPI SetSysColors(INT,const INT*,const COLORREF*);
4006#define SetSysModalWindow(hwnd) ((HWND)0)
4007BOOL WINAPI SetSystemCursor(HCURSOR,DWORD);
4008BOOL WINAPI SetSystemMenu(HWND,HMENU);
4009UINT WINAPI SetSystemTimer(HWND,UINT,UINT,TIMERPROC);
4010UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC);
4011LONG WINAPI SetWindowLongA(HWND,INT,LONG);
4012LONG WINAPI SetWindowLongW(HWND,INT,LONG);
4013#define SetWindowLong WINELIB_NAME_AW(SetWindowLong)
4014BOOL WINAPI SetWindowPlacement(HWND,const WINDOWPLACEMENT*);
4015HHOOK WINAPI SetWindowsHookA(INT,HOOKPROC);
4016HHOOK WINAPI SetWindowsHookW(INT,HOOKPROC);
4017#define SetWindowsHook WINELIB_NAME_AW(SetWindowsHook)
4018HHOOK WINAPI SetWindowsHookExA(INT,HOOKPROC,HINSTANCE,DWORD);
4019HHOOK WINAPI SetWindowsHookExW(INT,HOOKPROC,HINSTANCE,DWORD);
4020#define SetWindowsHookEx WINELIB_NAME_AW(SetWindowsHookEx)
4021BOOL WINAPI SetWindowPos(HWND,HWND,INT,INT,INT,INT,UINT);
4022INT WINAPI SetWindowRgn(HWND,HRGN,BOOL);
4023BOOL WINAPI SetWindowTextA(HWND,LPCSTR);
4024BOOL WINAPI SetWindowTextW(HWND,LPCWSTR);
4025#define SetWindowText WINELIB_NAME_AW(SetWindowText)
4026WORD WINAPI SetWindowWord(HWND,INT,WORD);
4027BOOL WINAPI ShowCaret(HWND);
4028INT WINAPI ShowCursor(BOOL);
4029BOOL WINAPI ShowScrollBar(HWND,INT,BOOL);
4030BOOL WINAPI ShowOwnedPopups(HWND,BOOL);
4031BOOL WINAPI ShowWindow(HWND,INT);
4032BOOL WINAPI ShowWindowAsync(HWND hwnd, int nCmdShow);
4033BOOL WINAPI SubtractRect(LPRECT,const RECT*,const RECT*);
4034BOOL WINAPI SwapMouseButton(BOOL);
4035VOID WINAPI SwitchToThisWindow(HWND,BOOL);
4036BOOL WINAPI SystemParametersInfoA(UINT,UINT,LPVOID,UINT);
4037BOOL WINAPI SystemParametersInfoW(UINT,UINT,LPVOID,UINT);
4038#define SystemParametersInfo WINELIB_NAME_AW(SystemParametersInfo)
4039LONG WINAPI TabbedTextOutA(HDC,INT,INT,LPCSTR,INT,INT,const INT*,INT);
4040LONG WINAPI TabbedTextOutW(HDC,INT,INT,LPCWSTR,INT,INT,const INT*,INT);
4041#define TabbedTextOut WINELIB_NAME_AW(TabbedTextOut)
4042INT WINAPI ToAscii(UINT,UINT,LPBYTE,LPWORD,UINT);
4043INT WINAPI ToAsciiEx(UINT,UINT,LPBYTE,LPWORD,UINT,HKL);
4044BOOL WINAPI TrackPopupMenu(HMENU,UINT,INT,INT,INT,HWND,const RECT*);
4045INT WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG);
4046INT WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG);
4047#define TranslateAccelerator TranslateAcceleratorA
4048BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG);
4049BOOL WINAPI TranslateMessage(const MSG*);
4050BOOL WINAPI UnhookWindowsHook(INT,HOOKPROC);
4051BOOL WINAPI UnhookWindowsHookEx(HHOOK);
4052BOOL WINAPI UnionRect(LPRECT,const RECT*,const RECT*);
4053BOOL WINAPI UnloadKeyboardLayout(HKL hkl);
4054BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
4055BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
4056#define UnregisterClass WINELIB_NAME_AW(UnregisterClass)
4057
4058BOOL WINAPI UpdateWindow(HWND);
4059BOOL WINAPI ValidateRect(HWND,const RECT*);
4060BOOL WINAPI ValidateRgn(HWND,HRGN);
4061WORD WINAPI VkKeyScanA(CHAR);
4062WORD WINAPI VkKeyScanW(WCHAR);
4063#define VkKeyScan WINELIB_NAME_AW(VkKeyScan)
4064WORD WINAPI VkKeyScanExA(CHAR, HKL);
4065WORD WINAPI VkKeyScanExW(WCHAR, HKL);
4066#define VkKeyScanEx WINELIB_NAME_AW(VkKeyScanEx)
4067HWND WINAPI WindowFromDC(HDC);
4068HWND WINAPI WindowFromPoint(POINT);
4069BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD);
4070BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,DWORD);
4071#define WinHelp WINELIB_NAME_AW(WinHelp)
4072DWORD WINAPI WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR);
4073DWORD WINAPI WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR);
4074#define WNetAddConnection WINELIB_NAME_AW(WNetAddConnection)
4075INT WINAPIV wsnprintfA(LPSTR,UINT,LPCSTR,...);
4076INT WINAPIV wsnprintfW(LPWSTR,UINT,LPCWSTR,...);
4077#define wsnprintf WINELIB_NAME_AW(wsnprintf)
4078INT WINAPIV wsprintfA(LPSTR,LPCSTR,...);
4079INT WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
4080#define wsprintf WINELIB_NAME_AW(wsprintf)
4081INT WINAPI wvsnprintfA(LPSTR,UINT,LPCSTR, va_list);
4082INT WINAPI wvsnprintfW(LPWSTR,UINT,LPCWSTR, va_list);
4083#define wvsnprintf WINELIB_NAME_AW(wvsnprintf)
4084INT WINAPI wvsprintfA(LPSTR,LPCSTR, va_list);
4085INT WINAPI wvsprintfW(LPWSTR,LPCWSTR, va_list);
4086#define wvsprintf WINELIB_NAME_AW(wvsprintf)
4087
4088BOOL WINAPI RegisterShellHook16(HWND16,UINT16);
4089/* NOTE: This is SYSTEM.3, not USER.182, which is also named KillSystemTimer */
4090WORD WINAPI SYSTEM_KillSystemTimer( WORD );
4091
4092HRESULT WINAPI PrivateExtractIconsA(LPCSTR,INT,DWORD,DWORD,HICON*,DWORD,UINT,DWORD);
4093HRESULT WINAPI PrivateExtractIconsW(LPCWSTR,INT,DWORD,DWORD,HICON*,DWORD,UINT,DWORD);
4094
4095/* Extra functions that don't exist in the Windows API */
4096
4097HPEN WINAPI GetSysColorPen(INT);
4098HBRUSH WINAPI GetPattern55AABrush(VOID);
4099HBITMAP WINAPI GetPattern55AABitmap(VOID);
4100INT WINAPI LoadMessageA(HMODULE,UINT,WORD,LPSTR,INT);
4101INT WINAPI LoadMessageW(HMODULE,UINT,WORD,LPWSTR,INT);
4102
4103#ifndef SYSTEM
4104 #define SYSTEM _System
4105#endif
4106
4107INT SYSTEM GetOS2UpdateRgn(HWND,HRGN);
4108BOOL SYSTEM GetOS2UpdateRect(HWND,LPRECT);
4109
4110VOID WINAPI ScreenSwitchEnable16(WORD);
4111
4112#define WC_DIALOG (LPSTR)((DWORD)((WORD)( 0x8002)))
4113
4114
4115BOOL WINAPI EnumDesktopsA(HWINSTA hwinsta, DESKTOPENUMPROCA lpEnumFunc, LPARAM lParam);
4116BOOL WINAPI EnumDesktopsW(HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam);
4117
4118BOOL WINAPI SendMessageCallbackA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,
4119 SENDASYNCPROC lpResultCallBack, DWORD dwData);
4120
4121BOOL WINAPI SendMessageCallbackW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,
4122 SENDASYNCPROC lpResultCallBack, DWORD dwData);
4123
4124#ifdef __cplusplus
4125}
4126#endif
4127
4128#endif /* __INCLUDE_WINUSER_H */
Note: See TracBrowser for help on using the repository browser.