Release 951003
[wine/hacks.git] / include / windows.h
blobe151ebf19997ec78b8a97f765b9fc15ad6034693
1 /* Initial draft attempt of windows.h, by Peter MacDonald, pmacdona@sanjuan.uvic.ca */
3 #ifndef WINDOWS_H
4 #define WINDOWS_H
6 #include "wintypes.h"
8 #ifndef WINELIB
9 #pragma pack(1)
10 #endif
12 typedef struct {
13 INT x;
14 INT y;
15 } POINT;
16 typedef POINT *PPOINT;
17 typedef POINT *NPPOINT;
18 typedef POINT *LPPOINT;
20 typedef struct
22 INT cx;
23 INT cy;
24 } SIZE, *LPSIZE;
26 #define MAKEPOINT(l) (*((POINT *)&(l)))
28 #ifdef WINELIB32
29 #define MAKEWPARAM(low, high) ((LONG)(((WORD)(low)) | \
30 (((DWORD)((WORD)(high))) << 16)))
31 #endif
33 #define MAKELPARAM(low, high) ((LONG)(((WORD)(low)) | \
34 (((DWORD)((WORD)(high))) << 16)))
36 typedef struct { INT left, top, right, bottom; } RECT;
37 typedef RECT *LPRECT;
38 typedef RECT *NPRECT;
39 typedef RECT *PRECT;
41 typedef struct {
42 HDC hdc;
43 BOOL fErase;
44 RECT rcPaint;
45 BOOL fRestore, fIncUpdate;
46 BYTE rgbReserved[16];
47 } PAINTSTRUCT;
49 typedef PAINTSTRUCT *PPAINTSTRUCT;
50 typedef PAINTSTRUCT *NPPAINTSTRUCT;
51 typedef PAINTSTRUCT *LPPAINTSTRUCT;
54 /* Window classes */
56 typedef struct {
57 WORD style;
58 WNDPROC lpfnWndProc WINE_PACKED;
59 INT cbClsExtra, cbWndExtra;
60 HANDLE hInstance;
61 HICON hIcon;
62 HCURSOR hCursor;
63 HBRUSH hbrBackground;
64 SEGPTR lpszMenuName WINE_PACKED;
65 SEGPTR lpszClassName WINE_PACKED;
66 } WNDCLASS, *LPWNDCLASS;
68 #define CS_VREDRAW 0x0001
69 #define CS_HREDRAW 0x0002
70 #define CS_KEYCVTWINDOW 0x0004
71 #define CS_DBLCLKS 0x0008
72 #define CS_OWNDC 0x0020
73 #define CS_CLASSDC 0x0040
74 #define CS_PARENTDC 0x0080
75 #define CS_NOKEYCVT 0x0100
76 #define CS_NOCLOSE 0x0200
77 #define CS_SAVEBITS 0x0800
78 #define CS_BYTEALIGNCLIENT 0x1000
79 #define CS_BYTEALIGNWINDOW 0x2000
80 #define CS_GLOBALCLASS 0x4000
82 /* Offsets for GetClassLong() and GetClassWord() */
83 #define GCL_MENUNAME (-8)
84 #define GCW_HBRBACKGROUND (-10)
85 #define GCW_HCURSOR (-12)
86 #define GCW_HICON (-14)
87 #define GCW_HMODULE (-16)
88 #define GCW_CBWNDEXTRA (-18)
89 #define GCW_CBCLSEXTRA (-20)
90 #define GCL_WNDPROC (-24)
91 #define GCW_STYLE (-26)
92 #define GCW_ATOM (-32)
94 /* Windows */
96 typedef struct {
97 LPVOID lpCreateParams;
98 HINSTANCE hInstance;
99 HMENU hMenu;
100 HWND hwndParent;
101 INT cy;
102 INT cx;
103 INT y;
104 INT x;
105 LONG style WINE_PACKED;
106 SEGPTR lpszName WINE_PACKED;
107 SEGPTR lpszClass WINE_PACKED;
108 DWORD dwExStyle WINE_PACKED;
109 } CREATESTRUCT, *LPCREATESTRUCT;
111 typedef struct
113 HMENU hWindowMenu;
114 WORD idFirstChild;
115 } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
117 typedef struct
119 SEGPTR szClass;
120 SEGPTR szTitle;
121 HANDLE hOwner;
122 INT x;
123 INT y;
124 INT cx;
125 INT cy;
126 LONG style WINE_PACKED;
127 LONG lParam WINE_PACKED;
128 } MDICREATESTRUCT, *LPMDICREATESTRUCT;
130 /* Offsets for GetWindowLong() and GetWindowWord() */
131 #define GWL_EXSTYLE (-20)
132 #define GWL_STYLE (-16)
133 #define GWW_ID (-12)
134 #define GWW_HWNDPARENT (-8)
135 #define GWW_HINSTANCE (-6)
136 #define GWL_WNDPROC (-4)
137 #define DWL_MSGRESULT 0
138 #define DWL_DLGPROC 4
139 #define DWL_USER 8
141 /* GetWindow() constants */
142 #define GW_HWNDFIRST 0
143 #define GW_HWNDLAST 1
144 #define GW_HWNDNEXT 2
145 #define GW_HWNDPREV 3
146 #define GW_OWNER 4
147 #define GW_CHILD 5
149 /* WM_GETMINMAXINFO struct */
150 typedef struct
152 POINT ptReserved;
153 POINT ptMaxSize;
154 POINT ptMaxPosition;
155 POINT ptMinTrackSize;
156 POINT ptMaxTrackSize;
157 } MINMAXINFO;
159 /* RedrawWindow() flags */
160 #define RDW_INVALIDATE 0x0001
161 #define RDW_INTERNALPAINT 0x0002
162 #define RDW_ERASE 0x0004
163 #define RDW_VALIDATE 0x0008
164 #define RDW_NOINTERNALPAINT 0x0010
165 #define RDW_NOERASE 0x0020
166 #define RDW_NOCHILDREN 0x0040
167 #define RDW_ALLCHILDREN 0x0080
168 #define RDW_UPDATENOW 0x0100
169 #define RDW_ERASENOW 0x0200
170 #define RDW_FRAME 0x0400
171 #define RDW_NOFRAME 0x0800
173 /* WM_WINDOWPOSCHANGING/CHANGED struct */
174 typedef struct
176 HWND hwnd;
177 HWND hwndInsertAfter;
178 int x;
179 int y;
180 int cx;
181 int cy;
182 UINT flags;
183 } WINDOWPOS;
185 /* SetWindowPlacement() struct */
186 typedef struct
188 UINT length;
189 UINT flags;
190 UINT showCmd;
191 POINT ptMinPosition WINE_PACKED;
192 POINT ptMaxPosition WINE_PACKED;
193 RECT rcNormalPosition WINE_PACKED;
194 } WINDOWPLACEMENT, *LPWINDOWPLACEMENT;
196 /* WINDOWPLACEMENT flags */
197 #define WPF_SETMINPOSITION 0x0001
198 #define WPF_RESTORETOMAXIMIZED 0x0002
200 /* WM_MOUSEACTIVATE return values */
201 #define MA_ACTIVATE 1
202 #define MA_ACTIVATEANDEAT 2
203 #define MA_NOACTIVATE 3
204 #define MA_NOACTIVATEANDEAT 4
206 /* WM_ACTIVATE wParam values */
207 #define WA_INACTIVE 0
208 #define WA_ACTIVE 1
209 #define WA_CLICKACTIVE 2
211 /* WM_NCCALCSIZE parameter structure */
212 typedef struct
214 RECT rgrc[3];
215 WINDOWPOS FAR* lppos;
216 } NCCALCSIZE_PARAMS;
218 /* WM_NCCALCSIZE return flags */
219 #define WVR_ALIGNTOP 0x0010
220 #define WVR_ALIGNLEFT 0x0020
221 #define WVR_ALIGNBOTTOM 0x0040
222 #define WVR_ALIGNRIGHT 0x0080
223 #define WVR_HREDRAW 0x0100
224 #define WVR_VREDRAW 0x0200
225 #define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW)
226 #define WVR_VALIDRECTS 0x0400
228 /* WM_NCHITTEST return codes */
229 #define HTERROR (-2)
230 #define HTTRANSPARENT (-1)
231 #define HTNOWHERE 0
232 #define HTCLIENT 1
233 #define HTCAPTION 2
234 #define HTSYSMENU 3
235 #define HTSIZE 4
236 #define HTMENU 5
237 #define HTHSCROLL 6
238 #define HTVSCROLL 7
239 #define HTMINBUTTON 8
240 #define HTMAXBUTTON 9
241 #define HTLEFT 10
242 #define HTRIGHT 11
243 #define HTTOP 12
244 #define HTTOPLEFT 13
245 #define HTTOPRIGHT 14
246 #define HTBOTTOM 15
247 #define HTBOTTOMLEFT 16
248 #define HTBOTTOMRIGHT 17
249 #define HTBORDER 18
250 #define HTGROWBOX HTSIZE
251 #define HTREDUCE HTMINBUTTON
252 #define HTZOOM HTMAXBUTTON
254 /* WM_SYSCOMMAND parameters */
255 #define SC_SIZE 0xf000
256 #define SC_MOVE 0xf010
257 #define SC_MINIMIZE 0xf020
258 #define SC_MAXIMIZE 0xf030
259 #define SC_NEXTWINDOW 0xf040
260 #define SC_PREVWINDOW 0xf050
261 #define SC_CLOSE 0xf060
262 #define SC_VSCROLL 0xf070
263 #define SC_HSCROLL 0xf080
264 #define SC_MOUSEMENU 0xf090
265 #define SC_KEYMENU 0xf100
266 #define SC_ARRANGE 0xf110
267 #define SC_RESTORE 0xf120
268 #define SC_TASKLIST 0xf130
269 #define SC_SCREENSAVE 0xf140
270 #define SC_HOTKEY 0xf150
272 /***** Window hooks *****/
274 /* Hook values */
275 #define WH_JOURNALRECORD 0
276 #define WH_JOURNALPLAYBACK 1
277 #define WH_KEYBOARD 2
278 #define WH_GETMESSAGE 3
279 #define WH_CALLWNDPROC 4
280 #define WH_CBT 5
281 #define WH_SYSMSGFILTER 6
282 #define WH_MOUSE 7
283 #define WH_HARDWARE 8
284 #define WH_DEBUG 9
285 #define WH_SHELL 10
286 #define WH_MSGFILTER (-1)
288 /* Hook action codes */
289 #define HC_ACTION 0
290 #define HC_GETNEXT 1
291 #define HC_SKIP 2
292 #define HC_NOREMOVE 3
293 #define HC_NOREM HC_NOREMOVE
294 #define HC_SYSMODALON 4
295 #define HC_SYSMODALOFF 5
297 /* CallMsgFilter() values */
298 #define MSGF_DIALOGBOX 0
299 #define MSGF_MENU 2
300 #define MSGF_MOVE 3
301 #define MSGF_SIZE 4
302 #define MSGF_SCROLLBAR 5
303 #define MSGF_NEXTWINDOW 6
304 #define MSGF_MAINLOOP 8
305 #define MSGF_USER 4096
307 /* Journalling hook values */
308 #define HC_GETNEXT 1
309 #define HC_SKIP 2
310 #define HC_NOREMOVE 3
311 #define HC_NOREM HC_NOREMOVE
312 #define HC_SYSMODALON 4
313 #define HC_SYSMODALOFF 5
315 /* Journalling hook structure */
316 typedef struct tagEVENTMSG
318 UINT message;
319 UINT paramL;
320 UINT paramH;
321 DWORD time WINE_PACKED;
322 } EVENTMSG, *LPEVENTMSG;
324 /* Mouse hook structure */
325 typedef struct tagMOUSEHOOKSTRUCT
327 POINT pt;
328 HWND hwnd;
329 WORD wHitTestCode;
330 DWORD dwExtraInfo;
331 } MOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT;
333 /* Hardware hook structure */
334 typedef struct tagHARDWAREHOOKSTRUCT
336 HWND hWnd;
337 UINT wMessage;
338 WPARAM wParam;
339 LPARAM lParam WINE_PACKED;
340 } HARDWAREHOOKSTRUCT;
342 /* CBT hook values */
343 #define HCBT_MOVESIZE 0
344 #define HCBT_MINMAX 1
345 #define HCBT_QS 2
346 #define HCBT_CREATEWND 3
347 #define HCBT_DESTROYWND 4
348 #define HCBT_ACTIVATE 5
349 #define HCBT_CLICKSKIPPED 6
350 #define HCBT_KEYSKIPPED 7
351 #define HCBT_SYSCOMMAND 8
352 #define HCBT_SETFOCUS 9
354 /* CBT hook structures */
355 typedef struct tagCBT_CREATEWND
357 CREATESTRUCT *lpcs;
358 HWND hwndInsertAfter;
359 } CBT_CREATEWND, *LPCBT_CREATEWND;
361 typedef struct tagCBTACTIVATESTRUCT
363 BOOL fMouse;
364 HWND hWndActive;
365 } CBTACTIVATESTRUCT;
367 /* Shell hook values */
368 #define HSHELL_WINDOWCREATED 1
369 #define HSHELL_WINDOWDESTROYED 2
370 #define HSHELL_ACTIVATESHELLWINDOW 3
372 /* Debug hook structure */
373 typedef struct tagDEBUGHOOKINFO
375 HANDLE hModuleHook;
376 LPARAM reserved WINE_PACKED;
377 LPARAM lParam WINE_PACKED;
378 WPARAM wParam;
379 short code;
380 } DEBUGHOOKINFO, *LPDEBUGHOOKINFO;
383 /***** Dialogs *****/
385 /* cbWndExtra bytes for dialog class */
386 #define DLGWINDOWEXTRA 30
388 /* Dialog styles */
389 #define DS_ABSALIGN 0x001
390 #define DS_SYSMODAL 0x002
391 #define DS_LOCALEDIT 0x020
392 #define DS_SETFONT 0x040
393 #define DS_MODALFRAME 0x080
394 #define DS_NOIDLEMSG 0x100
396 /* Dialog messages */
397 #define DM_GETDEFID (WM_USER+0)
398 #define DM_SETDEFID (WM_USER+1)
400 #define DC_HASDEFID 0x534b
402 /* WM_GETDLGCODE values */
403 #define DLGC_WANTARROWS 0x0001
404 #define DLGC_WANTTAB 0x0002
405 #define DLGC_WANTALLKEYS 0x0004
406 #define DLGC_WANTMESSAGE 0x0004
407 #define DLGC_HASSETSEL 0x0008
408 #define DLGC_DEFPUSHBUTTON 0x0010
409 #define DLGC_UNDEFPUSHBUTTON 0x0020
410 #define DLGC_RADIOBUTTON 0x0040
411 #define DLGC_WANTCHARS 0x0080
412 #define DLGC_STATIC 0x0100
413 #define DLGC_BUTTON 0x2000
415 /* Standard dialog button IDs */
416 #define IDOK 1
417 #define IDCANCEL 2
418 #define IDABORT 3
419 #define IDRETRY 4
420 #define IDIGNORE 5
421 #define IDYES 6
422 #define IDNO 7
425 typedef struct tagMSG
427 HWND hwnd;
428 WORD message;
429 WORD wParam;
430 DWORD lParam WINE_PACKED;
431 DWORD time WINE_PACKED;
432 POINT pt WINE_PACKED;
433 } MSG, *LPMSG;
435 typedef WORD ATOM;
437 #define MAKEINTATOM(i) ((SEGPTR)MAKELONG((i),0))
439 /* Raster operations */
441 #define R2_BLACK 1
442 #define R2_NOTMERGEPEN 2
443 #define R2_MASKNOTPEN 3
444 #define R2_NOTCOPYPEN 4
445 #define R2_MASKPENNOT 5
446 #define R2_NOT 6
447 #define R2_XORPEN 7
448 #define R2_NOTMASKPEN 8
449 #define R2_MASKPEN 9
450 #define R2_NOTXORPEN 10
451 #define R2_NOP 11
452 #define R2_MERGENOTPEN 12
453 #define R2_COPYPEN 13
454 #define R2_MERGEPENNOT 14
455 #define R2_MERGEPEN 15
456 #define R2_WHITE 16
458 #define SRCCOPY 0xcc0020
459 #define SRCPAINT 0xee0086
460 #define SRCAND 0x8800c6
461 #define SRCINVERT 0x660046
462 #define SRCERASE 0x440328
463 #define NOTSRCCOPY 0x330008
464 #define NOTSRCERASE 0x1100a6
465 #define MERGECOPY 0xc000ca
466 #define MERGEPAINT 0xbb0226
467 #define PATCOPY 0xf00021
468 #define PATPAINT 0xfb0a09
469 #define PATINVERT 0x5a0049
470 #define DSTINVERT 0x550009
471 #define BLACKNESS 0x000042
472 #define WHITENESS 0xff0062
474 /* StretchBlt() modes */
475 #define BLACKONWHITE 1
476 #define WHITEONBLACK 2
477 #define COLORONCOLOR 3
479 #define STRETCH_ANDSCANS BLACKONWHITE
480 #define STRETCH_ORSCANS WHITEONBLACK
481 #define STRETCH_DELETESCANS COLORONCOLOR
484 /* Colors */
486 typedef DWORD COLORREF;
488 #define RGB(r,g,b) ((COLORREF)((r) | ((g) << 8) | ((b) << 16)))
489 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
490 #define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (WORD)(i)))
492 #define GetRValue(rgb) ((rgb) & 0xff)
493 #define GetGValue(rgb) (((rgb) >> 8) & 0xff)
494 #define GetBValue(rgb) (((rgb) >> 16) & 0xff)
496 #define COLOR_SCROLLBAR 0
497 #define COLOR_BACKGROUND 1
498 #define COLOR_ACTIVECAPTION 2
499 #define COLOR_INACTIVECAPTION 3
500 #define COLOR_MENU 4
501 #define COLOR_WINDOW 5
502 #define COLOR_WINDOWFRAME 6
503 #define COLOR_MENUTEXT 7
504 #define COLOR_WINDOWTEXT 8
505 #define COLOR_CAPTIONTEXT 9
506 #define COLOR_ACTIVEBORDER 10
507 #define COLOR_INACTIVEBORDER 11
508 #define COLOR_APPWORKSPACE 12
509 #define COLOR_HIGHLIGHT 13
510 #define COLOR_HIGHLIGHTTEXT 14
511 #define COLOR_BTNFACE 15
512 #define COLOR_BTNSHADOW 16
513 #define COLOR_GRAYTEXT 17
514 #define COLOR_BTNTEXT 18
515 #define COLOR_INACTIVECAPTIONTEXT 19
516 #define COLOR_BTNHIGHLIGHT 20
518 /* WM_CTLCOLOR values */
519 #define CTLCOLOR_MSGBOX 0
520 #define CTLCOLOR_EDIT 1
521 #define CTLCOLOR_LISTBOX 2
522 #define CTLCOLOR_BTN 3
523 #define CTLCOLOR_DLG 4
524 #define CTLCOLOR_SCROLLBAR 5
525 #define CTLCOLOR_STATIC 6
527 /* Bitmaps */
529 typedef struct tagBITMAP
531 INT bmType;
532 INT bmWidth;
533 INT bmHeight;
534 INT bmWidthBytes;
535 BYTE bmPlanes;
536 BYTE bmBitsPixel;
537 void * bmBits WINE_PACKED;
538 } BITMAP;
540 typedef BITMAP *PBITMAP;
541 typedef BITMAP *NPBITMAP;
542 typedef BITMAP *LPBITMAP;
544 /* Brushes */
546 typedef struct tagLOGBRUSH
548 WORD lbStyle;
549 COLORREF lbColor WINE_PACKED;
550 #ifdef WINELIB32
551 LONG lbHatch;
552 #else
553 INT lbHatch;
554 #endif
555 } LOGBRUSH, *PLOGBRUSH, *NPLOGBRUSH, *LPLOGBRUSH;
557 /* Brush styles */
558 #define BS_SOLID 0
559 #define BS_NULL 1
560 #define BS_HOLLOW 1
561 #define BS_HATCHED 2
562 #define BS_PATTERN 3
563 #define BS_INDEXED 4
564 #define BS_DIBPATTERN 5
566 /* Hatch styles */
567 #define HS_HORIZONTAL 0
568 #define HS_VERTICAL 1
569 #define HS_FDIAGONAL 2
570 #define HS_BDIAGONAL 3
571 #define HS_CROSS 4
572 #define HS_DIAGCROSS 5
574 /* Fonts */
576 #define LF_FACESIZE 32
577 #define LF_FULLFACESIZE 64
579 typedef struct tagLOGFONT
581 INT lfHeight, lfWidth, lfEscapement, lfOrientation, lfWeight;
582 BYTE lfItalic, lfUnderline, lfStrikeOut, lfCharSet;
583 BYTE lfOutPrecision, lfClipPrecision, lfQuality, lfPitchAndFamily;
584 BYTE lfFaceName[LF_FACESIZE] WINE_PACKED;
585 } LOGFONT, *PLOGFONT, *NPLOGFONT, *LPLOGFONT;
587 typedef struct tagENUMLOGFONT
589 LOGFONT elfLogFont;
590 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
591 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
592 } ENUMLOGFONT,*PENUMLOGFONT,*NPENUMLOGFONT,*LPENUMLOGFONT;
594 /* lfWeight values */
595 #define FW_DONTCARE 0
596 #define FW_THIN 100
597 #define FW_EXTRALIGHT 200
598 #define FW_ULTRALIGHT 200
599 #define FW_LIGHT 300
600 #define FW_NORMAL 400
601 #define FW_REGULAR 400
602 #define FW_MEDIUM 500
603 #define FW_SEMIBOLD 600
604 #define FW_DEMIBOLD 600
605 #define FW_BOLD 700
606 #define FW_EXTRABOLD 800
607 #define FW_ULTRABOLD 800
608 #define FW_HEAVY 900
609 #define FW_BLACK 900
611 /* lfCharSet values */
612 #define ANSI_CHARSET 0
613 #define DEFAULT_CHARSET 1
614 #define SYMBOL_CHARSET 2
615 #define SHIFTJIS_CHARSET 128
616 #define OEM_CHARSET 255
618 /* lfOutPrecision values */
619 #define OUT_DEFAULT_PRECIS 0
620 #define OUT_STRING_PRECIS 1
621 #define OUT_CHARACTER_PRECIS 2
622 #define OUT_STROKE_PRECIS 3
623 #define OUT_TT_PRECIS 4
624 #define OUT_DEVICE_PRECIS 5
625 #define OUT_RASTER_PRECIS 6
626 #define OUT_TT_ONLY_PRECIS 7
628 /* lfClipPrecision values */
629 #define CLIP_DEFAULT_PRECIS 0x00
630 #define CLIP_CHARACTER_PRECIS 0x01
631 #define CLIP_STROKE_PRECIS 0x02
632 #define CLIP_MASK 0x0F
633 #define CLIP_LH_ANGLES 0x10
634 #define CLIP_TT_ALWAYS 0x20
635 #define CLIP_EMBEDDED 0x80
637 /* lfQuality values */
638 #define DEFAULT_QUALITY 0
639 #define DRAFT_QUALITY 1
640 #define PROOF_QUALITY 2
642 /* lfPitchAndFamily pitch values */
643 #define DEFAULT_PITCH 0x00
644 #define FIXED_PITCH 0x01
645 #define VARIABLE_PITCH 0x02
646 #define FF_DONTCARE 0x00
647 #define FF_ROMAN 0x10
648 #define FF_SWISS 0x20
649 #define FF_MODERN 0x30
650 #define FF_SCRIPT 0x40
651 #define FF_DECORATIVE 0x50
653 typedef struct tagTEXTMETRIC
655 INT tmHeight;
656 INT tmAscent;
657 INT tmDescent;
658 INT tmInternalLeading;
659 INT tmExternalLeading;
660 INT tmAveCharWidth;
661 INT tmMaxCharWidth;
662 INT tmWeight;
663 BYTE tmItalic;
664 BYTE tmUnderlined;
665 BYTE tmStruckOut;
666 BYTE tmFirstChar;
667 BYTE tmLastChar;
668 BYTE tmDefaultChar;
669 BYTE tmBreakChar;
670 BYTE tmPitchAndFamily;
671 BYTE tmCharSet;
672 INT tmOverhang WINE_PACKED;
673 INT tmDigitizedAspectX WINE_PACKED;
674 INT tmDigitizedAspectY WINE_PACKED;
675 } TEXTMETRIC, *PTEXTMETRIC, *NPTEXTMETRIC, *LPTEXTMETRIC;
677 /* tmPitchAndFamily values */
678 #define TMPF_FIXED_PITCH 1
679 #define TMPF_VECTOR 2
680 #define TMPF_TRUETYPE 4
681 #define TMPF_DEVICE 8
683 /* Text alignment */
684 #define TA_NOUPDATECP 0x00
685 #define TA_UPDATECP 0x01
686 #define TA_LEFT 0x00
687 #define TA_RIGHT 0x02
688 #define TA_CENTER 0x06
689 #define TA_TOP 0x00
690 #define TA_BOTTOM 0x08
691 #define TA_BASELINE 0x18
693 /* ExtTextOut() parameters */
694 #define ETO_GRAYED 0x01
695 #define ETO_OPAQUE 0x02
696 #define ETO_CLIPPED 0x04
698 /* Rasterizer status */
699 typedef struct
701 WORD nSize;
702 WORD wFlags;
703 WORD nLanguageID;
704 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
706 #define TT_AVAILABLE 0x0001
707 #define TT_ENABLED 0x0002
709 /* Get/SetSystemPaletteUse() values */
710 #define SYSPAL_STATIC 1
711 #define SYSPAL_NOSTATIC 2
713 typedef struct tagPALETTEENTRY
715 BYTE peRed, peGreen, peBlue, peFlags;
716 } PALETTEENTRY, *LPPALETTEENTRY;
718 typedef struct tagLOGPALETTE
720 WORD palVersion;
721 WORD palNumEntries;
722 PALETTEENTRY palPalEntry[1] WINE_PACKED;
723 } LOGPALETTE, *PLOGPALETTE, *NPLOGPALETTE, *LPLOGPALETTE;
726 /* Pens */
728 typedef struct tagLOGPEN
730 WORD lopnStyle;
731 POINT lopnWidth WINE_PACKED;
732 COLORREF lopnColor WINE_PACKED;
733 } LOGPEN, *PLOGPEN, *NPLOGPEN, *LPLOGPEN;
735 #define PS_SOLID 0
736 #define PS_DASH 1
737 #define PS_DOT 2
738 #define PS_DASHDOT 3
739 #define PS_DASHDOTDOT 4
740 #define PS_NULL 5
741 #define PS_INSIDEFRAME 6
743 /* Regions */
745 #define ERROR 0
746 #define NULLREGION 1
747 #define SIMPLEREGION 2
748 #define COMPLEXREGION 3
750 #define RGN_AND 1
751 #define RGN_OR 2
752 #define RGN_XOR 3
753 #define RGN_DIFF 4
754 #define RGN_COPY 5
756 /* Device contexts */
758 /* GetDCEx flags */
759 #define DCX_WINDOW 0x00000001
760 #define DCX_CACHE 0x00000002
761 #define DCX_CLIPCHILDREN 0x00000008
762 #define DCX_CLIPSIBLINGS 0x00000010
763 #define DCX_PARENTCLIP 0x00000020
764 #define DCX_EXCLUDERGN 0x00000040
765 #define DCX_INTERSECTRGN 0x00000080
766 #define DCX_LOCKWINDOWUPDATE 0x00000400
767 #define DCX_USESTYLE 0x00010000
769 /* Polygon modes */
770 #define ALTERNATE 1
771 #define WINDING 2
773 /* Background modes */
774 #define TRANSPARENT 1
775 #define OPAQUE 2
777 /* Map modes */
778 #define MM_TEXT 1
779 #define MM_LOMETRIC 2
780 #define MM_HIMETRIC 3
781 #define MM_LOENGLISH 4
782 #define MM_HIENGLISH 5
783 #define MM_TWIPS 6
784 #define MM_ISOTROPIC 7
785 #define MM_ANISOTROPIC 8
787 /* Coordinate modes */
788 #define ABSOLUTE 1
789 #define RELATIVE 2
791 /* Flood fill modes */
792 #define FLOODFILLBORDER 0
793 #define FLOODFILLSURFACE 1
795 /* Device parameters for GetDeviceCaps() */
796 #define DRIVERVERSION 0
797 #define TECHNOLOGY 2
798 #define HORZSIZE 4
799 #define VERTSIZE 6
800 #define HORZRES 8
801 #define VERTRES 10
802 #define BITSPIXEL 12
803 #define PLANES 14
804 #define NUMBRUSHES 16
805 #define NUMPENS 18
806 #define NUMMARKERS 20
807 #define NUMFONTS 22
808 #define NUMCOLORS 24
809 #define PDEVICESIZE 26
810 #define CURVECAPS 28
811 #define LINECAPS 30
812 #define POLYGONALCAPS 32
813 #define TEXTCAPS 34
814 #define CLIPCAPS 36
815 #define RASTERCAPS 38
816 #define ASPECTX 40
817 #define ASPECTY 42
818 #define ASPECTXY 44
819 #define LOGPIXELSX 88
820 #define LOGPIXELSY 90
821 #define SIZEPALETTE 104
822 #define NUMRESERVED 106
823 #define COLORRES 108
825 /* TECHNOLOGY */
826 #define DT_PLOTTER 0
827 #define DT_RASDISPLAY 1
828 #define DT_RASPRINTER 2
829 #define DT_RASCAMERA 3
830 #define DT_CHARSTREAM 4
831 #define DT_METAFILE 5
832 #define DT_DISPFILE 6
834 /* CURVECAPS */
835 #define CC_NONE 0x0000
836 #define CC_CIRCLES 0x0001
837 #define CC_PIE 0x0002
838 #define CC_CHORD 0x0004
839 #define CC_ELLIPSES 0x0008
840 #define CC_WIDE 0x0010
841 #define CC_STYLED 0x0020
842 #define CC_WIDESTYLED 0x0040
843 #define CC_INTERIORS 0x0080
844 #define CC_ROUNDRECT 0x0100
846 /* LINECAPS */
847 #define LC_NONE 0x0000
848 #define LC_POLYLINE 0x0002
849 #define LC_MARKER 0x0004
850 #define LC_POLYMARKER 0x0008
851 #define LC_WIDE 0x0010
852 #define LC_STYLED 0x0020
853 #define LC_WIDESTYLED 0x0040
854 #define LC_INTERIORS 0x0080
856 /* POLYGONALCAPS */
857 #define PC_NONE 0x0000
858 #define PC_POLYGON 0x0001
859 #define PC_RECTANGLE 0x0002
860 #define PC_WINDPOLYGON 0x0004
861 #define PC_SCANLINE 0x0008
862 #define PC_WIDE 0x0010
863 #define PC_STYLED 0x0020
864 #define PC_WIDESTYLED 0x0040
865 #define PC_INTERIORS 0x0080
867 /* TEXTCAPS */
868 #define TC_OP_CHARACTER 0x0001
869 #define TC_OP_STROKE 0x0002
870 #define TC_CP_STROKE 0x0004
871 #define TC_CR_90 0x0008
872 #define TC_CR_ANY 0x0010
873 #define TC_SF_X_YINDEP 0x0020
874 #define TC_SA_DOUBLE 0x0040
875 #define TC_SA_INTEGER 0x0080
876 #define TC_SA_CONTIN 0x0100
877 #define TC_EA_DOUBLE 0x0200
878 #define TC_IA_ABLE 0x0400
879 #define TC_UA_ABLE 0x0800
880 #define TC_SO_ABLE 0x1000
881 #define TC_RA_ABLE 0x2000
882 #define TC_VA_ABLE 0x4000
883 #define TC_RESERVED 0x8000
885 /* CLIPCAPS */
886 #define CP_NONE 0x0000
887 #define CP_RECTANGLE 0x0001
888 #define CP_REGION 0x0002
890 /* RASTERCAPS */
891 #define RC_NONE 0x0000
892 #define RC_BITBLT 0x0001
893 #define RC_BANDING 0x0002
894 #define RC_SCALING 0x0004
895 #define RC_BITMAP64 0x0008
896 #define RC_GDI20_OUTPUT 0x0010
897 #define RC_GDI20_STATE 0x0020
898 #define RC_SAVEBITMAP 0x0040
899 #define RC_DI_BITMAP 0x0080
900 #define RC_PALETTE 0x0100
901 #define RC_DIBTODEV 0x0200
902 #define RC_BIGFONT 0x0400
903 #define RC_STRETCHBLT 0x0800
904 #define RC_FLOODFILL 0x1000
905 #define RC_STRETCHDIB 0x2000
906 #define RC_OP_DX_OUTPUT 0x4000
907 #define RC_DEVBITS 0x8000
909 /* GetSystemMetrics() codes */
910 #define SM_CXSCREEN 0
911 #define SM_CYSCREEN 1
912 #define SM_CXVSCROLL 2
913 #define SM_CYHSCROLL 3
914 #define SM_CYCAPTION 4
915 #define SM_CXBORDER 5
916 #define SM_CYBORDER 6
917 #define SM_CXDLGFRAME 7
918 #define SM_CYDLGFRAME 8
919 #define SM_CYVTHUMB 9
920 #define SM_CXHTHUMB 10
921 #define SM_CXICON 11
922 #define SM_CYICON 12
923 #define SM_CXCURSOR 13
924 #define SM_CYCURSOR 14
925 #define SM_CYMENU 15
926 #define SM_CXFULLSCREEN 16
927 #define SM_CYFULLSCREEN 17
928 #define SM_CYKANJIWINDOW 18
929 #define SM_MOUSEPRESENT 19
930 #define SM_CYVSCROLL 20
931 #define SM_CXHSCROLL 21
932 #define SM_DEBUG 22
933 #define SM_SWAPBUTTON 23
934 #define SM_RESERVED1 24
935 #define SM_RESERVED2 25
936 #define SM_RESERVED3 26
937 #define SM_RESERVED4 27
938 #define SM_CXMIN 28
939 #define SM_CYMIN 29
940 #define SM_CXSIZE 30
941 #define SM_CYSIZE 31
942 #define SM_CXFRAME 32
943 #define SM_CYFRAME 33
944 #define SM_CXMINTRACK 34
945 #define SM_CYMINTRACK 35
946 #define SM_CXDOUBLECLK 36
947 #define SM_CYDOUBLECLK 37
948 #define SM_CXICONSPACING 38
949 #define SM_CYICONSPACING 39
950 #define SM_MENUDROPALIGNMENT 40
951 #define SM_PENWINDOWS 41
952 #define SM_DBCSENABLED 42
954 #define SM_CMETRICS 43
956 /* Device-independent bitmaps */
958 typedef struct { BYTE rgbBlue, rgbGreen, rgbRed, rgbReserved; } RGBQUAD;
959 typedef struct { BYTE rgbtBlue, rgbtGreen, rgbtRed; } RGBTRIPLE;
961 typedef struct
963 UINT bfType;
964 DWORD bfSize WINE_PACKED;
965 UINT bfReserved1 WINE_PACKED;
966 UINT bfReserved2 WINE_PACKED;
967 DWORD bfOffBits WINE_PACKED;
968 } BITMAPFILEHEADER;
970 typedef struct tagBITMAPINFOHEADER
972 DWORD biSize;
973 DWORD biWidth;
974 DWORD biHeight;
975 WORD biPlanes;
976 WORD biBitCount;
977 DWORD biCompression;
978 DWORD biSizeImage;
979 DWORD biXPelsPerMeter;
980 DWORD biYPelsPerMeter;
981 DWORD biClrUsed;
982 DWORD biClrImportant;
983 } BITMAPINFOHEADER;
985 typedef BITMAPINFOHEADER * LPBITMAPINFOHEADER;
986 typedef BITMAPINFOHEADER * NPBITMAPINFOHEADER;
987 typedef BITMAPINFOHEADER * PBITMAPINFOHEADER;
989 /* biCompression */
990 #define BI_RGB 0
991 #define BI_RLE8 1
992 #define BI_RLE4 2
994 typedef struct {
995 BITMAPINFOHEADER bmiHeader;
996 RGBQUAD bmiColors[1];
997 } BITMAPINFO;
998 typedef BITMAPINFO *LPBITMAPINFO;
999 typedef BITMAPINFO *NPBITMAPINFO;
1000 typedef BITMAPINFO *PBITMAPINFO;
1002 typedef struct
1004 unsigned long bcSize;
1005 UINT bcWidth;
1006 UINT bcHeight;
1007 UINT bcPlanes;
1008 UINT bcBitCount;
1009 } BITMAPCOREHEADER;
1011 typedef struct
1013 BITMAPCOREHEADER bmciHeader;
1014 RGBTRIPLE bmciColors[1];
1015 } BITMAPCOREINFO, *LPBITMAPCOREINFO;
1017 #define DIB_RGB_COLORS 0
1018 #define DIB_PAL_COLORS 1
1019 #define CBM_INIT 4
1022 /* Cursors / Icons */
1024 typedef struct
1026 POINT ptHotSpot;
1027 WORD nWidth;
1028 WORD nHeight;
1029 WORD nWidthBytes;
1030 BYTE bPlanes;
1031 BYTE bBitsPerPixel;
1032 } CURSORICONINFO;
1036 typedef struct {
1037 BYTE i; /* much more .... */
1038 } KANJISTRUCT;
1039 typedef KANJISTRUCT *LPKANJISTRUCT;
1040 typedef KANJISTRUCT *NPKANJISTRUCT;
1041 typedef KANJISTRUCT *PKANJISTRUCT;
1043 typedef struct {
1044 BYTE cBytes, fFixedDisk;
1045 WORD nErrCode;
1046 BYTE reserved[4], szPathName[128];
1047 } OFSTRUCT;
1048 typedef OFSTRUCT *POFSTRUCT;
1049 typedef OFSTRUCT *NPOFSTRUCT;
1050 typedef OFSTRUCT *LPOFSTRUCT;
1052 #define OF_READ 0x0000
1053 #define OF_WRITE 0x0001
1054 #define OF_READWRITE 0x0002
1055 #define OF_CANCEL 0x0800
1056 #define OF_CREATE 0x1000
1057 #define OF_DELETE 0x0200
1058 #define OF_EXIST 0x4000
1059 #define OF_PARSE 0x0100
1060 #define OF_PROMPT 0x2000
1061 #define OF_REOPEN 0x8000
1062 #define OF_SHARE_COMPAT 0x0000
1063 #define OF_SHARE_DENY_NONE 0x0040
1064 #define OF_SHARE_DENY_READ 0x0030
1065 #define OF_SHARE_DENY_WRITE 0x0020
1066 #define OF_SHARE_EXCLUSIVE 0x0010
1067 #define OF_VERIFY 0x0400
1069 #define DRIVE_CANNOTDETERMINE 0
1070 #define DRIVE_DOESNOTEXIST 1
1071 #define DRIVE_REMOVABLE 2
1072 #define DRIVE_FIXED 3
1073 #define DRIVE_REMOTE 4
1075 #define HFILE_ERROR -1
1077 #define DDL_READWRITE 0x0000
1078 #define DDL_READONLY 0x0001
1079 #define DDL_HIDDEN 0x0002
1080 #define DDL_SYSTEM 0x0004
1081 #define DDL_DIRECTORY 0x0010
1082 #define DDL_ARCHIVE 0x0020
1084 #define DDL_POSTMSGS 0x2000
1085 #define DDL_DRIVES 0x4000
1086 #define DDL_EXCLUSIVE 0x8000
1088 /* comm */
1090 #define CBR_110 0xFF10
1091 #define CBR_300 0xFF11
1092 #define CBR_600 0xFF12
1093 #define CBR_1200 0xFF13
1094 #define CBR_2400 0xFF14
1095 #define CBR_4800 0xFF15
1096 #define CBR_9600 0xFF16
1097 #define CBR_14400 0xFF17
1098 #define CBR_19200 0xFF18
1099 #define CBR_38400 0xFF1B
1100 #define CBR_56000 0xFF1F
1101 #define CBR_128000 0xFF23
1102 #define CBR_256000 0xFF27
1104 #define NOPARITY 0
1105 #define ODDPARITY 1
1106 #define EVENPARITY 2
1107 #define MARKPARITY 3
1108 #define SPACEPARITY 4
1109 #define ONESTOPBIT 0
1110 #define ONE5STOPBITS 1
1111 #define TWOSTOPBITS 2
1112 #define IGNORE 0
1113 #define INFINITE 0xFFFF
1115 #define CE_RXOVER 0x0001
1116 #define CE_OVERRUN 0x0002
1117 #define CE_RXPARITY 0x0004
1118 #define CE_FRAME 0x0008
1119 #define CE_BREAK 0x0010
1120 #define CE_CTSTO 0x0020
1121 #define CE_DSRTO 0x0040
1122 #define CE_RLSDTO 0x0080
1123 #define CE_TXFULL 0x0100
1124 #define CE_PTO 0x0200
1125 #define CE_IOE 0x0400
1126 #define CE_DNS 0x0800
1127 #define CE_OOP 0x1000
1128 #define CE_MODE 0x8000
1130 #define IE_BADID -1
1131 #define IE_OPEN -2
1132 #define IE_NOPEN -3
1133 #define IE_MEMORY -4
1134 #define IE_DEFAULT -5
1135 #define IE_HARDWARE -10
1136 #define IE_BYTESIZE -11
1137 #define IE_BAUDRATE -12
1139 #define EV_RXCHAR 0x0001
1140 #define EV_RXFLAG 0x0002
1141 #define EV_TXEMPTY 0x0004
1142 #define EV_CTS 0x0008
1143 #define EV_DSR 0x0010
1144 #define EV_RLSD 0x0020
1145 #define EV_BREAK 0x0040
1146 #define EV_ERR 0x0080
1147 #define EV_RING 0x0100
1148 #define EV_PERR 0x0200
1149 #define EV_CTSS 0x0400
1150 #define EV_DSRS 0x0800
1151 #define EV_RLSDS 0x1000
1152 #define EV_RINGTE 0x2000
1153 #define EV_RingTe EV_RINGTE
1155 #define SETXOFF 1
1156 #define SETXON 2
1157 #define SETRTS 3
1158 #define CLRRTS 4
1159 #define SETDTR 5
1160 #define CLRDTR 6
1161 #define RESETDEV 7
1162 #define GETMAXLPT 8
1163 #define GETMAXCOM 9
1164 #define GETBASEIRQ 10
1166 #define CN_RECEIVE 0x0001
1167 #define CN_TRANSMIT 0x0002
1168 #define CN_EVENT 0x0004
1170 typedef struct tagDCB
1172 BYTE Id;
1173 UINT BaudRate WINE_PACKED;
1174 BYTE ByteSize;
1175 BYTE Parity;
1176 BYTE StopBits;
1177 UINT RlsTimeout;
1178 UINT CtsTimeout;
1179 UINT DsrTimeout;
1181 UINT fBinary :1;
1182 UINT fRtsDisable :1;
1183 UINT fParity :1;
1184 UINT fOutxCtsFlow :1;
1185 UINT fOutxDsrFlow :1;
1186 UINT fDummy :2;
1187 UINT fDtrDisable :1;
1189 UINT fOutX :1;
1190 UINT fInX :1;
1191 UINT fPeChar :1;
1192 UINT fNull :1;
1193 UINT fChEvt :1;
1194 UINT fDtrflow :1;
1195 UINT fRtsflow :1;
1196 UINT fDummy2 :1;
1198 char XonChar;
1199 char XoffChar;
1200 UINT XonLim;
1201 UINT XoffLim;
1202 char PeChar;
1203 char EofChar;
1204 char EvtChar;
1205 UINT TxDelay WINE_PACKED;
1206 } DCB;
1207 typedef DCB FAR* LPDCB;
1209 typedef struct tagCOMSTAT
1211 BYTE status;
1212 UINT cbInQue WINE_PACKED;
1213 UINT cbOutQue WINE_PACKED;
1214 } COMSTAT;
1216 #define CSTF_CTSHOLD 0x01
1217 #define CSTF_DSRHOLD 0x02
1218 #define CSTF_RLSDHOLD 0x04
1219 #define CSTF_XOFFHOLD 0x08
1220 #define CSTF_XOFFSENT 0x10
1221 #define CSTF_EOF 0x20
1222 #define CSTF_TXIM 0x40
1224 /* SystemParametersInfo */
1226 #define SPI_GETBEEP 1
1227 #define SPI_SETBEEP 2
1228 #define SPI_GETMOUSE 3
1229 #define SPI_SETMOUSE 4
1230 #define SPI_GETBORDER 5
1231 #define SPI_SETBORDER 6
1232 #define SPI_GETKEYBOARDSPEED 10
1233 #define SPI_SETKEYBOARDSPEED 11
1234 #define SPI_LANGDRIVER 12
1235 #define SPI_ICONHORIZONTALSPACING 13
1236 #define SPI_GETSCREENSAVETIMEOUT 14
1237 #define SPI_SETSCREENSAVETIMEOUT 15
1238 #define SPI_GETSCREENSAVEACTIVE 16
1239 #define SPI_SETSCREENSAVEACTIVE 17
1240 #define SPI_GETGRIDGRANULARITY 18
1241 #define SPI_SETGRIDGRANULARITY 19
1242 #define SPI_SETDESKWALLPAPER 20
1243 #define SPI_SETDESKPATTERN 21
1244 #define SPI_GETKEYBOARDDELAY 22
1245 #define SPI_SETKEYBOARDDELAY 23
1246 #define SPI_ICONVERTICALSPACING 24
1247 #define SPI_GETICONTITLEWRAP 25
1248 #define SPI_SETICONTITLEWRAP 26
1249 #define SPI_GETMENUDROPALIGNMENT 27
1250 #define SPI_SETMENUDROPALIGNMENT 28
1251 #define SPI_SETDOUBLECLKWIDTH 29
1252 #define SPI_SETDOUBLECLKHEIGHT 30
1253 #define SPI_GETICONTITLELOGFONT 31
1254 #define SPI_SETDOUBLECLICKTIME 32
1255 #define SPI_SETMOUSEBUTTONSWAP 33
1256 #define SPI_SETICONTITLELOGFONT 34
1257 #define SPI_GETFASTTASKSWITCH 35
1258 #define SPI_SETFASTTASKSWITCH 36
1260 /* SystemParametersInfo flags */
1262 #define SPIF_UPDATEINIFILE 1
1263 #define SPIF_SENDWININICHANGE 2
1265 /* GetFreeSystemResources() parameters */
1267 #define GFSR_SYSTEMRESOURCES 0x0000
1268 #define GFSR_GDIRESOURCES 0x0001
1269 #define GFSR_USERRESOURCES 0x0002
1271 /* GetWinFlags */
1273 #define WF_PMODE 0x0001
1274 #define WF_CPU286 0x0002
1275 #define WF_CPU386 0x0004
1276 #define WF_CPU486 0x0008
1277 #define WF_STANDARD 0x0010
1278 #define WF_WIN286 0x0010
1279 #define WF_ENHANCED 0x0020
1280 #define WF_WIN386 0x0020
1281 #define WF_CPU086 0x0040
1282 #define WF_CPU186 0x0080
1283 #define WF_LARGEFRAME 0x0100
1284 #define WF_SMALLFRAME 0x0200
1285 #define WF_80x87 0x0400
1286 #define WF_PAGING 0x0800
1287 #define WF_WLO 0x8000
1289 #define MAKEINTRESOURCE(i) (SEGPTR)((DWORD)((WORD)(i)))
1291 /* Predefined resource types */
1292 #define RT_CURSOR MAKEINTRESOURCE(1)
1293 #define RT_BITMAP MAKEINTRESOURCE(2)
1294 #define RT_ICON MAKEINTRESOURCE(3)
1295 #define RT_MENU MAKEINTRESOURCE(4)
1296 #define RT_DIALOG MAKEINTRESOURCE(5)
1297 #define RT_STRING MAKEINTRESOURCE(6)
1298 #define RT_FONTDIR MAKEINTRESOURCE(7)
1299 #define RT_FONT MAKEINTRESOURCE(8)
1300 #define RT_ACCELERATOR MAKEINTRESOURCE(9)
1301 #define RT_RCDATA MAKEINTRESOURCE(10)
1302 #define RT_GROUP_CURSOR MAKEINTRESOURCE(12)
1303 #define RT_GROUP_ICON MAKEINTRESOURCE(14)
1305 /* Predefined resources */
1306 #define IDI_APPLICATION MAKEINTRESOURCE(32512)
1307 #define IDI_HAND MAKEINTRESOURCE(32513)
1308 #define IDI_QUESTION MAKEINTRESOURCE(32514)
1309 #define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
1310 #define IDI_ASTERISK MAKEINTRESOURCE(32516)
1312 #define IDC_ARROW MAKEINTRESOURCE(32512)
1313 #define IDC_IBEAM MAKEINTRESOURCE(32513)
1314 #define IDC_WAIT MAKEINTRESOURCE(32514)
1315 #define IDC_CROSS MAKEINTRESOURCE(32515)
1316 #define IDC_UPARROW MAKEINTRESOURCE(32516)
1317 #define IDC_SIZE MAKEINTRESOURCE(32640)
1318 #define IDC_ICON MAKEINTRESOURCE(32641)
1319 #define IDC_SIZENWSE MAKEINTRESOURCE(32642)
1320 #define IDC_SIZENESW MAKEINTRESOURCE(32643)
1321 #define IDC_SIZEWE MAKEINTRESOURCE(32644)
1322 #define IDC_SIZENS MAKEINTRESOURCE(32645)
1324 /* OEM Resource Ordinal Numbers */
1325 #define OBM_CLOSE 32754
1326 #define OBM_UPARROW 32753
1327 #define OBM_DNARROW 32752
1328 #define OBM_RGARROW 32751
1329 #define OBM_LFARROW 32750
1330 #define OBM_REDUCE 32749
1331 #define OBM_ZOOM 32748
1332 #define OBM_RESTORE 32747
1333 #define OBM_REDUCED 32746
1334 #define OBM_ZOOMD 32745
1335 #define OBM_RESTORED 32744
1336 #define OBM_UPARROWD 32743
1337 #define OBM_DNARROWD 32742
1338 #define OBM_RGARROWD 32741
1339 #define OBM_LFARROWD 32740
1340 #define OBM_MNARROW 32739
1341 #define OBM_COMBO 32738
1342 #define OBM_UPARROWI 32737
1343 #define OBM_DNARROWI 32736
1344 #define OBM_RGARROWI 32735
1345 #define OBM_LFARROWI 32734
1347 #define OBM_FOLDER 32733
1348 #define OBM_FOLDER2 32732
1349 #define OBM_FLOPPY 32731
1350 #define OBM_HDISK 32730
1351 #define OBM_CDROM 32729
1353 #define OBM_OLD_CLOSE 32767
1354 #define OBM_SIZE 32766
1355 #define OBM_OLD_UPARROW 32765
1356 #define OBM_OLD_DNARROW 32764
1357 #define OBM_OLD_RGARROW 32763
1358 #define OBM_OLD_LFARROW 32762
1359 #define OBM_BTSIZE 32761
1360 #define OBM_CHECK 32760
1361 #define OBM_CHECKBOXES 32759
1362 #define OBM_BTNCORNERS 32758
1363 #define OBM_OLD_REDUCE 32757
1364 #define OBM_OLD_ZOOM 32756
1365 #define OBM_OLD_RESTORE 32755
1367 #define OCR_NORMAL 32512
1368 #define OCR_IBEAM 32513
1369 #define OCR_WAIT 32514
1370 #define OCR_CROSS 32515
1371 #define OCR_UP 32516
1372 #define OCR_SIZE 32640
1373 #define OCR_ICON 32641
1374 #define OCR_SIZENWSE 32642
1375 #define OCR_SIZENESW 32643
1376 #define OCR_SIZEWE 32644
1377 #define OCR_SIZENS 32645
1378 #define OCR_SIZEALL 32646
1379 #define OCR_ICOCUR 32647
1381 #define OIC_SAMPLE 32512
1382 #define OIC_HAND 32513
1383 #define OIC_QUES 32514
1384 #define OIC_BANG 32515
1385 #define OIC_NOTE 32516
1386 #define OIC_PORTRAIT 32517
1387 #define OIC_LANDSCAPE 32518
1388 #define OIC_WINEICON 32519
1390 /* Stock GDI objects for GetStockObject() */
1392 #define WHITE_BRUSH 0
1393 #define LTGRAY_BRUSH 1
1394 #define GRAY_BRUSH 2
1395 #define DKGRAY_BRUSH 3
1396 #define BLACK_BRUSH 4
1397 #define NULL_BRUSH 5
1398 #define HOLLOW_BRUSH 5
1399 #define WHITE_PEN 6
1400 #define BLACK_PEN 7
1401 #define NULL_PEN 8
1402 #define OEM_FIXED_FONT 10
1403 #define ANSI_FIXED_FONT 11
1404 #define ANSI_VAR_FONT 12
1405 #define SYSTEM_FONT 13
1406 #define DEVICE_DEFAULT_FONT 14
1407 #define DEFAULT_PALETTE 15
1408 #define SYSTEM_FIXED_FONT 16
1411 enum { WM_NULL, WM_CREATE, WM_DESTROY, WM_MOVE, WM_UNUSED0, WM_SIZE, WM_ACTIVATE,
1412 WM_SETFOCUS, WM_KILLFOCUS, WM_SETVISIBLE, WM_ENABLE, WM_SETREDRAW,
1413 WM_SETTEXT, WM_GETTEXT, WM_GETTEXTLENGTH, WM_PAINT, WM_CLOSE,
1414 WM_QUERYENDSESSION, WM_QUIT, WM_QUERYOPEN, WM_ERASEBKGND,
1415 WM_SYSCOLORCHANGE, WM_ENDSESSION, WM_SYSTEMERROR,
1416 WM_SHOWWINDOW, WM_CTLCOLOR, WM_WININICHANGE, WM_DEVMODECHANGE,
1417 WM_ACTIVATEAPP, WM_FONTCHANGE, WM_TIMECHANGE, WM_CANCELMODE, WM_SETCURSOR,
1418 WM_MOUSEACTIVATE, WM_CHILDACTIVATE, WM_QUEUESYNC, WM_GETMINMAXINFO,
1419 WM_UNUSED3, WM_PAINTICON, WM_ICONERASEBKGND, WM_NEXTDLGCTL,
1420 WM_UNUSED4, WM_SPOOLERSTATUS, WM_DRAWITEM, WM_MEASUREITEM,
1421 WM_DELETEITEM, WM_VKEYTOITEM,
1422 WM_CHARTOITEM, WM_SETFONT, WM_GETFONT };
1424 #define WM_QUERYDRAGICON 0x0037
1426 #define WM_COMPAREITEM 0x0039
1428 #define WM_COMPACTING 0x0041
1430 #define WM_COMMNOTIFY 0x0044
1431 #define WM_WINDOWPOSCHANGING 0x0046
1432 #define WM_WINDOWPOSCHANGED 0x0047
1433 #define WM_POWER 0x0048
1435 #define WM_NCCREATE 0x0081
1436 #define WM_NCDESTROY 0x0082
1437 #define WM_NCCALCSIZE 0x0083
1438 #define WM_NCHITTEST 0x0084
1439 #define WM_NCPAINT 0x0085
1440 #define WM_NCACTIVATE 0x0086
1442 #define WM_GETDLGCODE 0x0087
1443 #define WM_SYNCPAINT 0x0088
1445 /* Non-client mouse messages */
1446 #define WM_NCMOUSEMOVE 0x00a0
1447 #define WM_NCLBUTTONDOWN 0x00a1
1448 #define WM_NCLBUTTONUP 0x00a2
1449 #define WM_NCLBUTTONDBLCLK 0x00a3
1450 #define WM_NCRBUTTONDOWN 0x00a4
1451 #define WM_NCRBUTTONUP 0x00a5
1452 #define WM_NCRBUTTONDBLCLK 0x00a6
1453 #define WM_NCMBUTTONDOWN 0x00a7
1454 #define WM_NCMBUTTONUP 0x00a8
1455 #define WM_NCMBUTTONDBLCLK 0x00a9
1457 /* Keyboard messages */
1458 #define WM_KEYDOWN 0x0100
1459 #define WM_KEYUP 0x0101
1460 #define WM_CHAR 0x0102
1461 #define WM_DEADCHAR 0x0103
1462 #define WM_SYSKEYDOWN 0x0104
1463 #define WM_SYSKEYUP 0x0105
1464 #define WM_SYSCHAR 0x0106
1465 #define WM_SYSDEADCHAR 0x0107
1466 #define WM_KEYFIRST WM_KEYDOWN
1467 #define WM_KEYLAST 0x0108
1469 #define WM_INITDIALOG 0x0110
1470 #define WM_COMMAND 0x0111
1471 #define WM_SYSCOMMAND 0x0112
1472 #define WM_TIMER 0x0113
1473 #define WM_SYSTIMER 0x0118
1475 /* scroll messages */
1476 #define WM_HSCROLL 0x0114
1477 #define WM_VSCROLL 0x0115
1479 /* Menu messages */
1480 #define WM_INITMENU 0x0116
1481 #define WM_INITMENUPOPUP 0x0117
1483 #define WM_MENUSELECT 0x011F
1484 #define WM_MENUCHAR 0x0120
1485 #define WM_ENTERIDLE 0x0121
1487 #define WM_LBTRACKPOINT 0x0131
1489 /* Win32 CTLCOLOR messages */
1490 #define WM_CTLCOLORMSGBOX 0x0132
1491 #define WM_CTLCOLOREDIT 0x0133
1492 #define WM_CTLCOLORLISTBOX 0x0134
1493 #define WM_CTLCOLORBTN 0x0135
1494 #define WM_CTLCOLORDLG 0x0136
1495 #define WM_CTLCOLORSCROLLBAR 0x0137
1496 #define WM_CTLCOLORSTATIC 0x0138
1498 /* Mouse messages */
1499 #define WM_MOUSEMOVE 0x0200
1500 #define WM_LBUTTONDOWN 0x0201
1501 #define WM_LBUTTONUP 0x0202
1502 #define WM_LBUTTONDBLCLK 0x0203
1503 #define WM_RBUTTONDOWN 0x0204
1504 #define WM_RBUTTONUP 0x0205
1505 #define WM_RBUTTONDBLCLK 0x0206
1506 #define WM_MBUTTONDOWN 0x0207
1507 #define WM_MBUTTONUP 0x0208
1508 #define WM_MBUTTONDBLCLK 0x0209
1509 #define WM_MOUSEFIRST WM_MOUSEMOVE
1510 #define WM_MOUSELAST WM_MBUTTONDBLCLK
1512 #define WM_PARENTNOTIFY 0x0210
1513 #define WM_ENTERMENULOOP 0x0211
1514 #define WM_EXITMENULOOP 0x0212
1516 #define WM_MDICREATE 0x0220
1517 #define WM_MDIDESTROY 0x0221
1518 #define WM_MDIACTIVATE 0x0222
1519 #define WM_MDIRESTORE 0x0223
1520 #define WM_MDINEXT 0x0224
1521 #define WM_MDIMAXIMIZE 0x0225
1522 #define WM_MDITILE 0x0226
1523 #define WM_MDICASCADE 0x0227
1524 #define WM_MDIICONARRANGE 0x0228
1525 #define WM_MDIGETACTIVE 0x0229
1526 #define WM_DROPOBJECT 0x022A
1527 #define WM_QUERYDROPOBJECT 0x022B
1528 #define WM_DRAGLOOP 0x022D
1529 #define WM_DRAGSELECT 0x022E
1530 #define WM_DRAGMOVE 0x022F
1531 #define WM_MDISETMENU 0x0230
1533 #define WM_ENTERSIZEMOVE 0x0231
1534 #define WM_EXITSIZEMOVE 0x0232
1535 #define WM_DROPFILES 0x0233
1537 #define WM_CUT 0x0300
1538 #define WM_COPY 0x0301
1539 #define WM_PASTE 0x0302
1540 #define WM_CLEAR 0x0303
1541 #define WM_UNDO 0x0304
1542 #define WM_RENDERFORMAT 0x0305
1543 #define WM_RENDERALLFORMATS 0x0306
1544 #define WM_DESTROYCLIPBOARD 0x0307
1545 #define WM_DRAWCLIPBOARD 0x0308
1546 #define WM_PAINTCLIPBOARD 0x0309
1547 #define WM_VSCROLLCLIPBOARD 0x030A
1548 #define WM_SIZECLIPBOARD 0x030B
1549 #define WM_ASKCBFORMATNAME 0x030C
1550 #define WM_CHANGECBCHAIN 0x030D
1551 #define WM_HSCROLLCLIPBOARD 0x030E
1552 #define WM_QUERYNEWPALETTE 0x030F
1553 #define WM_PALETTEISCHANGING 0x0310
1554 #define WM_PALETTECHANGED 0x0311
1556 #define WM_COALESCE_FIRST 0x0390
1557 #define WM_COALESCE_LAST 0x039F
1559 /* misc messages */
1560 #define WM_NULL 0x0000
1561 #define WM_USER 0x0400
1562 #define WM_CPL_LAUNCH (WM_USER + 1000)
1563 #define WM_CPL_LAUNCHED (WM_USER + 1001)
1565 /* Key status flags for mouse events */
1566 #define MK_LBUTTON 0x0001
1567 #define MK_RBUTTON 0x0002
1568 #define MK_SHIFT 0x0004
1569 #define MK_CONTROL 0x0008
1570 #define MK_MBUTTON 0x0010
1572 /* Queue status flags */
1573 #define QS_KEY 0x0001
1574 #define QS_MOUSEMOVE 0x0002
1575 #define QS_MOUSEBUTTON 0x0004
1576 #define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON)
1577 #define QS_POSTMESSAGE 0x0008
1578 #define QS_TIMER 0x0010
1579 #define QS_PAINT 0x0020
1580 #define QS_SENDMESSAGE 0x0040
1581 #define QS_ALLINPUT 0x007f
1583 /* PeekMessage() options */
1584 #define PM_NOREMOVE 0x0000
1585 #define PM_REMOVE 0x0001
1586 #define PM_NOYIELD 0x0002
1588 #define WM_SHOWWINDOW 0x0018
1590 /* WM_SHOWWINDOW wParam codes */
1591 #define SW_PARENTCLOSING 1
1592 #define SW_OTHERMAXIMIZED 2
1593 #define SW_PARENTOPENING 3
1594 #define SW_OTHERRESTORED 4
1596 /* ShowWindow() codes */
1597 #define SW_HIDE 0
1598 #define SW_SHOWNORMAL 1
1599 #define SW_NORMAL 1
1600 #define SW_SHOWMINIMIZED 2
1601 #define SW_SHOWMAXIMIZED 3
1602 #define SW_MAXIMIZE 3
1603 #define SW_SHOWNOACTIVATE 4
1604 #define SW_SHOW 5
1605 #define SW_MINIMIZE 6
1606 #define SW_SHOWMINNOACTIVE 7
1607 #define SW_SHOWNA 8
1608 #define SW_RESTORE 9
1610 /* WM_SIZE message wParam values */
1611 #define SIZE_RESTORED 0
1612 #define SIZE_MINIMIZED 1
1613 #define SIZE_MAXIMIZED 2
1614 #define SIZE_MAXSHOW 3
1615 #define SIZE_MAXHIDE 4
1617 /* SetWindowPos() and WINDOWPOS flags */
1618 #define SWP_NOSIZE 0x0001
1619 #define SWP_NOMOVE 0x0002
1620 #define SWP_NOZORDER 0x0004
1621 #define SWP_NOREDRAW 0x0008
1622 #define SWP_NOACTIVATE 0x0010
1623 #define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */
1624 #define SWP_SHOWWINDOW 0x0040
1625 #define SWP_HIDEWINDOW 0x0080
1626 #define SWP_NOCOPYBITS 0x0100
1627 #define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */
1629 #define SWP_DRAWFRAME SWP_FRAMECHANGED
1630 #define SWP_NOREPOSITION SWP_NOOWNERZORDER
1632 #define SWP_NOSENDCHANGING 0x0400
1633 #define SWP_DEFERERASE 0x2000
1635 /* SetWindowPos() hwndInsertAfter field values */
1636 #define HWND_TOP ((HWND)0)
1637 #define HWND_BOTTOM ((HWND)1)
1638 #define HWND_TOPMOST ((HWND)-1)
1639 #define HWND_NOTOPMOST ((HWND)-2)
1641 /* Flags for TrackPopupMenu */
1642 #define TPM_LEFTBUTTON 0x0000
1643 #define TPM_RIGHTBUTTON 0x0002
1644 #define TPM_LEFTALIGN 0x0000
1645 #define TPM_CENTERALIGN 0x0004
1646 #define TPM_RIGHTALIGN 0x0008
1648 #define MF_INSERT 0
1649 #define MF_CHANGE 0x0080
1650 #define MF_APPEND 0x0100
1651 #define MF_DELETE 0x0200
1652 #define MF_REMOVE 0x1000
1653 #define MF_BYCOMMAND 0
1654 #define MF_BYPOSITION 0x0400
1655 #define MF_SEPARATOR 0x0800
1656 #define MF_ENABLED 0
1657 #define MF_GRAYED 0x0001
1658 #define MF_DISABLED 0x0002
1659 #define MF_UNCHECKED 0
1660 #define MF_CHECKED 0x0008
1661 #define MF_USECHECKBITMAPS 0x0200
1662 #define MF_STRING 0
1663 #define MF_BITMAP 0x0004
1664 #define MF_OWNERDRAW 0x0100
1665 #define MF_POPUP 0x0010
1666 #define MF_MENUBARBREAK 0x0020
1667 #define MF_MENUBREAK 0x0040
1668 #define MF_UNHILITE 0
1669 #define MF_HILITE 0x0080
1670 #define MF_SYSMENU 0x2000
1671 #define MF_HELP 0x4000
1672 #define MF_MOUSESELECT 0x8000
1673 #define MF_END 0x0080
1675 #ifndef NOWINOFFSETS
1676 #define GCW_HBRBACKGROUND (-10)
1677 #endif
1679 #define MB_OK 0x0000
1680 #define MB_OKCANCEL 0x0001
1681 #define MB_ABORTRETRYIGNORE 0x0002
1682 #define MB_YESNOCANCEL 0x0003
1683 #define MB_YESNO 0x0004
1684 #define MB_RETRYCANCEL 0x0005
1685 #define MB_TYPEMASK 0x000F
1687 #define MB_ICONHAND 0x0010
1688 #define MB_ICONQUESTION 0x0020
1689 #define MB_ICONEXCLAMATION 0x0030
1690 #define MB_ICONASTERISK 0x0040
1691 #define MB_ICONMASK 0x00F0
1693 #define MB_ICONINFORMATION MB_ICONASTERISK
1694 #define MB_ICONSTOP MB_ICONHAND
1696 #define MB_DEFBUTTON1 0x0000
1697 #define MB_DEFBUTTON2 0x0100
1698 #define MB_DEFBUTTON3 0x0200
1699 #define MB_DEFMASK 0x0F00
1701 #define MB_APPLMODAL 0x0000
1702 #define MB_SYSTEMMODAL 0x1000
1703 #define MB_TASKMODAL 0x2000
1705 #define MB_NOFOCUS 0x8000
1708 #define DT_TOP 0
1709 #define DT_LEFT 0
1710 #define DT_CENTER 1
1711 #define DT_RIGHT 2
1712 #define DT_VCENTER 4
1713 #define DT_BOTTOM 8
1714 #define DT_WORDBREAK 16
1715 #define DT_SINGLELINE 32
1716 #define DT_EXPANDTABS 64
1717 #define DT_TABSTOP 128
1718 #define DT_NOCLIP 256
1719 #define DT_EXTERNALLEADING 512
1720 #define DT_CALCRECT 1024
1721 #define DT_NOPREFIX 2048
1722 #define DT_INTERNAL 4096
1724 /* Window Styles */
1725 #define WS_OVERLAPPED 0x00000000L
1726 #define WS_POPUP 0x80000000L
1727 #define WS_CHILD 0x40000000L
1728 #define WS_MINIMIZE 0x20000000L
1729 #define WS_VISIBLE 0x10000000L
1730 #define WS_DISABLED 0x08000000L
1731 #define WS_CLIPSIBLINGS 0x04000000L
1732 #define WS_CLIPCHILDREN 0x02000000L
1733 #define WS_MAXIMIZE 0x01000000L
1734 #define WS_CAPTION 0x00C00000L
1735 #define WS_BORDER 0x00800000L
1736 #define WS_DLGFRAME 0x00400000L
1737 #define WS_VSCROLL 0x00200000L
1738 #define WS_HSCROLL 0x00100000L
1739 #define WS_SYSMENU 0x00080000L
1740 #define WS_THICKFRAME 0x00040000L
1741 #define WS_GROUP 0x00020000L
1742 #define WS_TABSTOP 0x00010000L
1743 #define WS_MINIMIZEBOX 0x00020000L
1744 #define WS_MAXIMIZEBOX 0x00010000L
1745 #define WS_TILED WS_OVERLAPPED
1746 #define WS_ICONIC WS_MINIMIZE
1747 #define WS_SIZEBOX WS_THICKFRAME
1748 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
1749 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
1750 #define WS_CHILDWINDOW (WS_CHILD)
1751 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
1753 /* Window extended styles */
1754 #define WS_EX_DLGMODALFRAME 0x00000001L
1755 #define WS_EX_NOPARENTNOTIFY 0x00000004L
1756 #define WS_EX_TOPMOST 0x00000008L
1757 #define WS_EX_ACCEPTFILES 0x00000010L
1758 #define WS_EX_TRANSPARENT 0x00000020L
1760 /* Window scrolling */
1761 #define SW_SCROLLCHILDREN 0x0001
1762 #define SW_INVALIDATE 0x0002
1763 #define SW_ERASE 0x0003
1765 /* Button control styles */
1766 #define BS_PUSHBUTTON 0x00000000L
1767 #define BS_DEFPUSHBUTTON 0x00000001L
1768 #define BS_CHECKBOX 0x00000002L
1769 #define BS_AUTOCHECKBOX 0x00000003L
1770 #define BS_RADIOBUTTON 0x00000004L
1771 #define BS_3STATE 0x00000005L
1772 #define BS_AUTO3STATE 0x00000006L
1773 #define BS_GROUPBOX 0x00000007L
1774 #define BS_USERBUTTON 0x00000008L
1775 #define BS_AUTORADIOBUTTON 0x00000009L
1776 #define BS_OWNERDRAW 0x0000000BL
1777 #define BS_LEFTTEXT 0x00000020L
1779 /* Button control messages */
1780 #define BM_GETCHECK (WM_USER+0)
1781 #define BM_SETCHECK (WM_USER+1)
1782 #define BM_GETSTATE (WM_USER+2)
1783 #define BM_SETSTATE (WM_USER+3)
1784 #define BM_SETSTYLE (WM_USER+4)
1786 /* Button notification codes */
1787 #define BN_CLICKED 0
1788 #define BN_PAINT 1
1789 #define BN_HILITE 2
1790 #define BN_UNHILITE 3
1791 #define BN_DISABLE 4
1792 #define BN_DOUBLECLICKED 5
1794 /* Static Control Styles */
1795 #define SS_LEFT 0x00000000L
1796 #define SS_CENTER 0x00000001L
1797 #define SS_RIGHT 0x00000002L
1798 #define SS_ICON 0x00000003L
1799 #define SS_BLACKRECT 0x00000004L
1800 #define SS_GRAYRECT 0x00000005L
1801 #define SS_WHITERECT 0x00000006L
1802 #define SS_BLACKFRAME 0x00000007L
1803 #define SS_GRAYFRAME 0x00000008L
1804 #define SS_WHITEFRAME 0x00000009L
1805 #define SS_SIMPLE 0x0000000BL
1806 #define SS_LEFTNOWORDWRAP 0x0000000CL
1807 #define SS_NOPREFIX 0x00000080L
1809 /* Static Control Mesages */
1810 #define STM_SETICON (WM_USER+0)
1811 #define STM_GETICON (WM_USER+1)
1813 /* WM_H/VSCROLL commands */
1814 #define SB_LINEUP 0
1815 #define SB_LINELEFT 0
1816 #define SB_LINEDOWN 1
1817 #define SB_LINERIGHT 1
1818 #define SB_PAGEUP 2
1819 #define SB_PAGELEFT 2
1820 #define SB_PAGEDOWN 3
1821 #define SB_PAGERIGHT 3
1822 #define SB_THUMBPOSITION 4
1823 #define SB_THUMBTRACK 5
1824 #define SB_TOP 6
1825 #define SB_LEFT 6
1826 #define SB_BOTTOM 7
1827 #define SB_RIGHT 7
1828 #define SB_ENDSCROLL 8
1830 /* Scroll bar selection constants */
1831 #define SB_HORZ 0
1832 #define SB_VERT 1
1833 #define SB_CTL 2
1834 #define SB_BOTH 3
1836 /* Scrollbar styles */
1837 #define SBS_HORZ 0x0000L
1838 #define SBS_VERT 0x0001L
1839 #define SBS_TOPALIGN 0x0002L
1840 #define SBS_LEFTALIGN 0x0002L
1841 #define SBS_BOTTOMALIGN 0x0004L
1842 #define SBS_RIGHTALIGN 0x0004L
1843 #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
1844 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
1845 #define SBS_SIZEBOX 0x0008L
1847 /* EnableScrollBar() flags */
1848 #define ESB_ENABLE_BOTH 0x0000
1849 #define ESB_DISABLE_BOTH 0x0003
1851 #define ESB_DISABLE_LEFT 0x0001
1852 #define ESB_DISABLE_RIGHT 0x0002
1854 #define ESB_DISABLE_UP 0x0001
1855 #define ESB_DISABLE_DOWN 0x0002
1857 #define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
1858 #define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
1860 /* Listbox styles */
1861 #define LBS_NOTIFY 0x0001L
1862 #define LBS_SORT 0x0002L
1863 #define LBS_NOREDRAW 0x0004L
1864 #define LBS_MULTIPLESEL 0x0008L
1865 #define LBS_OWNERDRAWFIXED 0x0010L
1866 #define LBS_OWNERDRAWVARIABLE 0x0020L
1867 #define LBS_HASSTRINGS 0x0040L
1868 #define LBS_USETABSTOPS 0x0080L
1869 #define LBS_NOINTEGRALHEIGHT 0x0100L
1870 #define LBS_MULTICOLUMN 0x0200L
1871 #define LBS_WANTKEYBOARDINPUT 0x0400L
1872 #define LBS_EXTENDEDSEL 0x0800L
1873 #define LBS_DISABLENOSCROLL 0x1000L
1874 #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
1876 /* Listbox messages */
1877 #define LB_ADDSTRING (WM_USER+1)
1878 #define LB_INSERTSTRING (WM_USER+2)
1879 #define LB_DELETESTRING (WM_USER+3)
1880 #define LB_RESETCONTENT (WM_USER+5)
1881 #define LB_SETSEL (WM_USER+6)
1882 #define LB_SETCURSEL (WM_USER+7)
1883 #define LB_GETSEL (WM_USER+8)
1884 #define LB_GETCURSEL (WM_USER+9)
1885 #define LB_GETTEXT (WM_USER+10)
1886 #define LB_GETTEXTLEN (WM_USER+11)
1887 #define LB_GETCOUNT (WM_USER+12)
1888 #define LB_SELECTSTRING (WM_USER+13)
1889 #define LB_DIR (WM_USER+14)
1890 #define LB_GETTOPINDEX (WM_USER+15)
1891 #define LB_FINDSTRING (WM_USER+16)
1892 #define LB_GETSELCOUNT (WM_USER+17)
1893 #define LB_GETSELITEMS (WM_USER+18)
1894 #define LB_SETTABSTOPS (WM_USER+19)
1895 #define LB_GETHORIZONTALEXTENT (WM_USER+20)
1896 #define LB_SETHORIZONTALEXTENT (WM_USER+21)
1897 #define LB_SETCOLUMNWIDTH (WM_USER+22)
1898 #define LB_SETTOPINDEX (WM_USER+24)
1899 #define LB_GETITEMRECT (WM_USER+25)
1900 #define LB_GETITEMDATA (WM_USER+26)
1901 #define LB_SETITEMDATA (WM_USER+27)
1902 #define LB_SELITEMRANGE (WM_USER+28)
1903 #define LB_SETCARETINDEX (WM_USER+31)
1904 #define LB_GETCARETINDEX (WM_USER+32)
1905 #define LB_SETITEMHEIGHT (WM_USER+33)
1906 #define LB_GETITEMHEIGHT (WM_USER+34)
1907 #define LB_FINDSTRINGEXACT (WM_USER+35)
1909 /* Listbox notification codes */
1910 #define LBN_ERRSPACE (-2)
1911 #define LBN_SELCHANGE 1
1912 #define LBN_DBLCLK 2
1913 #define LBN_SELCANCEL 3
1914 #define LBN_SETFOCUS 4
1915 #define LBN_KILLFOCUS 5
1917 /* Listbox notification messages */
1918 #define WM_VKEYTOITEM 0x002E
1919 #define WM_CHARTOITEM 0x002F
1921 /* Listbox message return values */
1922 #define LB_OKAY 0
1923 #define LB_ERR (-1)
1924 #define LB_ERRSPACE (-2)
1926 #define LB_CTLCODE 0L
1928 /* Combo box styles */
1929 #define CBS_SIMPLE 0x0001L
1930 #define CBS_DROPDOWN 0x0002L
1931 #define CBS_DROPDOWNLIST 0x0003L
1932 #define CBS_OWNERDRAWFIXED 0x0010L
1933 #define CBS_OWNERDRAWVARIABLE 0x0020L
1934 #define CBS_AUTOHSCROLL 0x0040L
1935 #define CBS_OEMCONVERT 0x0080L
1936 #define CBS_SORT 0x0100L
1937 #define CBS_HASSTRINGS 0x0200L
1938 #define CBS_NOINTEGRALHEIGHT 0x0400L
1939 #define CBS_DISABLENOSCROLL 0x0800L
1941 /* Combo box messages */
1942 #define CB_GETEDITSEL (WM_USER+0)
1943 #define CB_LIMITTEXT (WM_USER+1)
1944 #define CB_SETEDITSEL (WM_USER+2)
1945 #define CB_ADDSTRING (WM_USER+3)
1946 #define CB_DELETESTRING (WM_USER+4)
1947 #define CB_DIR (WM_USER+5)
1948 #define CB_GETCOUNT (WM_USER+6)
1949 #define CB_GETCURSEL (WM_USER+7)
1950 #define CB_GETLBTEXT (WM_USER+8)
1951 #define CB_GETLBTEXTLEN (WM_USER+9)
1952 #define CB_INSERTSTRING (WM_USER+10)
1953 #define CB_RESETCONTENT (WM_USER+11)
1954 #define CB_FINDSTRING (WM_USER+12)
1955 #define CB_SELECTSTRING (WM_USER+13)
1956 #define CB_SETCURSEL (WM_USER+14)
1957 #define CB_SHOWDROPDOWN (WM_USER+15)
1958 #define CB_GETITEMDATA (WM_USER+16)
1959 #define CB_SETITEMDATA (WM_USER+17)
1960 #define CB_GETDROPPEDCONTROLRECT (WM_USER+18)
1961 #define CB_SETITEMHEIGHT (WM_USER+19)
1962 #define CB_GETITEMHEIGHT (WM_USER+20)
1963 #define CB_SETEXTENDEDUI (WM_USER+21)
1964 #define CB_GETEXTENDEDUI (WM_USER+22)
1965 #define CB_GETDROPPEDSTATE (WM_USER+23)
1966 #define CB_FINDSTRINGEXACT (WM_USER+24)
1968 /* Combo box notification codes */
1969 #define CBN_ERRSPACE (-1)
1970 #define CBN_SELCHANGE 1
1971 #define CBN_DBLCLK 2
1972 #define CBN_SETFOCUS 3
1973 #define CBN_KILLFOCUS 4
1974 #define CBN_EDITCHANGE 5
1975 #define CBN_EDITUPDATE 6
1976 #define CBN_DROPDOWN 7
1977 #define CBN_CLOSEUP 8
1978 #define CBN_SELENDOK 9
1979 #define CBN_SELENDCANCEL 10
1981 /* Combo box message return values */
1982 #define CB_OKAY 0
1983 #define CB_ERR (-1)
1984 #define CB_ERRSPACE (-2)
1987 /* Owner draw control types */
1988 #define ODT_MENU 1
1989 #define ODT_LISTBOX 2
1990 #define ODT_COMBOBOX 3
1991 #define ODT_BUTTON 4
1993 /* Owner draw actions */
1994 #define ODA_DRAWENTIRE 0x0001
1995 #define ODA_SELECT 0x0002
1996 #define ODA_FOCUS 0x0004
1998 /* Owner draw state */
1999 #define ODS_SELECTED 0x0001
2000 #define ODS_GRAYED 0x0002
2001 #define ODS_DISABLED 0x0004
2002 #define ODS_CHECKED 0x0008
2003 #define ODS_FOCUS 0x0010
2005 /* Edit control styles */
2006 #define ES_LEFT 0x00000000L
2007 #define ES_CENTER 0x00000001L
2008 #define ES_RIGHT 0x00000002L
2009 #define ES_MULTILINE 0x00000004L
2010 #define ES_UPPERCASE 0x00000008L
2011 #define ES_LOWERCASE 0x00000010L
2012 #define ES_PASSWORD 0x00000020L
2013 #define ES_AUTOVSCROLL 0x00000040L
2014 #define ES_AUTOHSCROLL 0x00000080L
2015 #define ES_NOHISESEL 0x00000100L
2016 #define ES_OEMCONVERT 0x00000400L
2017 #define ES_READONLY 0x00000800L
2018 #define ES_WANTRETURN 0x00001000L
2020 /* Edit control messages */
2021 #define EM_GETSEL (WM_USER+0)
2022 #define EM_SETSEL (WM_USER+1)
2023 #define EM_GETRECT (WM_USER+2)
2024 #define EM_SETRECT (WM_USER+3)
2025 #define EM_SETRECTNP (WM_USER+4)
2026 #define EM_LINESCROLL (WM_USER+6)
2027 #define EM_GETMODIFY (WM_USER+8)
2028 #define EM_SETMODIFY (WM_USER+9)
2029 #define EM_GETLINECOUNT (WM_USER+10)
2030 #define EM_LINEINDEX (WM_USER+11)
2031 #define EM_SETHANDLE (WM_USER+12)
2032 #define EM_GETHANDLE (WM_USER+13)
2033 #define EM_LINELENGTH (WM_USER+17)
2034 #define EM_REPLACESEL (WM_USER+18)
2035 #define EM_GETLINE (WM_USER+20)
2036 #define EM_LIMITTEXT (WM_USER+21)
2037 #define EM_CANUNDO (WM_USER+22)
2038 #define EM_UNDO (WM_USER+23)
2039 #define EM_FMTLINES (WM_USER+24)
2040 #define EM_LINEFROMCHAR (WM_USER+25)
2041 #define EM_SETTABSTOPS (WM_USER+27)
2042 #define EM_SETPASSWORDCHAR (WM_USER+28)
2043 #define EM_EMPTYUNDOBUFFER (WM_USER+29)
2044 #define EM_GETFIRSTVISIBLELINE (WM_USER+30)
2045 #define EM_SETREADONLY (WM_USER+31)
2046 #define EM_SETWORDBREAKPROC (WM_USER+32)
2047 #define EM_GETWORDBREAKPROC (WM_USER+33)
2048 #define EM_GETPASSWORDCHAR (WM_USER+34)
2050 typedef int (CALLBACK *EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent,
2051 int cch, int code);
2053 /* EDITWORDBREAKPROC code values */
2054 #define WB_LEFT 0
2055 #define WB_RIGHT 1
2056 #define WB_ISDELIMITER 2
2058 /* Edit control notification codes */
2059 #define EN_SETFOCUS 0x0100
2060 #define EN_KILLFOCUS 0x0200
2061 #define EN_CHANGE 0x0300
2062 #define EN_UPDATE 0x0400
2063 #define EN_ERRSPACE 0x0500
2064 #define EN_MAXTEXT 0x0501
2065 #define EN_HSCROLL 0x0601
2066 #define EN_VSCROLL 0x0602
2069 #define WM_DRAWITEM 0x002B
2071 typedef struct tagDRAWITEMSTRUCT
2073 UINT CtlType;
2074 UINT CtlID;
2075 UINT itemID;
2076 UINT itemAction;
2077 UINT itemState;
2078 HWND hwndItem;
2079 HDC hDC;
2080 RECT rcItem WINE_PACKED;
2081 DWORD itemData WINE_PACKED;
2082 } DRAWITEMSTRUCT;
2083 typedef DRAWITEMSTRUCT NEAR* PDRAWITEMSTRUCT;
2084 typedef DRAWITEMSTRUCT FAR* LPDRAWITEMSTRUCT;
2086 #define WM_MEASUREITEM 0x002C
2088 typedef struct tagMEASUREITEMSTRUCT
2090 UINT CtlType;
2091 UINT CtlID;
2092 UINT itemID;
2093 UINT itemWidth;
2094 UINT itemHeight;
2095 DWORD itemData WINE_PACKED;
2096 } MEASUREITEMSTRUCT;
2097 typedef MEASUREITEMSTRUCT NEAR* PMEASUREITEMSTRUCT;
2098 typedef MEASUREITEMSTRUCT FAR* LPMEASUREITEMSTRUCT;
2100 #define WM_DELETEITEM 0x002D
2102 typedef struct tagDELETEITEMSTRUCT
2104 UINT CtlType;
2105 UINT CtlID;
2106 UINT itemID;
2107 HWND hwndItem;
2108 DWORD itemData;
2109 } DELETEITEMSTRUCT;
2110 typedef DELETEITEMSTRUCT NEAR* PDELETEITEMSTRUCT;
2111 typedef DELETEITEMSTRUCT FAR* LPDELETEITEMSTRUCT;
2113 #define WM_COMPAREITEM 0x0039
2115 typedef struct tagCOMPAREITEMSTRUCT
2117 UINT CtlType;
2118 UINT CtlID;
2119 HWND hwndItem;
2120 UINT itemID1;
2121 DWORD itemData1;
2122 UINT itemID2;
2123 DWORD itemData2 WINE_PACKED;
2124 } COMPAREITEMSTRUCT;
2125 typedef COMPAREITEMSTRUCT NEAR* PCOMPAREITEMSTRUCT;
2126 typedef COMPAREITEMSTRUCT FAR* LPCOMPAREITEMSTRUCT;
2128 /* Virtual key codes */
2129 #define VK_LBUTTON 0x01
2130 #define VK_RBUTTON 0x02
2131 #define VK_CANCEL 0x03
2132 #define VK_MBUTTON 0x04
2133 #define VK_BACK 0x08
2134 #define VK_TAB 0x09
2135 #define VK_CLEAR 0x0C
2136 #define VK_RETURN 0x0D
2137 #define VK_SHIFT 0x10
2138 #define VK_CONTROL 0x11
2139 #define VK_MENU 0x12
2140 #define VK_PAUSE 0x13
2141 #define VK_CAPITAL 0x14
2142 #define VK_ESCAPE 0x1B
2143 #define VK_SPACE 0x20
2144 #define VK_PRIOR 0x21
2145 #define VK_NEXT 0x22
2146 #define VK_END 0x23
2147 #define VK_HOME 0x24
2148 #define VK_LEFT 0x25
2149 #define VK_UP 0x26
2150 #define VK_RIGHT 0x27
2151 #define VK_DOWN 0x28
2152 #define VK_SELECT 0x29
2153 #define VK_PRINT 0x2A
2154 #define VK_EXECUTE 0x2B
2155 #define VK_SNAPSHOT 0x2C
2156 #define VK_INSERT 0x2D
2157 #define VK_DELETE 0x2E
2158 #define VK_HELP 0x2F
2159 #define VK_NUMPAD0 0x60
2160 #define VK_NUMPAD1 0x61
2161 #define VK_NUMPAD2 0x62
2162 #define VK_NUMPAD3 0x63
2163 #define VK_NUMPAD4 0x64
2164 #define VK_NUMPAD5 0x65
2165 #define VK_NUMPAD6 0x66
2166 #define VK_NUMPAD7 0x67
2167 #define VK_NUMPAD8 0x68
2168 #define VK_NUMPAD9 0x69
2169 #define VK_MULTIPLY 0x6A
2170 #define VK_ADD 0x6B
2171 #define VK_SEPARATOR 0x6C
2172 #define VK_SUBTRACT 0x6D
2173 #define VK_DECIMAL 0x6E
2174 #define VK_DIVIDE 0x6F
2175 #define VK_F1 0x70
2176 #define VK_F2 0x71
2177 #define VK_F3 0x72
2178 #define VK_F4 0x73
2179 #define VK_F5 0x74
2180 #define VK_F6 0x75
2181 #define VK_F7 0x76
2182 #define VK_F8 0x77
2183 #define VK_F9 0x78
2184 #define VK_F10 0x79
2185 #define VK_F11 0x7A
2186 #define VK_F12 0x7B
2187 #define VK_F13 0x7C
2188 #define VK_F14 0x7D
2189 #define VK_F15 0x7E
2190 #define VK_F16 0x7F
2191 #define VK_F17 0x80
2192 #define VK_F18 0x81
2193 #define VK_F19 0x82
2194 #define VK_F20 0x83
2195 #define VK_F21 0x84
2196 #define VK_F22 0x85
2197 #define VK_F23 0x86
2198 #define VK_F24 0x87
2199 #define VK_NUMLOCK 0x90
2200 #define VK_SCROLL 0x91
2203 #define LMEM_FIXED 0
2204 #define LMEM_MOVEABLE 0x0002
2205 #define LMEM_NOCOMPACT 0x0010
2206 #define LMEM_NODISCARD 0x0020
2207 #define LMEM_ZEROINIT 0x0040
2208 #define LMEM_MODIFY 0x0080
2209 #define LMEM_DISCARDABLE 0x0F00
2210 #define LMEM_WINE_ALIGN 0x1000
2212 #define GMEM_FIXED 0x0000
2213 #define GMEM_MOVEABLE 0x0002
2214 #define GMEM_NOCOMPACT 0x0010
2215 #define GMEM_NODISCARD 0x0020
2216 #define GMEM_ZEROINIT 0x0040
2217 #define GMEM_MODIFY 0x0080
2218 #define GMEM_DISCARDABLE 0x0100
2219 #define GMEM_NOT_BANKED 0x1000
2220 #define GMEM_SHARE 0x2000
2221 #define GMEM_DDESHARE 0x2000
2222 #define GMEM_NOTIFY 0x4000
2223 #define GMEM_LOWER GMEM_NOT_BANKED
2224 #define GMEM_DISCARDED 0x4000
2225 #define GMEM_LOCKCOUNT 0x00ff
2227 #define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
2228 #define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
2231 /* Predefined Clipboard Formats */
2232 #define CF_TEXT 1
2233 #define CF_BITMAP 2
2234 #define CF_METAFILEPICT 3
2235 #define CF_SYLK 4
2236 #define CF_DIF 5
2237 #define CF_TIFF 6
2238 #define CF_OEMTEXT 7
2239 #define CF_DIB 8
2240 #define CF_PALETTE 9
2241 #define CF_PENDATA 10
2242 #define CF_RIFF 11
2243 #define CF_WAVE 12
2245 #define CF_OWNERDISPLAY 0x0080
2246 #define CF_DSPTEXT 0x0081
2247 #define CF_DSPBITMAP 0x0082
2248 #define CF_DSPMETAFILEPICT 0x0083
2250 /* "Private" formats don't get GlobalFree()'d */
2251 #define CF_PRIVATEFIRST 0x0200
2252 #define CF_PRIVATELAST 0x02FF
2254 /* "GDIOBJ" formats do get DeleteObject()'d */
2255 #define CF_GDIOBJFIRST 0x0300
2256 #define CF_GDIOBJLAST 0x03FF
2258 /* Clipboard command messages */
2259 #define WM_CUT 0x0300
2260 #define WM_COPY 0x0301
2261 #define WM_PASTE 0x0302
2262 #define WM_CLEAR 0x0303
2263 #define WM_UNDO 0x0304
2265 /* Clipboard owner messages */
2266 #define WM_RENDERFORMAT 0x0305
2267 #define WM_RENDERALLFORMATS 0x0306
2268 #define WM_DESTROYCLIPBOARD 0x0307
2270 /* Clipboard viewer messages */
2271 #define WM_DRAWCLIPBOARD 0x0308
2272 #define WM_PAINTCLIPBOARD 0x0309
2273 #define WM_SIZECLIPBOARD 0x030B
2274 #define WM_VSCROLLCLIPBOARD 0x030A
2275 #define WM_HSCROLLCLIPBOARD 0x030E
2276 #define WM_ASKCBFORMATNAME 0x030C
2277 #define WM_CHANGECBCHAIN 0x030D
2279 /* Metafile header structure */
2280 typedef struct tagMETAHEADER
2282 WORD mtType;
2283 WORD mtHeaderSize;
2284 WORD mtVersion;
2285 DWORD mtSize WINE_PACKED;
2286 WORD mtNoObjects;
2287 DWORD mtMaxRecord WINE_PACKED;
2288 WORD mtNoParameters;
2289 } METAHEADER;
2291 /* Metafile typical record structure */
2292 typedef struct tagMETARECORD
2294 DWORD rdSize;
2295 WORD rdFunction;
2296 WORD rdParam[1];
2297 } METARECORD;
2298 typedef METARECORD *PMETARECORD;
2299 typedef METARECORD *LPMETARECORD;
2301 /* Handle table structure */
2302 typedef struct tagHANDLETABLE
2304 HANDLE objectHandle[1];
2305 } HANDLETABLE;
2306 typedef HANDLETABLE *PHANDLETABLE;
2307 typedef HANDLETABLE *LPHANDLETABLE;
2309 /* Clipboard metafile picture structure */
2310 typedef struct tagMETAFILEPICT
2312 INT mm;
2313 INT xExt;
2314 INT yExt;
2315 HMETAFILE hMF;
2316 } METAFILEPICT;
2317 typedef METAFILEPICT *LPMETAFILEPICT;
2319 /* Metafile functions */
2320 #define META_SETBKCOLOR 0x0201
2321 #define META_SETBKMODE 0x0102
2322 #define META_SETMAPMODE 0x0103
2323 #define META_SETROP2 0x0104
2324 #define META_SETRELABS 0x0105
2325 #define META_SETPOLYFILLMODE 0x0106
2326 #define META_SETSTRETCHBLTMODE 0x0107
2327 #define META_SETTEXTCHAREXTRA 0x0108
2328 #define META_SETTEXTCOLOR 0x0209
2329 #define META_SETTEXTJUSTIFICATION 0x020A
2330 #define META_SETWINDOWORG 0x020B
2331 #define META_SETWINDOWEXT 0x020C
2332 #define META_SETVIEWPORTORG 0x020D
2333 #define META_SETVIEWPORTEXT 0x020E
2334 #define META_OFFSETWINDOWORG 0x020F
2335 #define META_SCALEWINDOWEXT 0x0410
2336 #define META_OFFSETVIEWPORTORG 0x0211
2337 #define META_SCALEVIEWPORTEXT 0x0412
2338 #define META_LINETO 0x0213
2339 #define META_MOVETO 0x0214
2340 #define META_EXCLUDECLIPRECT 0x0415
2341 #define META_INTERSECTCLIPRECT 0x0416
2342 #define META_ARC 0x0817
2343 #define META_ELLIPSE 0x0418
2344 #define META_FLOODFILL 0x0419
2345 #define META_PIE 0x081A
2346 #define META_RECTANGLE 0x041B
2347 #define META_ROUNDRECT 0x061C
2348 #define META_PATBLT 0x061D
2349 #define META_SAVEDC 0x001E
2350 #define META_SETPIXEL 0x041F
2351 #define META_OFFSETCLIPRGN 0x0220
2352 #define META_TEXTOUT 0x0521
2353 #define META_BITBLT 0x0922
2354 #define META_STRETCHBLT 0x0B23
2355 #define META_POLYGON 0x0324
2356 #define META_POLYLINE 0x0325
2357 #define META_ESCAPE 0x0626
2358 #define META_RESTOREDC 0x0127
2359 #define META_FILLREGION 0x0228
2360 #define META_FRAMEREGION 0x0429
2361 #define META_INVERTREGION 0x012A
2362 #define META_PAINTREGION 0x012B
2363 #define META_SELECTCLIPREGION 0x012C
2364 #define META_SELECTOBJECT 0x012D
2365 #define META_SETTEXTALIGN 0x012E
2366 #define META_DRAWTEXT 0x062F
2367 #define META_CHORD 0x0830
2368 #define META_SETMAPPERFLAGS 0x0231
2369 #define META_SETTEXTOUT 0x0A32
2370 #define META_SETDIBTODEV 0x0D33
2371 #define META_SELECTPALETTE 0x0234
2372 #define META_REALIZEPALETTE 0x0035
2373 #define META_ANIMATEPALETTE 0x0436
2374 #define META_SETPALENTRIES 0x0037
2375 #define META_POLYPOLYGON 0x0538
2376 #define META_RESIZEPALETTE 0x0139
2377 #define META_DIBBITBLT 0x0940
2378 #define META_DIBSTRETCHBLT 0x0B41
2379 #define META_DIBCREATEPATTERNBRUSH 0x0142
2380 #define META_STRETCHDIB 0x0F43
2381 #define META_EXTFLOODFILL 0x0548
2382 #define META_RESETDC 0x014C
2383 #define META_STARTDOC 0x014D
2384 #define META_STARTPAGE 0x004F
2385 #define META_ENDPAGE 0x0050
2386 #define META_ABORTDOC 0x0052
2387 #define META_ENDDOC 0x005E
2388 #define META_DELETEOBJECT 0x01F0
2389 #define META_CREATEPALETTE 0x00F7
2390 #define META_CREATEBRUSH 0x00F8
2391 #define META_CREATEPATTERNBRUSH 0x01F9
2392 #define META_CREATEPENINDIRECT 0x02FA
2393 #define META_CREATEFONTINDIRECT 0x02FB
2394 #define META_CREATEBRUSHINDIRECT 0x02FC
2395 #define META_CREATEBITMAPINDIRECT 0x02FD
2396 #define META_CREATEBITMAP 0x06FE
2397 #define META_CREATEREGION 0x06FF
2399 /* Debugging support (DEBUG SYSTEM ONLY) */
2400 typedef struct tagWINDEBUGINFO
2402 UINT flags;
2403 DWORD dwOptions;
2404 DWORD dwFilter;
2405 char achAllocModule[8];
2406 DWORD dwAllocBreak;
2407 DWORD dwAllocCount;
2408 } WINDEBUGINFO;
2409 typedef WINDEBUGINFO FAR* LPWINDEBUGINFO;
2411 /* WINDEBUGINFO flags values */
2412 #define WDI_OPTIONS 0x0001
2413 #define WDI_FILTER 0x0002
2414 #define WDI_ALLOCBREAK 0x0004
2416 /* dwOptions values */
2417 #define DBO_CHECKHEAP 0x0001
2418 #define DBO_BUFFERFILL 0x0004
2419 #define DBO_DISABLEGPTRAPPING 0x0010
2420 #define DBO_CHECKFREE 0x0020
2422 #define DBO_SILENT 0x8000
2424 #define DBO_TRACEBREAK 0x2000
2425 #define DBO_WARNINGBREAK 0x1000
2426 #define DBO_NOERRORBREAK 0x0800
2427 #define DBO_NOFATALBREAK 0x0400
2428 #define DBO_INT3BREAK 0x0100
2430 /* DebugOutput flags values */
2431 #define DBF_TRACE 0x0000
2432 #define DBF_WARNING 0x4000
2433 #define DBF_ERROR 0x8000
2434 #define DBF_FATAL 0xc000
2436 /* dwFilter values */
2437 #define DBF_KERNEL 0x1000
2438 #define DBF_KRN_MEMMAN 0x0001
2439 #define DBF_KRN_LOADMODULE 0x0002
2440 #define DBF_KRN_SEGMENTLOAD 0x0004
2441 #define DBF_USER 0x0800
2442 #define DBF_GDI 0x0400
2443 #define DBF_MMSYSTEM 0x0040
2444 #define DBF_PENWIN 0x0020
2445 #define DBF_APPLICATION 0x0008
2446 #define DBF_DRIVER 0x0010
2449 #ifndef WINELIB
2450 #pragma pack(4)
2451 #endif
2453 ATOM AddAtom(SEGPTR);
2454 ATOM DeleteAtom(ATOM);
2455 ATOM FindAtom(SEGPTR);
2456 ATOM GlobalAddAtom(SEGPTR);
2457 ATOM GlobalDeleteAtom(ATOM);
2458 ATOM GlobalFindAtom(SEGPTR);
2459 ATOM RegisterClass(LPWNDCLASS);
2460 BOOL AnyPopup(void);
2461 BOOL AppendMenu(HMENU,WORD,WORD,LPSTR);
2462 BOOL Arc(HDC,int,int,int,int,int,int,int,int);
2463 BOOL BitBlt(HDC,short,short,short,short,HDC,short,short,DWORD);
2464 BOOL BringWindowToTop(HWND);
2465 BOOL CallMsgFilter(SEGPTR,short);
2466 BOOL ChangeClipboardChain(HWND,HWND);
2467 BOOL ChangeMenu(HMENU,WORD,LPSTR,WORD,WORD);
2468 BOOL CheckMenuItem(HMENU,WORD,WORD);
2469 BOOL Chord(HDC,int,int,int,int,int,int,int,int);
2470 BOOL CloseClipboard(void);
2471 BOOL DPtoLP(HDC,LPPOINT,int);
2472 BOOL DeleteDC(HDC);
2473 BOOL DeleteMenu(HMENU,WORD,WORD);
2474 BOOL DeleteMetaFile(HMETAFILE);
2475 BOOL DeleteObject(HANDLE);
2476 BOOL DestroyCursor(HCURSOR);
2477 BOOL DestroyIcon(HICON);
2478 BOOL DestroyMenu(HMENU);
2479 BOOL DestroyWindow(HWND);
2480 BOOL DlgDirSelect(HWND,LPSTR,int);
2481 BOOL DlgDirSelectComboBox(HWND,LPSTR,int);
2482 BOOL DrawIcon(HDC,short,short,HICON);
2483 BOOL Ellipse(HDC,int,int,int,int);
2484 BOOL EmptyClipboard(void);
2485 BOOL EnableHardwareInput(BOOL);
2486 BOOL EnableMenuItem(HMENU,WORD,WORD);
2487 BOOL EnableScrollBar(HWND,INT,UINT);
2488 BOOL EnableWindow(HWND,BOOL);
2489 BOOL EndDeferWindowPos(HDWP);
2490 BOOL EnumChildWindows(HWND,FARPROC,LONG);
2491 BOOL EnumMetaFile(HDC,LOCALHANDLE,FARPROC,BYTE*);
2492 BOOL EnumTaskWindows(HANDLE,FARPROC,LONG);
2493 BOOL EnumWindows(FARPROC,LONG);
2494 BOOL EqualRect(LPRECT,LPRECT);
2495 BOOL EqualRgn(HRGN,HRGN);
2496 BOOL ExitWindows(DWORD,WORD);
2497 BOOL ExtFloodFill(HDC,INT,INT,COLORREF,WORD);
2498 BOOL ExtTextOut(HDC,short,short,WORD,LPRECT,LPSTR,WORD,LPINT);
2499 BOOL FillRgn(HDC,HRGN,HBRUSH);
2500 BOOL FlashWindow(HWND,BOOL);
2501 BOOL FloodFill(HDC,INT,INT,COLORREF);
2502 BOOL FrameRgn(HDC,HRGN,HBRUSH,int,int);
2503 BOOL FreeModule(HANDLE);
2504 BOOL FreeResource(HANDLE);
2505 BOOL GetBitmapDimensionEx(HBITMAP,LPSIZE);
2506 BOOL GetBrushOrgEx(HDC,LPPOINT);
2507 BOOL GetCharWidth(HDC,WORD,WORD,LPINT);
2508 BOOL GetClassInfo(HANDLE,SEGPTR,LPWNDCLASS);
2509 BOOL GetCurrentPositionEx(HDC,LPPOINT);
2510 BOOL GetInputState(void);
2511 BOOL GetMessage(SEGPTR,HWND,UINT,UINT);
2512 BOOL GetTextExtentPoint(HDC,LPSTR,short,LPSIZE);
2513 BOOL GetTextMetrics(HDC,LPTEXTMETRIC);
2514 BOOL GetUpdateRect(HWND,LPRECT,BOOL);
2515 BOOL GetViewportExtEx(HDC,LPPOINT);
2516 BOOL GetViewportOrgEx(HDC,LPPOINT);
2517 BOOL GetWinDebugInfo(LPWINDEBUGINFO,UINT);
2518 BOOL GetWindowExtEx(HDC,LPPOINT);
2519 BOOL GetWindowOrgEx(HDC,LPPOINT);
2520 BOOL GetWindowPlacement(HWND,LPWINDOWPLACEMENT);
2521 BOOL GlobalUnWire(HGLOBAL);
2522 BOOL GlobalUnlock(HGLOBAL);
2523 BOOL GrayString(HDC,HBRUSH,FARPROC,LPARAM,INT,INT,INT,INT,INT);
2524 BOOL HiliteMenuItem(HWND,HMENU,WORD,WORD);
2525 BOOL InSendMessage(void);
2526 BOOL InsertMenu(HMENU,WORD,WORD,WORD,LPSTR);
2527 BOOL IntersectRect(LPRECT,LPRECT,LPRECT);
2528 BOOL InvertRgn(HDC,HRGN);
2529 BOOL IsBadCodePtr(SEGPTR);
2530 BOOL IsBadHugeReadPtr(SEGPTR,DWORD);
2531 BOOL IsBadHugeWritePtr(SEGPTR,DWORD);
2532 BOOL IsBadReadPtr(SEGPTR,WORD);
2533 BOOL IsBadStringPtr(SEGPTR,WORD);
2534 BOOL IsBadWritePtr(SEGPTR,WORD);
2535 BOOL IsCharAlpha(char);
2536 BOOL IsCharAlphaNumeric(char);
2537 BOOL IsCharLower(char);
2538 BOOL IsCharUpper(char);
2539 BOOL IsChild(HWND,HWND);
2540 BOOL IsClipboardFormatAvailable(WORD);
2541 BOOL IsDialogMessage(HWND,LPMSG);
2542 BOOL IsIconic(HWND);
2543 BOOL IsRectEmpty(LPRECT);
2544 BOOL IsTwoByteCharPrefix(char);
2545 BOOL IsWindow(HWND);
2546 BOOL IsWindowEnabled(HWND);
2547 BOOL IsWindowVisible(HWND);
2548 BOOL IsZoomed(HWND);
2549 BOOL KillSystemTimer(HWND,WORD);
2550 BOOL KillTimer(HWND,WORD);
2551 BOOL LPtoDP(HDC,LPPOINT,int);
2552 BOOL LineTo(HDC,short,short);
2553 BOOL LocalInit(HANDLE,WORD,WORD);
2554 BOOL LocalUnlock(HANDLE);
2555 BOOL ModifyMenu(HMENU,WORD,WORD,WORD,LPSTR);
2556 BOOL MoveToEx(HDC,short,short,LPPOINT);
2557 BOOL MoveWindow(HWND,short,short,short,short,BOOL);
2558 BOOL OemToAnsi(LPSTR,LPSTR);
2559 BOOL OffsetViewportOrgEx(HDC,short,short,LPPOINT);
2560 BOOL OffsetWindowOrgEx(HDC,short,short,LPPOINT);
2561 BOOL OpenClipboard(HWND);
2562 BOOL OpenIcon(HWND);
2563 BOOL PaintRgn(HDC,HRGN);
2564 BOOL PatBlt(HDC,short,short,short,short,DWORD);
2565 BOOL PeekMessage(LPMSG,HWND,WORD,WORD,WORD);
2566 BOOL Pie(HDC,int,int,int,int,int,int,int,int);
2567 BOOL PlayMetaFile(HDC,HANDLE);
2568 BOOL PolyPolygon(HDC,LPPOINT,LPINT,WORD);
2569 BOOL Polygon(HDC,LPPOINT,int);
2570 BOOL Polyline(HDC,LPPOINT,int);
2571 BOOL PostAppMessage(HANDLE,WORD,WORD,LONG);
2572 BOOL PostMessage(HWND,WORD,WORD,LONG);
2573 BOOL PtInRect(LPRECT,POINT);
2574 BOOL PtInRegion(HRGN,short,short);
2575 BOOL PtVisible(HDC,short,short);
2576 BOOL RectInRegion(HRGN,LPRECT);
2577 BOOL RectVisible(HDC,LPRECT);
2578 BOOL Rectangle(HDC,int,int,int,int);
2579 BOOL RedrawWindow(HWND,LPRECT,HRGN,UINT);
2580 BOOL RemoveFontResource(LPSTR);
2581 BOOL RemoveMenu(HMENU,WORD,WORD);
2582 BOOL ResizePalette(HPALETTE,WORD);
2583 BOOL RestoreDC(HDC,short);
2584 BOOL RoundRect(HDC,short,short,short,short,short,short);
2585 BOOL ScaleViewportExtEx(HDC,short,short,short,short,LPSIZE);
2586 BOOL ScaleWindowExtEx(HDC,short,short,short,short,LPSIZE);
2587 BOOL ScrollDC(HDC,short,short,LPRECT,LPRECT,HRGN,LPRECT);
2588 BOOL SetBitmapDimensionEx(HBITMAP,short,short,LPSIZE);
2589 BOOL SetConvertParams(int,int);
2590 BOOL SetDeskPattern(void);
2591 BOOL SetDeskWallPaper(LPSTR);
2592 BOOL SetErrorMode(WORD);
2593 BOOL SetMenu(HWND,HMENU);
2594 BOOL SetMenuItemBitmaps(HMENU,WORD,WORD,HBITMAP,HBITMAP);
2595 BOOL SetMessageQueue(int);
2596 BOOL SetProp(HWND,SEGPTR,HANDLE);
2597 BOOL SetViewportExtEx(HDC,short,short,LPSIZE);
2598 BOOL SetViewportOrgEx(HDC,short,short,LPPOINT);
2599 BOOL SetWinDebugInfo(LPWINDEBUGINFO);
2600 BOOL SetWindowExtEx(HDC,short,short,LPSIZE);
2601 BOOL SetWindowOrgEx(HDC,short,short,LPPOINT);
2602 BOOL SetWindowPlacement(HWND,LPWINDOWPLACEMENT);
2603 BOOL SetWindowPos(HWND,HWND,short,short,short,short,WORD);
2604 BOOL ShowWindow(HWND,int);
2605 BOOL StretchBlt(HDC,short,short,short,short,HDC,short,short,short,short,DWORD);
2606 BOOL SubtractRect(LPRECT,LPRECT,LPRECT);
2607 BOOL SwapMouseButton(BOOL);
2608 BOOL TextOut(HDC,short,short,LPSTR,short);
2609 BOOL TrackPopupMenu(HMENU,WORD,short,short,short,HWND,LPRECT);
2610 BOOL TranslateMDISysAccel(HWND,LPMSG);
2611 BOOL TranslateMessage(LPMSG);
2612 BOOL UnhookWindowsHook(short,FARPROC);
2613 BOOL UnhookWindowsHookEx(HHOOK);
2614 BOOL UnionRect(LPRECT,LPRECT,LPRECT);
2615 BOOL UnrealizeObject(HBRUSH);
2616 BOOL UnregisterClass(SEGPTR,HANDLE);
2617 BOOL WinHelp(HWND,LPSTR,WORD,DWORD);
2618 BOOL WritePrivateProfileString(LPSTR,LPSTR,LPSTR,LPSTR);
2619 BOOL WriteProfileString(LPSTR,LPSTR,LPSTR);
2620 BYTE GetTempDrive(BYTE);
2621 COLORREF GetBkColor(HDC);
2622 COLORREF GetSysColor(short);
2623 COLORREF GetTextColor(HDC);
2624 COLORREF SetPixel(HDC,short,short,COLORREF);
2625 DWORD CallNextHookEx(HHOOK,short,WPARAM,LPARAM);
2626 DWORD DefHookProc(short,WORD,DWORD,HHOOK*);
2627 DWORD GetAspectRatioFilter(HDC);
2628 DWORD GetBitmapDimension(HBITMAP);
2629 DWORD GetBrushOrg(HDC);
2630 DWORD GetCurrentPosition(HDC);
2631 DWORD GetCurrentTime(void);
2632 DWORD GetDCOrg(HDC);
2633 DWORD GetDialogBaseUnits(void);
2634 DWORD GetFreeSpace(WORD);
2635 DWORD GetHeapSpaces(HMODULE);
2636 DWORD GetMenuCheckMarkDimensions(void);
2637 DWORD GetMessagePos(void);
2638 DWORD GetNearestColor(HDC,DWORD);
2639 DWORD GetPixel(HDC,short,short);
2640 DWORD GetSelectorBase(WORD);
2641 DWORD GetSelectorLimit(WORD);
2642 DWORD GetTabbedTextExtent(HDC,LPSTR,int,int,LPINT);
2643 DWORD GetTextExtent(HDC,LPSTR,short);
2644 DWORD GetTickCount(void);
2645 DWORD GetViewportExt(HDC);
2646 DWORD GetViewportOrg(HDC);
2647 DWORD GetWindowExt(HDC);
2648 DWORD GetWindowOrg(HDC);
2649 DWORD GlobalCompact(DWORD);
2650 DWORD GlobalDOSAlloc(DWORD);
2651 DWORD GlobalHandle(WORD);
2652 DWORD GlobalSize(HGLOBAL);
2653 DWORD MoveTo(HDC,short,short);
2654 DWORD OemKeyScan(WORD);
2655 DWORD OffsetViewportOrg(HDC,short,short);
2656 DWORD OffsetWindowOrg(HDC,short,short);
2657 DWORD ScaleViewportExt(HDC,short,short,short,short);
2658 DWORD ScaleWindowExt(HDC,short,short,short,short);
2659 DWORD SetBitmapDimension(HBITMAP,short,short);
2660 DWORD SetBkColor(HDC,COLORREF);
2661 DWORD SetBrushOrg(HDC,short,short);
2662 DWORD SetMapperFlags(HDC,DWORD);
2663 DWORD SetTextColor(HDC,DWORD);
2664 DWORD SetViewportExt(HDC,short,short);
2665 DWORD SetViewportOrg(HDC,short,short);
2666 DWORD SetWindowExt(HDC,short,short);
2667 DWORD SetWindowOrg(HDC,short,short);
2668 DWORD SizeofResource(HANDLE,HRSRC);
2669 FARPROC GetProcAddress(HANDLE,SEGPTR);
2670 FARPROC LocalNotify(FARPROC);
2671 FARPROC MakeProcInstance(FARPROC,HANDLE);
2672 FARPROC SetResourceHandler(HANDLE,LPSTR,FARPROC);
2673 FARPROC SetWindowsHook(short,FARPROC);
2674 HANDLE CopyMetaFile(HANDLE,LPSTR);
2675 HANDLE CreateCursorIconIndirect(HANDLE,CURSORICONINFO*,LPSTR,LPSTR);
2676 HANDLE CreateMetaFile(LPSTR);
2677 HANDLE DirectResAlloc(HANDLE,WORD,WORD);
2678 HANDLE FindResource(HANDLE,SEGPTR,SEGPTR);
2679 HANDLE GetAtomHandle(ATOM);
2680 HANDLE GetClipboardData(WORD);
2681 HANDLE GetCodeHandle(FARPROC);
2682 HANDLE GetCurrentPDB(void);
2683 HANDLE GetCurrentTask(void);
2684 HANDLE GetMetaFile(LPSTR);
2685 HANDLE GetMetaFileBits(HANDLE);
2686 HANDLE GetModuleHandle(LPCSTR);
2687 HANDLE GetProp(HWND,SEGPTR);
2688 HANDLE GetStockObject(int);
2689 HANDLE GetWindowTask(HWND);
2690 HANDLE LoadAccelerators(HANDLE,SEGPTR);
2691 HANDLE LoadLibrary(LPCSTR);
2692 HANDLE LoadModule(LPCSTR,LPVOID);
2693 HANDLE LoadResource(HANDLE,HANDLE);
2694 HANDLE LocalAlloc(WORD,WORD);
2695 HANDLE LocalFree(HANDLE);
2696 HANDLE LocalHandle(WORD);
2697 HANDLE LocalReAlloc(HANDLE,WORD,WORD);
2698 HANDLE RemoveProp(HWND,SEGPTR);
2699 HANDLE SelectObject(HDC,HANDLE);
2700 HANDLE SetClipboardData(WORD,HANDLE);
2701 HANDLE SetMetaFileBits(HANDLE);
2702 HANDLE WinExec(LPSTR,WORD);
2703 HBITMAP CreateBitmap(short,short,BYTE,BYTE,LPSTR);
2704 HBITMAP CreateBitmapIndirect(BITMAP*);
2705 HBITMAP CreateCompatibleBitmap(HDC,short,short);
2706 HBITMAP CreateDIBitmap(HDC,LPBITMAPINFOHEADER,DWORD,LPSTR,LPBITMAPINFO,WORD);
2707 HBITMAP CreateDiscardableBitmap(HDC,short,short);
2708 HBITMAP LoadBitmap(HANDLE,SEGPTR);
2709 HBRUSH CreateBrushIndirect(LOGBRUSH*);
2710 HBRUSH CreateDIBPatternBrush(HANDLE,WORD);
2711 HBRUSH CreateHatchBrush(short,COLORREF);
2712 HBRUSH CreatePatternBrush(HBITMAP);
2713 HBRUSH CreateSolidBrush(DWORD);
2714 HBRUSH GetControlBrush(HWND,HDC,WORD);
2715 HCURSOR CreateCursor(HANDLE,INT,INT,INT,INT,LPSTR,LPSTR);
2716 HCURSOR GetCursor(void);
2717 HCURSOR LoadCursor(HANDLE,SEGPTR);
2718 HCURSOR SetCursor(HCURSOR);
2719 HDC BeginPaint(HWND,LPPAINTSTRUCT);
2720 HDC CreateCompatibleDC(HDC);
2721 HDC CreateDC(LPSTR,LPSTR,LPSTR,LPSTR);
2722 HDC CreateIC(LPSTR,LPSTR,LPSTR,LPSTR);
2723 HDC GetDC(HWND);
2724 HDC GetDCEx(HWND,HRGN,DWORD);
2725 HDC GetDCState(HDC);
2726 HDC GetWindowDC(HWND);
2727 HDWP BeginDeferWindowPos(INT);
2728 HDWP DeferWindowPos(HDWP,HWND,HWND,INT,INT,INT,INT,WORD);
2729 HFONT CreateFont(int,int,int,int,int,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,LPSTR);
2730 HFONT CreateFontIndirect(LOGFONT*);
2731 HGLOBAL AllocResource(HINSTANCE,HRSRC,DWORD);
2732 HGLOBAL GetTaskQueue(HTASK);
2733 HGLOBAL GlobalAlloc(WORD,DWORD);
2734 HGLOBAL GlobalFree(HGLOBAL);
2735 HGLOBAL GlobalLRUNewest(HGLOBAL);
2736 HGLOBAL GlobalLRUOldest(HGLOBAL);
2737 HGLOBAL GlobalReAlloc(HGLOBAL,DWORD,WORD);
2738 HGLOBAL LockSegment(HGLOBAL);
2739 HGLOBAL SetTaskQueue(HTASK,HGLOBAL);
2740 HHOOK SetWindowsHookEx(short,HOOKPROC,HINSTANCE,HTASK);
2741 HICON CreateIcon(HANDLE,INT,INT,BYTE,BYTE,LPSTR,LPSTR);
2742 HICON LoadIcon(HANDLE,SEGPTR);
2743 HINSTANCE GetTaskDS(void);
2744 HMENU CreateMenu(void);
2745 HMENU CreatePopupMenu(void);
2746 HMENU GetMenu(HWND);
2747 HMENU GetSubMenu(HMENU,short);
2748 HMENU GetSystemMenu(HWND,BOOL);
2749 HMENU LoadMenu(HANDLE,SEGPTR);
2750 HMENU LoadMenuIndirect(LPSTR);
2751 HMENU LookupMenuHandle(HMENU,INT);
2752 HMETAFILE CloseMetaFile(HANDLE);
2753 HMODULE GetExePtr(HANDLE);
2754 HPALETTE CreatePalette(LPLOGPALETTE);
2755 HPALETTE GDISelectPalette(HDC,HPALETTE);
2756 HPALETTE SelectPalette(HDC,HPALETTE,BOOL);
2757 HPEN CreatePen(short,short,COLORREF);
2758 HPEN CreatePenIndirect(LOGPEN*);
2759 HRGN CreateEllipticRgn(short,short,short,short);
2760 HRGN CreateEllipticRgnIndirect(LPRECT);
2761 HRGN CreatePolyPolygonRgn(LPPOINT,LPINT,short,short);
2762 HRGN CreatePolygonRgn(LPPOINT,short,short);
2763 HRGN CreateRectRgn(short,short,short,short);
2764 HRGN CreateRectRgnIndirect(LPRECT);
2765 HRGN CreateRoundRectRgn(short,short,short,short,short,short);
2766 HRGN GetClipRgn(HDC);
2767 HRGN InquireVisRgn(HDC);
2768 HRGN SaveVisRgn(HDC);
2769 HWND ChildWindowFromPoint(HWND,POINT);
2770 HWND CreateDialog(HANDLE,SEGPTR,HWND,WNDPROC);
2771 HWND CreateDialogIndirect(HANDLE,SEGPTR,HWND,WNDPROC);
2772 HWND CreateDialogIndirectParam(HANDLE,SEGPTR,HWND,WNDPROC,LPARAM);
2773 HWND CreateDialogParam(HANDLE,SEGPTR,HWND,WNDPROC,LPARAM);
2774 HWND CreateWindow(SEGPTR,SEGPTR,DWORD,INT,INT,INT,INT,HWND,HMENU,HINSTANCE,SEGPTR);
2775 HWND CreateWindowEx(DWORD,SEGPTR,SEGPTR,DWORD,INT,INT,INT,INT,HWND,HMENU,HINSTANCE,SEGPTR);
2776 HWND FindWindow(SEGPTR,LPSTR);
2777 HWND GetActiveWindow(void);
2778 HWND GetCapture(void);
2779 HWND GetClipboardOwner(void);
2780 HWND GetClipboardViewer(void);
2781 HWND GetDesktopHwnd(void);
2782 HWND GetDesktopWindow(void);
2783 HWND GetDlgItem(HWND,WORD);
2784 HWND GetFocus(void);
2785 HWND GetLastActivePopup(HWND);
2786 HWND GetNextDlgGroupItem(HWND,HWND,BOOL);
2787 HWND GetNextDlgTabItem(HWND,HWND,BOOL);
2788 HWND GetNextWindow(HWND,WORD);
2789 HWND GetOpenClipboardWindow(void);
2790 HWND GetParent(HWND);
2791 HWND GetSysModalWindow(void);
2792 HWND GetTopWindow(HWND);
2793 HWND GetWindow(HWND,WORD);
2794 HWND SetActiveWindow(HWND);
2795 HWND SetCapture(HWND);
2796 HWND SetClipboardViewer(HWND);
2797 HWND SetFocus(HWND);
2798 HWND SetParent(HWND,HWND);
2799 HWND SetSysModalWindow(HWND);
2800 HWND WindowFromPoint(POINT);
2801 INT AccessResource(HINSTANCE,HRSRC);
2802 INT AddFontResource(LPCSTR);
2803 INT AnsiToOem(LPSTR,LPSTR);
2804 INT GetTempFileName(BYTE,LPCSTR,UINT,LPSTR);
2805 INT GetTextFace(HDC,INT,LPSTR);
2806 INT OpenFile(LPCSTR,LPOFSTRUCT,UINT);
2807 INT _lclose(INT);
2808 INT _lcreat(LPSTR,INT);
2809 INT _lopen(LPSTR,INT);
2810 INT _lread(INT,LPSTR,WORD);
2811 INT _lwrite(INT,LPCSTR,WORD);
2812 INT lstrcmp(LPCSTR,LPCSTR);
2813 INT lstrcmpi(LPCSTR,LPCSTR);
2814 INT lstrlen(LPCSTR);
2815 LONG CallWindowProc(WNDPROC,HWND,UINT,WPARAM,LPARAM);
2816 LONG DefDlgProc(HWND,UINT,WPARAM,LPARAM);
2817 LONG DefFrameProc(HWND,HWND,UINT,WPARAM,LPARAM);
2818 LONG DefMDIChildProc(HWND,UINT,WPARAM,LPARAM);
2819 LONG DispatchMessage(LPMSG);
2820 LONG EscapeCommFunction(int,int);
2821 LONG GetBitmapBits(HBITMAP,LONG,LPSTR);
2822 LONG GetClassLong(HWND,short);
2823 LONG GetMessageExtraInfo(void);
2824 LONG GetMessageTime(void);
2825 LONG GetVersion(void);
2826 LONG GetWinFlags(void);
2827 LONG GetWindowLong(HWND,short);
2828 LONG SendDlgItemMessage(HWND,INT,UINT,WPARAM,LPARAM);
2829 LONG SetBitmapBits(HBITMAP,LONG,LPSTR);
2830 LONG SetClassLong(HWND,short,LONG);
2831 LONG SetSwapAreaSize(WORD);
2832 LONG SetWindowLong(HWND,short,LONG);
2833 LONG TabbedTextOut(HDC,short,short,LPSTR,short,short,LPINT,short);
2834 LONG _hread(INT,LPSTR,LONG);
2835 LONG _hwrite(INT,LPCSTR,LONG);
2836 LONG _llseek(INT,LONG,INT);
2837 LPINT GetThresholdEvent(void);
2838 LPSTR AnsiLower(LPSTR);
2839 LPSTR AnsiUpper(LPSTR);
2840 LPSTR LockResource(HANDLE);
2841 LPSTR ValidateFreeSpaces(void);
2842 LPVOID GlobalLock(HGLOBAL);
2843 LRESULT DefWindowProc(HWND,UINT,WPARAM,LPARAM);
2844 LRESULT SendMessage(HWND,UINT,WPARAM,LPARAM);
2845 NPVOID LocalLock(HLOCAL);
2846 SEGPTR AnsiNext(SEGPTR);
2847 SEGPTR AnsiPrev(SEGPTR,SEGPTR);
2848 SEGPTR GetDOSEnvironment(void);
2849 SEGPTR GlobalWire(HGLOBAL);
2850 SEGPTR WIN16_GlobalLock(HGLOBAL);
2851 SEGPTR WIN16_LockResource(HANDLE);
2852 SEGPTR lstrcat(SEGPTR,SEGPTR);
2853 SEGPTR lstrcpy(SEGPTR,SEGPTR);
2854 SEGPTR lstrcpyn(SEGPTR,SEGPTR,WORD);
2855 UINT AnsiLowerBuff(LPSTR,UINT);
2856 UINT AnsiUpperBuff(LPSTR,UINT);
2857 UINT GDIRealizePalette(HDC);
2858 UINT RealizePalette(HDC);
2859 WORD AllocCStoDSAlias(WORD);
2860 WORD AllocDStoCSAlias(WORD);
2861 WORD AllocSelector(WORD);
2862 WORD AllocSelectorArray(WORD);
2863 WORD ArrangeIconicWindows(HWND);
2864 WORD ChangeSelector(WORD,WORD);
2865 WORD EnumClipboardFormats(WORD);
2866 WORD FarGetOwner(HANDLE);
2867 WORD FreeSelector(WORD);
2868 WORD GetAtomName(ATOM,LPSTR,short);
2869 WORD GetBkMode(HDC);
2870 WORD GetCaretBlinkTime(void);
2871 WORD GetClassWord(HWND,short);
2872 WORD GetCommEventMask(int,int);
2873 WORD GetDlgItemInt(HWND,WORD,BOOL*,BOOL);
2874 WORD GetDoubleClickTime(void);
2875 WORD GetDriveType(INT);
2876 WORD GetInternalWindowPos(HWND,LPRECT,LPPOINT);
2877 WORD GetMapMode(HDC);
2878 WORD GetMenuItemCount(HMENU);
2879 WORD GetMenuItemID(HMENU,int);
2880 WORD GetMenuState(HMENU,WORD,WORD);
2881 WORD GetNearestPaletteIndex(HPALETTE,DWORD);
2882 WORD GetNumTasks(void);
2883 WORD GetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
2884 WORD GetPolyFillMode(HDC);
2885 WORD GetPrivateProfileInt(LPSTR,LPSTR,short,LPSTR);
2886 WORD GetProfileInt(LPSTR,LPSTR,int);
2887 WORD GetROP2(HDC);
2888 WORD GetRelAbs(HDC);
2889 WORD GetStretchBltMode(HDC);
2890 WORD GetSystemDirectory(LPSTR,WORD);
2891 WORD GetSystemPaletteEntries(HDC,WORD,WORD,LPPALETTEENTRY);
2892 WORD GetSystemPaletteUse(HDC);
2893 WORD GetTextAlign(HDC);
2894 WORD GetWindowWord(HWND,short);
2895 WORD GetWindowsDirectory(LPSTR,WORD);
2896 WORD GlobalDOSFree(WORD);
2897 WORD GlobalFlags(HGLOBAL);
2898 WORD GlobalGetAtomName(ATOM,LPSTR,short);
2899 WORD GlobalPageLock(HGLOBAL);
2900 WORD GlobalPageUnlock(HGLOBAL);
2901 WORD InitAtomTable(WORD);
2902 WORD IsDlgButtonChecked(HWND,WORD);
2903 WORD LocalCompact(WORD);
2904 WORD LocalFlags(HLOCAL);
2905 WORD LocalShrink(HANDLE,WORD);
2906 WORD LocalSize(HLOCAL);
2907 WORD MapVirtualKey(WORD,WORD);
2908 WORD PrestoChangoSelector(WORD,WORD);
2909 WORD RealizeDefaultPalette(HDC);
2910 WORD RegisterClipboardFormat(LPCSTR);
2911 WORD RegisterWindowMessage(SEGPTR);
2912 WORD SelectorAccessRights(WORD,WORD,WORD);
2913 WORD SetBkMode(HDC,WORD);
2914 WORD SetClassWord(HWND,short,WORD);
2915 WORD SetHandleCount(WORD);
2916 WORD SetMapMode(HDC,WORD);
2917 WORD SetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
2918 WORD SetPolyFillMode(HDC,WORD);
2919 WORD SetROP2(HDC,WORD);
2920 WORD SetRelAbs(HDC,WORD);
2921 WORD SetSelectorBase(WORD,DWORD);
2922 WORD SetSelectorLimit(WORD,DWORD);
2923 WORD SetStretchBltMode(HDC,WORD);
2924 WORD SetSystemPaletteUse(HDC,WORD);
2925 WORD SetSystemTimer(HWND,WORD,WORD,FARPROC);
2926 WORD SetTextAlign(HDC,WORD);
2927 WORD SetTimer(HWND,WORD,WORD,FARPROC);
2928 WORD SetWindowWord(HWND,short,WORD);
2929 WORD VkKeyScan(WORD);
2930 WORD* SetCommEventMask(int,WORD);
2931 int BuildCommDCB(LPSTR,DCB*);
2932 int Catch(LPCATCHBUF);
2933 int ClearCommBreak(int);
2934 int CloseComm(int);
2935 int CombineRgn(HRGN,HRGN,HRGN,short);
2936 int ConvertRequest(HWND,LPKANJISTRUCT);
2937 int CountClipboardFormats(void);
2938 int CountVoiceNotes(int);
2939 int DialogBox(HINSTANCE,SEGPTR,HWND,WNDPROC);
2940 int DialogBoxIndirect(HANDLE,HANDLE,HWND,WNDPROC);
2941 int DialogBoxIndirectParam(HANDLE,HANDLE,HWND,WNDPROC,LONG);
2942 int DialogBoxParam(HANDLE,SEGPTR,HWND,WNDPROC,LONG);
2943 int DlgDirList(HWND,LPSTR,int,int,WORD);
2944 int DlgDirListComboBox(HWND,SEGPTR,int,int,WORD);
2945 int DrawText(HDC,LPSTR,int,LPRECT,WORD);
2946 int EnumFonts(HDC,LPSTR,FARPROC,LPSTR);
2947 int EnumObjects(HDC,int,FARPROC,LPSTR);
2948 int EnumProps(HWND,FARPROC);
2949 int Escape(HDC,int,int,LPSTR,LPSTR);
2950 int ExcludeClipRect(HDC,short,short,short,short);
2951 int ExcludeUpdateRgn(HDC,HWND);
2952 int ExcludeVisRect(HDC,short,short,short,short);
2953 int FillRect(HDC,LPRECT,HBRUSH);
2954 int FlushComm(int,int);
2955 int FrameRect(HDC,LPRECT,HBRUSH);
2956 int GetAsyncKeyState(int);
2957 int GetClassName(HWND,LPSTR,short);
2958 int GetClipBox(HDC,LPRECT);
2959 int GetClipboardFormatName(WORD,LPSTR,short);
2960 int GetCommError(int,COMSTAT*);
2961 int GetCommState(int,DCB*);
2962 int GetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
2963 int GetDeviceCaps(HDC,WORD);
2964 int GetDlgCtrlID(HWND);
2965 int GetDlgItemText(HWND,WORD,SEGPTR,WORD);
2966 int GetEnvironment(LPSTR,LPSTR,WORD);
2967 int GetInstanceData(HANDLE,WORD,int);
2968 int GetKBCodePage(void);
2969 int GetKeyNameText(LONG,LPSTR,int);
2970 int GetKeyState(int);
2971 int GetKeyboardType(int);
2972 int GetMenuString(HMENU,WORD,LPSTR,short,WORD);
2973 int GetModuleFileName(HANDLE,LPSTR,short);
2974 int GetModuleUsage(HANDLE);
2975 int GetObject(HANDLE,int,LPSTR);
2976 int GetPriorityClipboardFormat(WORD*,short);
2977 int GetProfileString(LPSTR,LPSTR,LPSTR,LPSTR,int);
2978 int GetRgnBox(HRGN,LPRECT);
2979 int GetScrollPos(HWND,int);
2980 int GetSystemMetrics(WORD);
2981 int GetThresholdStatus(void);
2982 int GetUpdateRgn(HWND,HRGN,BOOL);
2983 int GetWindowText(HWND,LPSTR,int);
2984 int GetWindowTextLength(HWND);
2985 int IntersectClipRect(HDC,short,short,short,short);
2986 int IntersectVisRect(HDC,short,short,short,short);
2987 int LoadString(HANDLE,WORD,LPSTR,int);
2988 int MessageBox(HWND,LPSTR,LPSTR,WORD);
2989 int MulDiv(int,int,int);
2990 int OffsetClipRgn(HDC,short,short);
2991 int OffsetRgn(HRGN,short,short);
2992 int OpenComm(LPSTR,WORD,WORD);
2993 int OpenSound(void);
2994 int ProfInsChk(void);
2995 int ReadComm(int,LPSTR,int);
2996 int ReleaseDC(HWND,HDC);
2997 int RestoreVisRgn(HDC);
2998 int SaveDC(HDC);
2999 int ScrollWindowEx(HWND,short,short,LPRECT,LPRECT,HRGN,LPRECT,WORD);
3000 int SelectClipRgn(HDC,HRGN);
3001 int SelectVisRgn(HDC,HRGN);
3002 int SetCommBreak(int);
3003 int SetCommState(DCB*);
3004 int SetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
3005 int SetDIBitsToDevice(HDC,short,short,WORD,WORD,WORD,WORD,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
3006 int SetEnvironment(LPSTR,LPSTR,WORD);
3007 int SetScrollPos(HWND,int,int,BOOL);
3008 int SetSoundNoise(int,int);
3009 int SetVoiceAccent(int,int,int,int,int);
3010 int SetVoiceEnvelope(int,int,int);
3011 int SetVoiceNote(int,int,int,int);
3012 int SetVoiceQueueSize(int,int);
3013 int SetVoiceSound(int,LONG,int);
3014 int SetVoiceThreshold(int,int);
3015 int ShowCursor(BOOL);
3016 int StartSound(void);
3017 int StopSound(void);
3018 int StretchDIBits(HDC,WORD,WORD,WORD,WORD,WORD,WORD,WORD,WORD,LPSTR,LPBITMAPINFO,WORD,DWORD);
3019 int SyncAllVoices(void);
3020 int Throw(LPCATCHBUF,int);
3021 int ToAscii(WORD,WORD,LPSTR,LPVOID,WORD);
3022 int TranslateAccelerator(HWND,HANDLE,LPMSG);
3023 int TransmitCommChar(int,char);
3024 int UngetCommChar(int,char);
3025 int UpdateColors(HDC);
3026 int WaitSoundState(int);
3027 int WriteComm(int,LPSTR,int);
3028 int wvsprintf(LPSTR,LPSTR,LPSTR);
3029 short GetPrivateProfileString(LPSTR,LPSTR,LPSTR,LPSTR,short,LPSTR);
3030 short GetTextCharacterExtra(HDC);
3031 short SetTextCharacterExtra(HDC,short);
3032 short SetTextJustification(HDC,short,short);
3033 void AdjustWindowRect(LPRECT,DWORD,BOOL);
3034 void AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
3035 void AnimatePalette(HPALETTE,UINT,UINT,LPPALETTEENTRY);
3036 void AnsiToOemBuff(LPSTR,LPSTR,INT);
3037 void CheckDlgButton(HWND,WORD,WORD);
3038 void CheckRadioButton(HWND,WORD,WORD,WORD);
3039 void ClientToScreen(HWND,LPPOINT);
3040 void ClipCursor(LPRECT);
3041 void CloseSound(void);
3042 void CloseWindow(HWND);
3043 void CopyRect(LPRECT,LPRECT);
3044 void CreateCaret(HWND,HBITMAP,short,short);
3045 void DebugBreak(void);
3046 void DestroyCaret(void);
3047 void DirectedYield(HTASK);
3048 void DrawFocusRect(HDC,LPRECT);
3049 void DrawMenuBar(HWND);
3050 void EndDialog(HWND,short);
3051 void EndPaint(HWND,LPPAINTSTRUCT);
3052 void FarSetOwner(HANDLE,WORD);
3053 void FatalExit(int);
3054 void FillWindow(HWND,HWND,HDC,HBRUSH);
3055 void FreeLibrary(HANDLE);
3056 void FreeProcInstance(FARPROC);
3057 void GetCaretPos(LPPOINT);
3058 void GetClientRect(HWND,LPRECT);
3059 void GetCodeInfo(FARPROC,LPVOID);
3060 void GetCursorPos(LPPOINT);
3061 void GetKeyboardState(BYTE*);
3062 void GetScrollRange(HWND,int,LPINT,LPINT);
3063 void GetWindowRect(HWND,LPRECT);
3064 void GlobalFix(HGLOBAL);
3065 void GlobalFreeAll(HANDLE);
3066 void GlobalNotify(FARPROC);
3067 void GlobalUnfix(HGLOBAL);
3068 void HideCaret(HWND);
3069 void InflateRect(LPRECT,short,short);
3070 void InvalidateRect(HWND,LPRECT,BOOL);
3071 void InvalidateRgn(HWND,HRGN,BOOL);
3072 void InvertRect(HDC,LPRECT);
3073 void LimitEmsPages(DWORD);
3074 void LineDDA(short,short,short,short,FARPROC,long);
3075 void MapDialogRect(HWND,LPRECT);
3076 void MapWindowPoints(HWND,HWND,LPPOINT,WORD);
3077 void MessageBeep(WORD);
3078 void OemToAnsiBuff(LPSTR,LPSTR,INT);
3079 void OffsetRect(LPRECT,short,short);
3080 void OutputDebugString(LPSTR);
3081 void PaintRect(HWND,HWND,HDC,HBRUSH,LPRECT);
3082 void PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,WORD);
3083 void PostQuitMessage(int);
3084 void ProfClear(void);
3085 void ProfFinish(void);
3086 void ProfFlush(void);
3087 void ProfSampRate(int,int);
3088 void ProfSetup(int,int);
3089 void ProfStart(void);
3090 void ProfStop(void);
3091 void ReleaseCapture(void);
3092 void ReplyMessage(LONG);
3093 void ScreenToClient(HWND,LPPOINT);
3094 void ScrollWindow(HWND,short,short,LPRECT,LPRECT);
3095 void SetCaretBlinkTime(WORD);
3096 void SetCaretPos(short,short);
3097 void SetConvertHook(BOOL);
3098 void SetCursorPos(short,short);
3099 void SetDCState(HDC,HDC);
3100 void SetDlgItemInt(HWND,WORD,WORD,BOOL);
3101 void SetDlgItemText(HWND,WORD,SEGPTR);
3102 void SetDoubleClickTime(WORD);
3103 void SetInternalWindowPos(HWND,WORD,LPRECT,LPPOINT);
3104 void SetKeyboardState(BYTE*);
3105 void SetRect(LPRECT,short,short,short,short);
3106 void SetRectEmpty(LPRECT);
3107 void SetRectRgn(HRGN,short,short,short,short);
3108 void SetScrollRange(HWND,int,int,int,BOOL);
3109 void SetSysColors(int,LPINT,COLORREF*);
3110 void SetWindowText(HWND,LPSTR);
3111 void ShowCaret(HWND);
3112 void ShowOwnedPopups(HWND,BOOL);
3113 void ShowScrollBar(HWND,WORD,BOOL);
3114 void SwapRecording(WORD);
3115 void SwitchStackBack(void);
3116 void SwitchStackTo(WORD,WORD,WORD);
3117 void UnlockSegment(HGLOBAL);
3118 void UpdateWindow(HWND);
3119 void ValidateCodeSegments(void);
3120 void ValidateRect(HWND,LPRECT);
3121 void ValidateRgn(HWND,HRGN);
3122 void WaitMessage(void);
3123 void Yield(void);
3125 #ifdef WINELIB
3126 #define WINELIB_UNIMP(x) fprintf (stderr, "WineLib: Unimplemented %s\n", x)
3127 #endif
3128 #endif /* WINDOWS_H */