|
|
1.1 root 1: /*++ BUILD Version: 0003 // Increment this if a change has global effects
2:
3: Copyright (c) 1985-91, Microsoft Corporation
4:
5: Module Name:
6:
7: winuser.h
8:
9: Abstract:
10:
11: Procedure declarations, constant definitions and macros for the User
12: component.
13:
14: --*/
15:
16: #ifndef _WINUSER_
17: #define _WINUSER_
18:
1.1.1.3 ! root 19: #ifdef __cplusplus
! 20: extern "C" {
! 21: #endif
! 22:
! 23: #ifndef WINVER
! 24: #define WINVER 0x0314 // version 3.2
! 25: #endif
! 26:
! 27: #include "stdarg.h"
! 28:
1.1 root 29: #ifndef NOUSER
30:
1.1.1.2 root 31: typedef HANDLE HDWP;
1.1.1.3 ! root 32: typedef VOID MENUTEMPLATEA;
! 33: typedef VOID MENUTEMPLATEW;
! 34: #ifdef UNICODE
! 35: #define MENUTEMPLATE MENUTEMPLATEW
! 36: #else
! 37: #define MENUTEMPLATE MENUTEMPLATEA
! 38: #endif // UNICODE
1.1 root 39: typedef PVOID LPMENUTEMPLATEA;
40: typedef PVOID LPMENUTEMPLATEW;
41: #ifdef UNICODE
42: #define LPMENUTEMPLATE LPMENUTEMPLATEW
43: #else
44: #define LPMENUTEMPLATE LPMENUTEMPLATEA
45: #endif // UNICODE
46:
1.1.1.2 root 47: typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
48: #ifdef STRICT
49: typedef BOOL (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);
50: typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT, DWORD);
51: typedef BOOL (CALLBACK* GRAYSTRINGPROC)(HDC, LPARAM, int);
52: typedef BOOL (CALLBACK* PROPENUMPROC)(HWND, LPCSTR, HANDLE);
53: typedef BOOL (CALLBACK* PROPENUMPROCEX)(HWND, LPTSTR, HANDLE, DWORD);
54: typedef BOOL (CALLBACK* WNDENUMPROC)(HWND, LPARAM);
55: typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);
56: typedef int (CALLBACK* EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent, int cch, int code);
1.1.1.3 ! root 57: typedef VOID (CALLBACK* SENDASYNCPROC)(HWND, UINT, DWORD, LRESULT);
1.1.1.2 root 58: #else
59: typedef FARPROC DLGPROC;
60: typedef FARPROC TIMERPROC;
61: typedef FARPROC GRAYSTRINGPROC;
62: typedef FARPROC PROPENUMPROC;
1.1.1.3 ! root 63: typedef FARPROC PROPENUMPROCEX;
1.1.1.2 root 64: typedef FARPROC WNDENUMPROC;
65: typedef FARPROC HOOKPROC;
66: typedef FARPROC EDITWORDBREAKPROC;
1.1.1.3 ! root 67: typedef FARPROC SENDASYNCPROC;
1.1.1.2 root 68: #endif
1.1 root 69:
1.1.1.2 root 70: #define MAKEINTRESOURCE(i) (LPTSTR)((DWORD)((WORD)(i)))
1.1 root 71:
72: #ifndef NORESOURCE
73:
74: /* Predefined Resource Types */
75: #define RT_CURSOR MAKEINTRESOURCE(1)
76: #define RT_BITMAP MAKEINTRESOURCE(2)
77: #define RT_ICON MAKEINTRESOURCE(3)
78: #define RT_MENU MAKEINTRESOURCE(4)
79: #define RT_DIALOG MAKEINTRESOURCE(5)
80: #define RT_STRING MAKEINTRESOURCE(6)
81: #define RT_FONTDIR MAKEINTRESOURCE(7)
82: #define RT_FONT MAKEINTRESOURCE(8)
83: #define RT_ACCELERATOR MAKEINTRESOURCE(9)
84: #define RT_RCDATA MAKEINTRESOURCE(10)
85: #define RT_MESSAGETABLE MAKEINTRESOURCE(11)
86:
87: #define DIFFERENCE 11
88:
89: /* NOTE: if any new resource types are introduced above this point, then the
90: ** value of DIFFERENCE must be changed.
91: ** (RT_GROUP_CURSOR - RT_CURSOR) must always be equal to DIFFERENCE
92: ** (RT_GROUP_ICON - RT_ICON) must always be equal to DIFFERENCE
93: */
94: #define RT_GROUP_CURSOR MAKEINTRESOURCE((DWORD)RT_CURSOR + DIFFERENCE)
95: /* The value RT_BITMAP+DIFFERENCE (13) is intentionally unused */
96: #define RT_GROUP_ICON MAKEINTRESOURCE((DWORD)RT_ICON + DIFFERENCE)
97: /* The value 15 is unused/obsolete */
98: #define RT_VERSION MAKEINTRESOURCE(16)
1.1.1.2 root 99: #define RT_DLGINCLUDE MAKEINTRESOURCE(17)
1.1 root 100:
101: #endif /* NORESOURCE */
102:
1.1.1.3 ! root 103: int WINAPI wvsprintfA(LPSTR, LPCSTR, const void FAR* arglist);
! 104: int WINAPI wvsprintfW(LPWSTR, LPCWSTR, const void FAR* arglist);
1.1.1.2 root 105: #ifdef UNICODE
106: #define wvsprintf wvsprintfW
107: #else
108: #define wvsprintf wvsprintfA
109: #endif // !UNICODE
110:
111: int WINAPI wsprintfA(LPSTR, LPCSTR, ...);
1.1.1.3 ! root 112: int WINAPI wsprintfW(LPWSTR, LPCWSTR, ...);
1.1.1.2 root 113: #ifdef UNICODE
114: #define wsprintf wsprintfW
115: #else
116: #define wsprintf wsprintfA
117: #endif // !UNICODE
1.1 root 118:
119: #ifndef NOSCROLL
120:
121: /* Scroll Bar Constants */
122: #define SB_HORZ 0
123: #define SB_VERT 1
124: #define SB_CTL 2
125: #define SB_BOTH 3
1.1.1.2 root 126: #define SB_MAX 3
1.1 root 127:
128: /* Scroll Bar Commands */
1.1.1.3 ! root 129: #define SB_LINEUP 0
! 130: #define SB_LINELEFT 0
! 131: #define SB_LINEDOWN 1
! 132: #define SB_LINERIGHT 1
! 133: #define SB_PAGEUP 2
! 134: #define SB_PAGELEFT 2
! 135: #define SB_PAGEDOWN 3
! 136: #define SB_PAGERIGHT 3
1.1 root 137: #define SB_THUMBPOSITION 4
1.1.1.3 ! root 138: #define SB_THUMBTRACK 5
! 139: #define SB_TOP 6
! 140: #define SB_LEFT 6
! 141: #define SB_BOTTOM 7
! 142: #define SB_RIGHT 7
! 143: #define SB_ENDSCROLL 8
1.1.1.2 root 144: #define SB_CMD_MAX 8
1.1 root 145:
146: #endif /* NOSCROLL */
147:
148: #ifndef NOSHOWWINDOW
149:
150: /* ShowWindow() Commands */
151: #define SW_HIDE 0
152: #define SW_SHOWNORMAL 1
153: #define SW_NORMAL 1
154: #define SW_SHOWMINIMIZED 2
155: #define SW_SHOWMAXIMIZED 3
156: #define SW_MAXIMIZE 3
157: #define SW_SHOWNOACTIVATE 4
158: #define SW_SHOW 5
159: #define SW_MINIMIZE 6
160: #define SW_SHOWMINNOACTIVE 7
161: #define SW_SHOWNA 8
162: #define SW_RESTORE 9
163: #define SW_SHOWDEFAULT 10
1.1.1.2 root 164: #define SW_MAX 10
1.1 root 165:
166: /* Old ShowWindow() Commands */
167: #define HIDE_WINDOW 0
168: #define SHOW_OPENWINDOW 1
169: #define SHOW_ICONWINDOW 2
170: #define SHOW_FULLSCREEN 3
171: #define SHOW_OPENNOACTIVATE 4
172:
173: /* Identifiers for the WM_SHOWWINDOW message */
174: #define SW_PARENTCLOSING 1
175: #define SW_OTHERZOOM 2
176: #define SW_PARENTOPENING 3
177: #define SW_OTHERUNZOOM 4
178:
179: #endif /* NOSHOWWINDOW */
180:
1.1.1.3 ! root 181: /* WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags */
! 182: #define KF_EXTENDED 0x0100
! 183: #define KF_DLGMODE 0x0800
! 184: #define KF_MENUMODE 0x1000
! 185: #define KF_ALTDOWN 0x2000
! 186: #define KF_REPEAT 0x4000
! 187: #define KF_UP 0x8000
! 188:
1.1 root 189: #ifndef NOVIRTUALKEYCODES
190:
191: /* Virtual Keys, Standard Set */
192: #define VK_LBUTTON 0x01
193: #define VK_RBUTTON 0x02
194: #define VK_CANCEL 0x03
195: #define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */
196:
197: #define VK_BACK 0x08
198: #define VK_TAB 0x09
199:
200: #define VK_CLEAR 0x0C
201: #define VK_RETURN 0x0D
202:
203: #define VK_SHIFT 0x10
204: #define VK_CONTROL 0x11
205: #define VK_MENU 0x12
206: #define VK_PAUSE 0x13
207: #define VK_CAPITAL 0x14
208:
209: #define VK_ESCAPE 0x1B
210:
211: #define VK_SPACE 0x20
212: #define VK_PRIOR 0x21
213: #define VK_NEXT 0x22
214: #define VK_END 0x23
215: #define VK_HOME 0x24
216: #define VK_LEFT 0x25
217: #define VK_UP 0x26
218: #define VK_RIGHT 0x27
219: #define VK_DOWN 0x28
220: #define VK_SELECT 0x29
221: #define VK_PRINT 0x2A
222: #define VK_EXECUTE 0x2B
223: #define VK_SNAPSHOT 0x2C
224: /* #define VK_COPY 0x2C not used by keyboards. */
225: #define VK_INSERT 0x2D
226: #define VK_DELETE 0x2E
227: #define VK_HELP 0x2F
228:
229: /* VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */
230: /* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */
231:
232: #define VK_NUMPAD0 0x60
233: #define VK_NUMPAD1 0x61
234: #define VK_NUMPAD2 0x62
235: #define VK_NUMPAD3 0x63
236: #define VK_NUMPAD4 0x64
237: #define VK_NUMPAD5 0x65
238: #define VK_NUMPAD6 0x66
239: #define VK_NUMPAD7 0x67
240: #define VK_NUMPAD8 0x68
241: #define VK_NUMPAD9 0x69
242: #define VK_MULTIPLY 0x6A
243: #define VK_ADD 0x6B
244: #define VK_SEPARATOR 0x6C
245: #define VK_SUBTRACT 0x6D
246: #define VK_DECIMAL 0x6E
247: #define VK_DIVIDE 0x6F
248: #define VK_F1 0x70
249: #define VK_F2 0x71
250: #define VK_F3 0x72
251: #define VK_F4 0x73
252: #define VK_F5 0x74
253: #define VK_F6 0x75
254: #define VK_F7 0x76
255: #define VK_F8 0x77
256: #define VK_F9 0x78
257: #define VK_F10 0x79
258: #define VK_F11 0x7A
259: #define VK_F12 0x7B
260: #define VK_F13 0x7C
261: #define VK_F14 0x7D
262: #define VK_F15 0x7E
263: #define VK_F16 0x7F
264: #define VK_F17 0x80
265: #define VK_F18 0x81
266: #define VK_F19 0x82
267: #define VK_F20 0x83
268: #define VK_F21 0x84
269: #define VK_F22 0x85
270: #define VK_F23 0x86
271: #define VK_F24 0x87
272:
273: #define VK_NUMLOCK 0x90
1.1.1.2 root 274: #define VK_SCROLL 0x91
1.1 root 275:
276: /*
277: * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
278: * Used only as parameters to GetAsyncKeyState() and GetKeyState().
279: * No other API or message will distinguish left and right keys in this way.
280: */
281: #define VK_LSHIFT 0xA0
282: #define VK_RSHIFT 0xA1
283: #define VK_LCONTROL 0xA2
284: #define VK_RCONTROL 0xA3
285: #define VK_LMENU 0xA4
286: #define VK_RMENU 0xA5
287:
288: #define VK_ATTN 0xF6
289: #define VK_CRSEL 0xF7
290: #define VK_EXSEL 0xF8
291: #define VK_EREOF 0xF9
292: #define VK_PLAY 0xFA
293: #define VK_ZOOM 0xFB
294: #define VK_NONAME 0xFC
295: #define VK_PA1 0xFD
296: #define VK_OEM_CLEAR 0xFE
297:
298: #endif /* NOVIRTUALKEYCODES */
299:
300: #ifndef NOWH
301:
302: /* SetWindowsHook() codes */
1.1.1.2 root 303: #define WH_MIN (-1)
1.1 root 304: #define WH_MSGFILTER (-1)
305: #define WH_JOURNALRECORD 0
306: #define WH_JOURNALPLAYBACK 1
307: #define WH_KEYBOARD 2
308: #define WH_GETMESSAGE 3
309: #define WH_CALLWNDPROC 4
310: #define WH_CBT 5
311: #define WH_SYSMSGFILTER 6
312: #define WH_MOUSE 7
313: #define WH_HARDWARE 8
314: #define WH_DEBUG 9
1.1.1.2 root 315: #define WH_SHELL 10
316: #define WH_MAX 10
1.1 root 317:
318:
1.1.1.2 root 319: /* Obsolete hook codes (NO LONGER SUPPORTED) */
320: #define HC_GETLPLPFN (-3)
1.1 root 321: #define HC_LPLPFNNEXT (-2)
322: #define HC_LPFNNEXT (-1)
1.1.1.2 root 323:
324: /* Hook Codes */
1.1 root 325: #define HC_ACTION 0
326: #define HC_GETNEXT 1
327: #define HC_SKIP 2
328: #define HC_NOREMOVE 3
1.1.1.2 root 329: #define HC_NOREM HC_NOREMOVE
1.1 root 330: #define HC_SYSMODALON 4
331: #define HC_SYSMODALOFF 5
332:
333: /* CBT Hook Codes */
334: #define HCBT_MOVESIZE 0
335: #define HCBT_MINMAX 1
336: #define HCBT_QS 2
337: #define HCBT_CREATEWND 3
338: #define HCBT_DESTROYWND 4
339: #define HCBT_ACTIVATE 5
340: #define HCBT_CLICKSKIPPED 6
341: #define HCBT_KEYSKIPPED 7
342: #define HCBT_SYSCOMMAND 8
343: #define HCBT_SETFOCUS 9
344:
345: /*
346: * HCBT_CREATEWND parameters pointed to by lParam
347: */
348: typedef struct tagCBT_CREATEWNDA
349: {
350: struct tagCREATESTRUCTA *lpcs;
351: HWND hwndInsertAfter;
352: } CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
353: /*
354: * HCBT_CREATEWND parameters pointed to by lParam
355: */
356: typedef struct tagCBT_CREATEWNDW
357: {
358: struct tagCREATESTRUCTW *lpcs;
359: HWND hwndInsertAfter;
360: } CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
361: #ifdef UNICODE
362: #define CBT_CREATEWND CBT_CREATEWNDW
363: #define LPCBT_CREATEWND LPCBT_CREATEWNDW
364: #else
365: #define CBT_CREATEWND CBT_CREATEWNDA
366: #define LPCBT_CREATEWND LPCBT_CREATEWNDA
367: #endif // UNICODE
368:
1.1.1.2 root 369: /*
370: * HCBT_ACTIVATE structure pointed to by lParam
371: */
372: typedef struct tagCBTACTIVATESTRUCT
373: {
374: BOOL fMouse;
375: HWND hWndActive;
376: } CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
377:
1.1 root 378: /* WH_MSGFILTER Filter Proc Codes */
379: #define MSGF_DIALOGBOX 0
380: #define MSGF_MESSAGEBOX 1
381: #define MSGF_MENU 2
382: #define MSGF_MOVE 3
383: #define MSGF_SIZE 4
384: #define MSGF_SCROLLBAR 5
385: #define MSGF_NEXTWINDOW 6
1.1.1.2 root 386: #define MSGF_MAINLOOP 8
387: #define MSGF_MAX 8
388: #define MSGF_USER 4096
389:
390: /* Shell support */
391: #define HSHELL_WINDOWCREATED 1
392: #define HSHELL_WINDOWDESTROYED 2
393: #define HSHELL_ACTIVATESHELLWINDOW 3
1.1 root 394:
395: /* Window Manager Hook Codes */
396: #define WC_INIT 1
397: #define WC_SWP 2
398: #define WC_DEFWINDOWPROC 3
399: #define WC_MINMAX 4
400: #define WC_MOVE 5
401: #define WC_SIZE 6
402: #define WC_DRAWCAPTION 7
403:
404: /* Message Structure used in Journaling */
405: typedef struct tagEVENTMSG {
1.1.1.2 root 406: UINT message;
407: UINT paramL;
408: UINT paramH;
409: DWORD time;
410: HWND hwnd;
1.1 root 411: } EVENTMSG, *PEVENTMSGMSG, NEAR *NPEVENTMSGMSG, FAR *LPEVENTMSGMSG;
412:
413: typedef struct tagEVENTMSG *PEVENTMSG, NEAR *NPEVENTMSG, FAR *LPEVENTMSG;
414:
415: /* Message structure used by WH_CALLWNDPROC */
416: typedef struct tagCWPSTRUCT {
1.1.1.2 root 417: LPARAM lParam;
418: WPARAM wParam;
419: DWORD message;
1.1 root 420: HWND hwnd;
421: } CWPSTRUCT, *PCWPSTRUCT, NEAR *NPCWPSTRUCT, FAR *LPCWPSTRUCT;
422:
423: /* Structure used by WH_DEBUG */
1.1.1.2 root 424: typedef struct tagDEBUGHOOKINFO
425: {
1.1 root 426: DWORD idThread;
1.1.1.2 root 427: LPARAM reserved;
428: LPARAM lParam;
429: WPARAM wParam;
430: int code;
431: } DEBUGHOOKINFO, *PDEBUGHOOKINFO, NEAR *NPDEBUGHOOKINFO, FAR* LPDEBUGHOOKINFO;
1.1 root 432:
433: typedef struct tagMOUSEHOOKSTRUCT {
1.1.1.2 root 434: POINT pt;
435: HWND hwnd;
436: UINT wHitTestCode;
1.1 root 437: DWORD dwExtraInfo;
438: } MOUSEHOOKSTRUCT, FAR *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
439: #endif /* NOWH */
440:
441: /*
1.1.1.2 root 442: * Keyboard Layout API
1.1 root 443: */
1.1.1.2 root 444: #define HKL_PREV 0
445: #define HKL_NEXT 1
446:
447: #define KLF_ACTIVATE 0x1
448: #define KLF_SUBSTITUTE_OK 0x2
449: #define KLF_UNLOADPREVIOUS 0x4
450: #define KLF_REORDER 0x8
1.1 root 451:
452: /*
1.1.1.2 root 453: * Size of KeyboardLayoutName (number of characters), including nul terminator
1.1 root 454: */
1.1.1.2 root 455: #define KL_NAMELENGTH 9
1.1 root 456:
1.1.1.3 ! root 457: HKL WINAPI LoadKeyboardLayoutA(LPCSTR pwszKLID, UINT Flags);
! 458: HKL WINAPI LoadKeyboardLayoutW(LPCWSTR pwszKLID, UINT Flags);
1.1 root 459: #ifdef UNICODE
1.1.1.2 root 460: #define LoadKeyboardLayout LoadKeyboardLayoutW
1.1 root 461: #else
1.1.1.2 root 462: #define LoadKeyboardLayout LoadKeyboardLayoutA
1.1 root 463: #endif // !UNICODE
1.1.1.3 ! root 464: BOOL WINAPI ActivateKeyboardLayout(HKL hkl, UINT Flags);
! 465: BOOL WINAPI UnloadKeyboardLayout(HKL hkl);
! 466: BOOL WINAPI GetKeyboardLayoutNameA(LPSTR pwszKLID);
! 467: BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR pwszKLID);
1.1 root 468: #ifdef UNICODE
1.1.1.2 root 469: #define GetKeyboardLayoutName GetKeyboardLayoutNameW
1.1 root 470: #else
1.1.1.2 root 471: #define GetKeyboardLayoutName GetKeyboardLayoutNameA
1.1 root 472: #endif // !UNICODE
473:
1.1.1.2 root 474: #ifndef NODESKTOP
475: /*
476: * Desktop-specific access flags
477: */
478: #define DESKTOP_ENUMWINDOWS 0x0001L
479: #define DESKTOP_CREATEWINDOW 0x0002L
480: #define DESKTOP_CREATEMENU 0x0004L
481: #define DESKTOP_HOOKCONTROL 0x0008L
482: #define DESKTOP_JOURNALRECORD 0x0010L
483: #define DESKTOP_JOURNALPLAYBACK 0x0020L
484: #define DESKTOP_ENUMERATE 0x0040L
1.1 root 485:
1.1.1.2 root 486: HDESK
487: WINAPI
488: GetThreadDesktop(
489: DWORD);
1.1 root 490:
491: #endif /* NODESKTOP */
492:
493: #ifndef NOWINDOWSTATION
494: /*
495: * Windowstation-specific access flags
496: */
497: #define WINSTA_ENUMDESKTOPS 0x0001L
498: #define WINSTA_READATTRIBUTES 0x0002L
499: #define WINSTA_ACCESSCLIPBOARD 0x0004L
500: #define WINSTA_CREATEDESKTOP 0x0008L
501: #define WINSTA_WRITEATTRIBUTES 0x0010L
502: #define WINSTA_ACCESSGLOBALATOMS 0x0020L
503: #define WINSTA_EXITWINDOWS 0x0040L
504: #define WINSTA_ENUMERATE 0x0100L
505: #define WINSTA_READSCREEN 0x0200L
506:
507: HWINSTA
1.1.1.2 root 508: WINAPI
509: GetProcessWindowStation(
510: VOID);
1.1 root 511: #endif /* NOWINDOWSTATION */
512:
513: #ifndef NOSECURITY
514: /*
515: * window-specific access flags
516: */
517: #define WIN_ACCESSWINDOW 0x0001L
518:
519: /*
520: * menu-specific access flags
521: */
522: #define MENU_ACCESSMENU 0x0001L
523:
1.1.1.2 root 524: BOOL
525: WINAPI
526: SetUserObjectSecurity(
527: HANDLE,
528: PSECURITY_INFORMATION,
529: PSECURITY_DESCRIPTOR);
530:
531: BOOL
532: WINAPI
533: GetUserObjectSecurity(
534: HANDLE,
535: PSECURITY_INFORMATION,
536: PSECURITY_DESCRIPTOR,
537: DWORD,
538: LPDWORD);
1.1 root 539:
1.1.1.3 ! root 540: BOOL
! 541: WINAPI
! 542: ImpersonateDDEClientWindow(
! 543: HWND hwndClient,
! 544: HWND hwndServer);
! 545:
1.1 root 546: #endif /* NOSECURITY */
547:
548: typedef struct tagWNDCLASSA {
1.1.1.2 root 549: UINT style;
1.1 root 550: WNDPROC lpfnWndProc;
551: int cbClsExtra;
552: int cbWndExtra;
1.1.1.3 ! root 553: HINSTANCE hInstance;
1.1 root 554: HICON hIcon;
555: HCURSOR hCursor;
556: HBRUSH hbrBackground;
1.1.1.2 root 557: LPCSTR lpszMenuName;
558: LPCSTR lpszClassName;
1.1 root 559: } WNDCLASSA, *PWNDCLASSA, NEAR *NPWNDCLASSA, FAR *LPWNDCLASSA;
560: typedef struct tagWNDCLASSW {
1.1.1.2 root 561: UINT style;
1.1 root 562: WNDPROC lpfnWndProc;
563: int cbClsExtra;
564: int cbWndExtra;
1.1.1.3 ! root 565: HINSTANCE hInstance;
1.1 root 566: HICON hIcon;
567: HCURSOR hCursor;
568: HBRUSH hbrBackground;
1.1.1.2 root 569: LPCWSTR lpszMenuName;
570: LPCWSTR lpszClassName;
1.1 root 571: } WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;
572: #ifdef UNICODE
573: #define WNDCLASS WNDCLASSW
574: #define PWNDCLASS PWNDCLASSW
575: #define NPWNDCLASS NPWNDCLASSW
576: #define LPWNDCLASS LPWNDCLASSW
577: #else
578: #define WNDCLASS WNDCLASSA
579: #define PWNDCLASS PWNDCLASSA
580: #define NPWNDCLASS NPWNDCLASSA
581: #define LPWNDCLASS LPWNDCLASSA
582: #endif // UNICODE
583:
1.1.1.3 ! root 584:
1.1 root 585: #ifndef NOMSG
586:
587: /* Message structure */
588: typedef struct tagMSG {
589: HWND hwnd;
1.1.1.2 root 590: UINT message;
591: WPARAM wParam;
592: LPARAM lParam;
1.1 root 593: DWORD time;
594: POINT pt;
595: } MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
596:
597: #define POINTSTOPOINT(pt,pts) {(pt).x = (SHORT)LOWORD(pts); \
598: (pt).y = (SHORT)HIWORD(pts);}
599: #define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y)))
1.1.1.3 ! root 600: #define MAKEWPARAM(l, h) (WPARAM)MAKELONG(l, h)
! 601: #define MAKELPARAM(l, h) (LPARAM)MAKELONG(l, h)
! 602: #define MAKELRESULT(l, h) (LRESULT)MAKELONG(l, h)
1.1 root 603:
604:
605: #endif /* NOMSG */
606:
607: #ifndef NOWINOFFSETS
608:
1.1.1.2 root 609: /* Window field offsets for GetWindowLong() */
1.1 root 610: #define GWL_WNDPROC (-4)
611: #define GWL_HINSTANCE (-6)
612: #define GWL_HWNDPARENT (-8)
613: #define GWL_STYLE (-16)
614: #define GWL_EXSTYLE (-20)
615: #define GWL_USERDATA (-21)
616: #define GWL_ID (-12)
617:
1.1.1.2 root 618: /* Class field offsets for GetClassLong() */
1.1 root 619: #define GCL_MENUNAME (-8)
620: #define GCL_HBRBACKGROUND (-10)
621: #define GCL_HCURSOR (-12)
622: #define GCL_HICON (-14)
623: #define GCL_HMODULE (-16)
624: #define GCL_CBWNDEXTRA (-18)
625: #define GCL_CBCLSEXTRA (-20)
626: #define GCL_WNDPROC (-24)
627: #define GCL_STYLE (-26)
1.1.1.3 ! root 628:
1.1.1.2 root 629: //!!!define GCW_ATOM (-32)
1.1 root 630:
631: #endif /* NOWINOFFSETS */
632:
633: #ifndef NOWINMESSAGES
634:
635: /* Window Messages */
636: #define WM_NULL 0x0000
637: #define WM_CREATE 0x0001
638: #define WM_DESTROY 0x0002
639: #define WM_MOVE 0x0003
640: #define WM_SIZE 0x0005
641: #define WM_ACTIVATE 0x0006
1.1.1.3 ! root 642: /*
! 643: * WM_ACTIVATE state values
! 644: */
! 645: #define WA_INACTIVE 0
! 646: #define WA_ACTIVE 1
! 647: #define WA_CLICKACTIVE 2
! 648:
1.1 root 649: #define WM_SETFOCUS 0x0007
650: #define WM_KILLFOCUS 0x0008
651: #define WM_ENABLE 0x000A
652: #define WM_SETREDRAW 0x000B
653: #define WM_SETTEXT 0x000C
654: #define WM_GETTEXT 0x000D
655: #define WM_GETTEXTLENGTH 0x000E
656: #define WM_PAINT 0x000F
657: #define WM_CLOSE 0x0010
658: #define WM_QUERYENDSESSION 0x0011
659: #define WM_QUIT 0x0012
660: #define WM_QUERYOPEN 0x0013
661: #define WM_ERASEBKGND 0x0014
662: #define WM_SYSCOLORCHANGE 0x0015
663: #define WM_ENDSESSION 0x0016
664: #define WM_SHOWWINDOW 0x0018
665: #define WM_WININICHANGE 0x001A
666: #define WM_DEVMODECHANGE 0x001B
667: #define WM_ACTIVATEAPP 0x001C
668: #define WM_FONTCHANGE 0x001D
669: #define WM_TIMECHANGE 0x001E
670: #define WM_CANCELMODE 0x001F
671: #define WM_SETCURSOR 0x0020
672: #define WM_MOUSEACTIVATE 0x0021
673: #define WM_CHILDACTIVATE 0x0022
674: #define WM_QUEUESYNC 0x0023
1.1.1.2 root 675:
676: /*
677: * Struct pointed to by WM_GETMINMAXINFO lParam
678: */
679: typedef struct tagMINMAXINFO {
680: POINT ptReserved;
681: POINT ptMaxSize;
682: POINT ptMaxPosition;
683: POINT ptMinTrackSize;
684: POINT ptMaxTrackSize;
1.1.1.3 ! root 685: } MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;
1.1 root 686: #define WM_GETMINMAXINFO 0x0024
1.1.1.2 root 687:
688:
1.1 root 689: #define WM_PAINTICON 0x0026
690: #define WM_ICONERASEBKGND 0x0027
691: #define WM_NEXTDLGCTL 0x0028
692: #define WM_SPOOLERSTATUS 0x002A
693: #define WM_DRAWITEM 0x002B
694: #define WM_MEASUREITEM 0x002C
695: #define WM_DELETEITEM 0x002D
696: #define WM_VKEYTOITEM 0x002E
697: #define WM_CHARTOITEM 0x002F
698: #define WM_SETFONT 0x0030
699: #define WM_GETFONT 0x0031
1.1.1.2 root 700: #define WM_SETHOTKEY 0x0032
701: #define WM_GETHOTKEY 0x0033
1.1 root 702: #define WM_QUERYDRAGICON 0x0037
703: #define WM_COMPAREITEM 0x0039
1.1.1.2 root 704: #define WM_FULLSCREEN 0x003A
1.1 root 705:
1.1.1.2 root 706: #define WM_COMPACTING 0x0041
1.1 root 707: #define WM_OTHERWINDOWCREATED 0x0042
708: #define WM_OTHERWINDOWDESTROYED 0x0043
709: #define WM_COMMNOTIFY 0x0044
710: #define WM_HOTKEYEVENT 0x0045
711: #define WM_WINDOWPOSCHANGING 0x0046
712: #define WM_WINDOWPOSCHANGED 0x0047
713: #define WM_POWER 0x0048
1.1.1.3 ! root 714: #define WM_COPYDATA 0x004A
! 715: typedef struct tagCOPYDATASTRUCT {
! 716: DWORD dwData;
! 717: DWORD cbData;
! 718: PVOID lpData;
! 719: } COPYDATASTRUCT, *PCOPYDATASTRUCT;
! 720:
1.1 root 721:
722: #define WM_NCCREATE 0x0081
723: #define WM_NCDESTROY 0x0082
724: #define WM_NCCALCSIZE 0x0083
725: #define WM_NCHITTEST 0x0084
726: #define WM_NCPAINT 0x0085
727: #define WM_NCACTIVATE 0x0086
728: #define WM_GETDLGCODE 0x0087
729: #define WM_NCMOUSEMOVE 0x00A0
730: #define WM_NCLBUTTONDOWN 0x00A1
731: #define WM_NCLBUTTONUP 0x00A2
732: #define WM_NCLBUTTONDBLCLK 0x00A3
733: #define WM_NCRBUTTONDOWN 0x00A4
734: #define WM_NCRBUTTONUP 0x00A5
735: #define WM_NCRBUTTONDBLCLK 0x00A6
736: #define WM_NCMBUTTONDOWN 0x00A7
737: #define WM_NCMBUTTONUP 0x00A8
738: #define WM_NCMBUTTONDBLCLK 0x00A9
739:
740: #define WM_KEYFIRST 0x0100
741: #define WM_KEYDOWN 0x0100
742: #define WM_KEYUP 0x0101
743: #define WM_CHAR 0x0102
744: #define WM_DEADCHAR 0x0103
745: #define WM_SYSKEYDOWN 0x0104
746: #define WM_SYSKEYUP 0x0105
747: #define WM_SYSCHAR 0x0106
748: #define WM_SYSDEADCHAR 0x0107
749: #define WM_KEYLAST 0x0108
750:
751: #define WM_INITDIALOG 0x0110
752: #define WM_COMMAND 0x0111
753: #define WM_SYSCOMMAND 0x0112
754: #define WM_TIMER 0x0113
755: #define WM_HSCROLL 0x0114
756: #define WM_VSCROLL 0x0115
757: #define WM_INITMENU 0x0116
758: #define WM_INITMENUPOPUP 0x0117
759: #define WM_MENUSELECT 0x011F
760: #define WM_MENUCHAR 0x0120
761: #define WM_ENTERIDLE 0x0121
762:
763: #define WM_CTLCOLORMSGBOX 0x0132
764: #define WM_CTLCOLOREDIT 0x0133
765: #define WM_CTLCOLORLISTBOX 0x0134
766: #define WM_CTLCOLORBTN 0x0135
767: #define WM_CTLCOLORDLG 0x0136
768: #define WM_CTLCOLORSCROLLBAR 0x0137
769: #define WM_CTLCOLORSTATIC 0x0138
770:
771: #define WM_MOUSEFIRST 0x0200
772: #define WM_MOUSEMOVE 0x0200
773: #define WM_LBUTTONDOWN 0x0201
774: #define WM_LBUTTONUP 0x0202
775: #define WM_LBUTTONDBLCLK 0x0203
776: #define WM_RBUTTONDOWN 0x0204
777: #define WM_RBUTTONUP 0x0205
778: #define WM_RBUTTONDBLCLK 0x0206
779: #define WM_MBUTTONDOWN 0x0207
780: #define WM_MBUTTONUP 0x0208
781: #define WM_MBUTTONDBLCLK 0x0209
782: #define WM_MOUSELAST 0x0209
783:
784: #define WM_PARENTNOTIFY 0x0210
785: #define WM_MDICREATE 0x0220
786: #define WM_MDIDESTROY 0x0221
787: #define WM_MDIACTIVATE 0x0222
788: #define WM_MDIRESTORE 0x0223
789: #define WM_MDINEXT 0x0224
790: #define WM_MDIMAXIMIZE 0x0225
791: #define WM_MDITILE 0x0226
792: #define WM_MDICASCADE 0x0227
793: #define WM_MDIICONARRANGE 0x0228
794: #define WM_MDIGETACTIVE 0x0229
795: #define WM_MDISETMENU 0x0230
796: #define WM_DROPFILES 0x0233
1.1.1.2 root 797: #define WM_MDIREFRESHMENU 0x0234
1.1 root 798:
799: #define WM_CUT 0x0300
800: #define WM_COPY 0x0301
801: #define WM_PASTE 0x0302
802: #define WM_CLEAR 0x0303
803: #define WM_UNDO 0x0304
804: #define WM_RENDERFORMAT 0x0305
805: #define WM_RENDERALLFORMATS 0x0306
806: #define WM_DESTROYCLIPBOARD 0x0307
807: #define WM_DRAWCLIPBOARD 0x0308
808: #define WM_PAINTCLIPBOARD 0x0309
809: #define WM_VSCROLLCLIPBOARD 0x030A
810: #define WM_SIZECLIPBOARD 0x030B
811: #define WM_ASKCBFORMATNAME 0x030C
812: #define WM_CHANGECBCHAIN 0x030D
813: #define WM_HSCROLLCLIPBOARD 0x030E
814: #define WM_QUERYNEWPALETTE 0x030F
815: #define WM_PALETTEISCHANGING 0x0310
816: #define WM_PALETTECHANGED 0x0311
817: #define WM_HOTKEY 0x0312
1.1.1.2 root 818:
819: /* PenWindows specific messages */
820: #define WM_PENWINFIRST 0x0380
821: #define WM_PENWINLAST 0x038F
822:
823: #define WM_MM_RESERVED_FIRST 0x03A0
824: #define WM_MM_RESERVED_LAST 0x03DF
1.1 root 825:
826: /* NOTE: All Message Numbers below 0x0400 are RESERVED. */
827:
828: /* Private Window Messages Start Here: */
829: #define WM_USER 0x0400
830:
831: #ifndef NONCMESSAGES
832:
833: /* WM_SYNCTASK Commands */
834: #define ST_BEGINSWP 0
835: #define ST_ENDSWP 1
836:
837: /* WinWhere() Area Codes */
838: #define HTERROR (-2)
839: #define HTTRANSPARENT (-1)
840: #define HTNOWHERE 0
841: #define HTCLIENT 1
842: #define HTCAPTION 2
843: #define HTSYSMENU 3
844: #define HTGROWBOX 4
845: #define HTSIZE HTGROWBOX
846: #define HTMENU 5
847: #define HTHSCROLL 6
848: #define HTVSCROLL 7
1.1.1.2 root 849: #define HTMINBUTTON 8
850: #define HTMAXBUTTON 9
1.1 root 851: #define HTLEFT 10
852: #define HTRIGHT 11
853: #define HTTOP 12
854: #define HTTOPLEFT 13
855: #define HTTOPRIGHT 14
856: #define HTBOTTOM 15
857: #define HTBOTTOMLEFT 16
858: #define HTBOTTOMRIGHT 17
1.1.1.2 root 859: #define HTBORDER 18
860: #define HTREDUCE HTMINBUTTON
861: #define HTZOOM HTMAXBUTTON
1.1 root 862: #define HTSIZEFIRST HTLEFT
863: #define HTSIZELAST HTBOTTOMRIGHT
864:
1.1.1.3 ! root 865: /* SendMessageTimeout values */
! 866: #define SMTO_NORMAL 0x0000
! 867: #define SMTO_BLOCK 0x0001
! 868: #define SMTO_ABORTIFHUNG 0x0002
! 869:
1.1 root 870: #endif /* NONCMESSAGES */
871:
872: /* WM_MOUSEACTIVATE Return Codes */
873: #define MA_ACTIVATE 1
874: #define MA_ACTIVATEANDEAT 2
875: #define MA_NOACTIVATE 3
876: #define MA_NOACTIVATEANDEAT 4
877:
878: UINT
1.1.1.2 root 879: WINAPI
1.1 root 880: RegisterWindowMessageA(
1.1.1.2 root 881: LPCSTR lpString);
1.1 root 882: UINT
1.1.1.2 root 883: WINAPI
1.1 root 884: RegisterWindowMessageW(
1.1.1.2 root 885: LPCWSTR lpString);
1.1 root 886: #ifdef UNICODE
887: #define RegisterWindowMessage RegisterWindowMessageW
888: #else
889: #define RegisterWindowMessage RegisterWindowMessageA
890: #endif // !UNICODE
891:
892: /* WM_SIZE message wParam values */
1.1.1.2 root 893: #define SIZE_RESTORED 0
894: #define SIZE_MINIMIZED 1
895: #define SIZE_MAXIMIZED 2
896: #define SIZE_MAXSHOW 3
897: #define SIZE_MAXHIDE 4
898:
899: /* Obsolete constant names */
900: #define SIZENORMAL SIZE_RESTORED
901: #define SIZEICONIC SIZE_MINIMIZED
902: #define SIZEFULLSCREEN SIZE_MAXIMIZED
903: #define SIZEZOOMSHOW SIZE_MAXSHOW
904: #define SIZEZOOMHIDE SIZE_MAXHIDE
1.1 root 905:
906: /* WM_WINDOWPOSCHANGING/CHANGED struct pointed to by lParam */
907: typedef struct tagWINDOWPOS {
908: HWND hwnd;
909: HWND hwndInsertAfter;
910: int x;
911: int y;
912: int cx;
913: int cy;
1.1.1.2 root 914: UINT flags;
1.1 root 915: } WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;
916:
917: /* WM_NCCALCSIZE parameter structure */
918: typedef struct tagNCCALCSIZE_PARAMS {
919: RECT rgrc[3];
920: PWINDOWPOS lppos;
921: } NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
922:
923: /* WM_NCCALCSIZE "window valid rect" return values */
924: #define WVR_ALIGNTOP 0x0010
925: #define WVR_ALIGNLEFT 0x0020
926: #define WVR_ALIGNBOTTOM 0x0040
927: #define WVR_ALIGNRIGHT 0x0080
928: #define WVR_HREDRAW 0x0100
929: #define WVR_VREDRAW 0x0200
930: #define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW)
931: #define WVR_VALIDRECTS 0x0400
932:
933:
934: #ifndef NOKEYSTATES
935:
936: /* Key State Masks for Mouse Messages */
937: #define MK_LBUTTON 0x0001
938: #define MK_RBUTTON 0x0002
939: #define MK_SHIFT 0x0004
940: #define MK_CONTROL 0x0008
941: #define MK_MBUTTON 0x0010
942:
943: #endif /* NOKEYSTATES */
944:
945: #endif /* NOWINMESSAGES */
946:
947: #ifndef NOWINSTYLES
948:
949: /* Window Styles */
950: #define WS_OVERLAPPED 0x00000000L
951: #define WS_POPUP 0x80000000L
952: #define WS_CHILD 0x40000000L
953: #define WS_MINIMIZE 0x20000000L
954: #define WS_VISIBLE 0x10000000L
955: #define WS_DISABLED 0x08000000L
956: #define WS_CLIPSIBLINGS 0x04000000L
957: #define WS_CLIPCHILDREN 0x02000000L
958: #define WS_MAXIMIZE 0x01000000L
959: #define WS_CAPTION 0x00C00000L /* WS_BORDER | WS_DLGFRAME */
960: #define WS_BORDER 0x00800000L
961: #define WS_DLGFRAME 0x00400000L
962: #define WS_VSCROLL 0x00200000L
963: #define WS_HSCROLL 0x00100000L
964: #define WS_SYSMENU 0x00080000L
965: #define WS_THICKFRAME 0x00040000L
966: #define WS_GROUP 0x00020000L
967: #define WS_TABSTOP 0x00010000L
968:
969: #define WS_MINIMIZEBOX 0x00020000L
970: #define WS_MAXIMIZEBOX 0x00010000L
971:
972: #define WS_TILED WS_OVERLAPPED
973: #define WS_ICONIC WS_MINIMIZE
974: #define WS_SIZEBOX WS_THICKFRAME
1.1.1.2 root 975: #define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW
1.1 root 976:
977: /* Common Window Styles */
978: #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
979: #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
980: #define WS_CHILDWINDOW (WS_CHILD)
981:
982: /* Extended Window Styles */
983: #define WS_EX_DLGMODALFRAME 0x00000001L
984: #define WS_EX_NOPARENTNOTIFY 0x00000004L
985: #define WS_EX_TOPMOST 0x00000008L
986: #define WS_EX_ACCEPTFILES 0x00000010L
987: #define WS_EX_TRANSPARENT 0x00000020L
988:
989: /* Class styles */
990: #define CS_VREDRAW 0x0001
991: #define CS_HREDRAW 0x0002
992: #define CS_KEYCVTWINDOW 0x0004
993: #define CS_DBLCLKS 0x0008
994: /* 0x0010 - reserved (see user\server\usersrv.h) */
995: #define CS_OWNDC 0x0020
996: #define CS_CLASSDC 0x0040
997: #define CS_PARENTDC 0x0080
998: #define CS_NOKEYCVT 0x0100
999: #define CS_NOCLOSE 0x0200
1000: #define CS_SAVEBITS 0x0800
1001: #define CS_BYTEALIGNCLIENT 0x1000
1002: #define CS_BYTEALIGNWINDOW 0x2000
1003: #define CS_GLOBALCLASS 0x4000 /* Global window class */
1004:
1005: #endif /* NOWINSTYLES */
1006:
1007: #ifndef NOCLIPBOARD
1008:
1009: /* Predefined Clipboard Formats */
1010: #define CF_TEXT 1
1011: #define CF_BITMAP 2
1012: #define CF_METAFILEPICT 3
1013: #define CF_SYLK 4
1014: #define CF_DIF 5
1015: #define CF_TIFF 6
1016: #define CF_OEMTEXT 7
1017: #define CF_DIB 8
1018: #define CF_PALETTE 9
1.1.1.2 root 1019: #define CF_PENDATA 10
1020: #define CF_RIFF 11
1021: #define CF_WAVE 12
1022: #define CF_UNICODETEXT 13
1023: #define CF_ENHMETAFILE 14
1.1 root 1024:
1025: #define CF_OWNERDISPLAY 0x0080
1026: #define CF_DSPTEXT 0x0081
1027: #define CF_DSPBITMAP 0x0082
1028: #define CF_DSPMETAFILEPICT 0x0083
1.1.1.2 root 1029: #define CF_DSPENHMETAFILE 0x008E
1.1 root 1030:
1031: /* "Private" formats don't get GlobalFree()'d */
1032: #define CF_PRIVATEFIRST 0x0200
1033: #define CF_PRIVATELAST 0x02FF
1034:
1035: /* "GDIOBJ" formats do get DeleteObject()'d */
1036: #define CF_GDIOBJFIRST 0x0300
1037: #define CF_GDIOBJLAST 0x03FF
1038:
1039: #endif /* NOCLIPBOARD */
1040:
1041: /*
1042: * Defines for the fVirt field of the Accelerator table structure.
1043: */
1044: #define FVIRTKEY TRUE /* Assumed to be == TRUE */
1045: #define FNOINVERT 0x02
1046: #define FSHIFT 0x04
1047: #define FCONTROL 0x08
1048: #define FALT 0x10
1049:
1050: typedef struct tagACCEL {
1051: BYTE fVirt; /* Also called the flags field */
1052: WORD key;
1053: WORD cmd;
1054: } ACCEL, *LPACCEL;
1055:
1056: typedef struct tagPAINTSTRUCT {
1057: HDC hdc;
1058: BOOL fErase;
1059: RECT rcPaint;
1060: BOOL fRestore;
1061: BOOL fIncUpdate;
1062: BYTE rgbReserved[32];
1063: } PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT;
1064:
1065: typedef struct tagCREATESTRUCTA {
1066: LPVOID lpCreateParams;
1.1.1.3 ! root 1067: HINSTANCE hInstance;
1.1.1.2 root 1068: HMENU hMenu;
1.1 root 1069: HWND hwndParent;
1070: int cy;
1071: int cx;
1072: int y;
1073: int x;
1074: LONG style;
1.1.1.2 root 1075: LPCSTR lpszName;
1076: LPCSTR lpszClass;
1.1 root 1077: DWORD dwExStyle;
1078: } CREATESTRUCTA, *LPCREATESTRUCTA;
1079: typedef struct tagCREATESTRUCTW {
1080: LPVOID lpCreateParams;
1.1.1.3 ! root 1081: HINSTANCE hInstance;
1.1.1.2 root 1082: HMENU hMenu;
1.1 root 1083: HWND hwndParent;
1084: int cy;
1085: int cx;
1086: int y;
1087: int x;
1088: LONG style;
1.1.1.2 root 1089: LPCWSTR lpszName;
1090: LPCWSTR lpszClass;
1.1 root 1091: DWORD dwExStyle;
1092: } CREATESTRUCTW, *LPCREATESTRUCTW;
1093: #ifdef UNICODE
1094: #define CREATESTRUCT CREATESTRUCTW
1095: #define LPCREATESTRUCT LPCREATESTRUCTW
1096: #else
1097: #define CREATESTRUCT CREATESTRUCTA
1098: #define LPCREATESTRUCT LPCREATESTRUCTA
1099: #endif // UNICODE
1100:
1.1.1.2 root 1101: typedef struct tagWINDOWPLACEMENT {
1102: UINT length;
1103: UINT flags;
1104: UINT showCmd;
1105: POINT ptMinPosition;
1106: POINT ptMaxPosition;
1107: RECT rcNormalPosition;
1108: } WINDOWPLACEMENT;
1.1.1.3 ! root 1109: typedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;
1.1.1.2 root 1110:
1111: #define WPF_SETMINPOSITION 0x0001
1112: #define WPF_RESTORETOMAXIMIZED 0x0002
1.1 root 1113:
1114: /* Owner draw control types */
1115: #define ODT_MENU 1
1116: #define ODT_LISTBOX 2
1117: #define ODT_COMBOBOX 3
1118: #define ODT_BUTTON 4
1119:
1120: /* Owner draw actions */
1121: #define ODA_DRAWENTIRE 0x0001
1122: #define ODA_SELECT 0x0002
1123: #define ODA_FOCUS 0x0004
1124:
1125: /* Owner draw state */
1126: #define ODS_SELECTED 0x0001
1127: #define ODS_GRAYED 0x0002
1128: #define ODS_DISABLED 0x0004
1129: #define ODS_CHECKED 0x0008
1130: #define ODS_FOCUS 0x0010
1131:
1132: /* MEASUREITEMSTRUCT for ownerdraw */
1133: typedef struct tagMEASUREITEMSTRUCT {
1.1.1.2 root 1134: UINT CtlType;
1135: UINT CtlID;
1136: UINT itemID;
1137: UINT itemWidth;
1138: UINT itemHeight;
1139: DWORD itemData;
1.1 root 1140: } MEASUREITEMSTRUCT, NEAR *PMEASUREITEMSTRUCT, FAR *LPMEASUREITEMSTRUCT;
1141:
1142:
1143: /* DRAWITEMSTRUCT for ownerdraw */
1144: typedef struct tagDRAWITEMSTRUCT {
1.1.1.2 root 1145: UINT CtlType;
1146: UINT CtlID;
1147: UINT itemID;
1148: UINT itemAction;
1149: UINT itemState;
1.1 root 1150: HWND hwndItem;
1151: HDC hDC;
1152: RECT rcItem;
1153: DWORD itemData;
1154: } DRAWITEMSTRUCT, NEAR *PDRAWITEMSTRUCT, FAR *LPDRAWITEMSTRUCT;
1155:
1156: /* DELETEITEMSTRUCT for ownerdraw */
1157: typedef struct tagDELETEITEMSTRUCT {
1.1.1.2 root 1158: UINT CtlType;
1159: UINT CtlID;
1160: UINT itemID;
1.1 root 1161: HWND hwndItem;
1.1.1.2 root 1162: UINT itemData;
1.1 root 1163: } DELETEITEMSTRUCT, NEAR *PDELETEITEMSTRUCT, FAR *LPDELETEITEMSTRUCT;
1164:
1165: /* COMPAREITEMSTUCT for ownerdraw sorting */
1166: typedef struct tagCOMPAREITEMSTRUCT {
1.1.1.2 root 1167: UINT CtlType;
1168: UINT CtlID;
1.1 root 1169: HWND hwndItem;
1.1.1.2 root 1170: UINT itemID1;
1.1 root 1171: DWORD itemData1;
1.1.1.2 root 1172: UINT itemID2;
1.1 root 1173: DWORD itemData2;
1.1.1.2 root 1174: DWORD dwLocaleId;
1.1 root 1175: } COMPAREITEMSTRUCT, NEAR *PCOMPAREITEMSTRUCT, FAR *LPCOMPAREITEMSTRUCT;
1176:
1177: #ifndef NOMSG
1178:
1179: /* Message Function Templates */
1.1.1.2 root 1180: BOOL
1181: WINAPI
1182: GetMessageA(
1183: LPMSG lpMsg,
1184: HWND hWnd ,
1185: UINT wMsgFilterMin,
1186: UINT wMsgFilterMax);
1187: /* Message Function Templates */
1188: BOOL
1189: WINAPI
1190: GetMessageW(
1191: LPMSG lpMsg,
1192: HWND hWnd ,
1193: UINT wMsgFilterMin,
1194: UINT wMsgFilterMax);
1195: #ifdef UNICODE
1196: #define GetMessage GetMessageW
1197: #else
1198: #define GetMessage GetMessageA
1199: #endif // !UNICODE
1200:
1201: BOOL
1202: WINAPI
1203: TranslateMessage(
1204: CONST MSG *lpMsg);
1205:
1206: LONG
1207: WINAPI
1208: DispatchMessageA(
1209: CONST MSG *lpMsg);
1210: LONG
1211: WINAPI
1212: DispatchMessageW(
1213: CONST MSG *lpMsg);
1214: #ifdef UNICODE
1215: #define DispatchMessage DispatchMessageW
1216: #else
1217: #define DispatchMessage DispatchMessageA
1218: #endif // !UNICODE
1219:
1220: BOOL
1221: WINAPI
1222: PeekMessageA(
1223: LPMSG lpMsg,
1224: HWND hWnd ,
1225: UINT wMsgFilterMin,
1226: UINT wMsgFilterMax,
1227: UINT wRemoveMsg);
1228: BOOL
1229: WINAPI
1230: PeekMessageW(
1231: LPMSG lpMsg,
1232: HWND hWnd ,
1233: UINT wMsgFilterMin,
1234: UINT wMsgFilterMax,
1235: UINT wRemoveMsg);
1236: #ifdef UNICODE
1237: #define PeekMessage PeekMessageW
1238: #else
1239: #define PeekMessage PeekMessageA
1240: #endif // !UNICODE
1.1 root 1241:
1242: /* PeekMessage() Options */
1243: #define PM_NOREMOVE 0x0000
1244: #define PM_REMOVE 0x0001
1245: #define PM_NOYIELD 0x0002
1246:
1247: #endif /* NOMSG */
1248:
1.1.1.2 root 1249: BOOL
1250: WINAPI
1251: RegisterHotKey(
1252: HWND hwnd ,
1253: int id,
1254: UINT fsModifiers,
1255: UINT vk);
1256:
1257: BOOL
1258: WINAPI
1259: UnregisterHotKey(
1260: HWND hwnd,
1261: int id);
1.1 root 1262:
1263: #define MOD_ALT 0x0001
1264: #define MOD_CONTROL 0x0002
1265: #define MOD_SHIFT 0x0004
1266:
1267: #define IDHOT_SNAPWINDOW (-1) /* SHIFT-PRINTSCRN */
1268: #define IDHOT_SNAPDESKTOP (-2) /* PRINTSCRN */
1269:
1270: #ifdef WIN_INTERNAL
1271: #ifndef LSTRING
1272: #define NOLSTRING
1273: #endif
1274: #ifndef LFILEIO
1275: #define NOLFILEIO
1276: #endif
1277: #endif
1278:
1279:
1.1.1.2 root 1280: #define EWX_LOGOFF 0
1281: #define EWX_SHUTDOWN 1
1282: #define EWX_REBOOT 2
1283: #define EWX_FORCE 4
1.1 root 1284:
1.1.1.2 root 1285:
1.1.1.3 ! root 1286: #define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF)
1.1.1.2 root 1287:
1288: BOOL
1289: WINAPI
1290: ExitWindowsEx(
1291: UINT uFlags,
1292: DWORD ForceTimeout);
1293:
1294: BOOL
1295: WINAPI
1296: SwapMouseButton(
1297: BOOL);
1298:
1299: DWORD
1300: WINAPI
1301: GetMessagePos(
1302: VOID);
1303:
1304: LONG
1305: WINAPI
1306: GetMessageTime(
1307: VOID);
1308:
1309: LONG
1310: WINAPI
1311: GetMessageExtraInfo(
1312: VOID);
1313:
1314: LRESULT
1315: WINAPI
1316: SendMessageA(
1317: HWND hWnd,
1318: UINT Msg,
1319: WPARAM wParam,
1320: LPARAM lParam);
1321: LRESULT
1322: WINAPI
1323: SendMessageW(
1324: HWND hWnd,
1325: UINT Msg,
1326: WPARAM wParam,
1327: LPARAM lParam);
1.1 root 1328: #ifdef UNICODE
1329: #define SendMessage SendMessageW
1330: #else
1331: #define SendMessage SendMessageA
1332: #endif // !UNICODE
1.1.1.2 root 1333:
1.1.1.3 ! root 1334: LRESULT
! 1335: WINAPI
! 1336: SendMessageTimeoutA(
! 1337: HWND hWnd,
! 1338: UINT Msg,
! 1339: WPARAM wParam,
! 1340: LPARAM lParam,
! 1341: UINT fuFlags,
! 1342: UINT uTimeout,
! 1343: LPDWORD lpdwResult);
! 1344: LRESULT
! 1345: WINAPI
! 1346: SendMessageTimeoutW(
! 1347: HWND hWnd,
! 1348: UINT Msg,
! 1349: WPARAM wParam,
! 1350: LPARAM lParam,
! 1351: UINT fuFlags,
! 1352: UINT uTimeout,
! 1353: LPDWORD lpdwResult);
! 1354: #ifdef UNICODE
! 1355: #define SendMessageTimeout SendMessageTimeoutW
! 1356: #else
! 1357: #define SendMessageTimeout SendMessageTimeoutA
! 1358: #endif // !UNICODE
! 1359:
1.1.1.2 root 1360: BOOL
1361: WINAPI
1362: SendNotifyMessageA(
1363: HWND hwnd,
1364: UINT Msg,
1365: WPARAM wParam,
1366: LPARAM lParam);
1367: BOOL
1368: WINAPI
1369: SendNotifyMessageW(
1370: HWND hwnd,
1371: UINT Msg,
1372: WPARAM wParam,
1373: LPARAM lParam);
1374: #ifdef UNICODE
1375: #define SendNotifyMessage SendNotifyMessageW
1376: #else
1377: #define SendNotifyMessage SendNotifyMessageA
1378: #endif // !UNICODE
1379:
1380: BOOL
1381: WINAPI
1.1.1.3 ! root 1382: SendMessageCallbackA(
! 1383: HWND hwnd,
! 1384: UINT Msg,
! 1385: WPARAM wParam,
! 1386: LPARAM lParam,
! 1387: SENDASYNCPROC lpResultCallBack,
! 1388: DWORD dwData);
! 1389: BOOL
! 1390: WINAPI
! 1391: SendMessageCallbackW(
! 1392: HWND hwnd,
! 1393: UINT Msg,
! 1394: WPARAM wParam,
! 1395: LPARAM lParam,
! 1396: SENDASYNCPROC lpResultCallBack,
! 1397: DWORD dwData);
! 1398: #ifdef UNICODE
! 1399: #define SendMessageCallback SendMessageCallbackW
! 1400: #else
! 1401: #define SendMessageCallback SendMessageCallbackA
! 1402: #endif // !UNICODE
! 1403:
! 1404: BOOL
! 1405: WINAPI
1.1.1.2 root 1406: PostMessageA(
1407: HWND hWnd,
1408: UINT Msg,
1409: WPARAM wParam,
1410: LPARAM lParam);
1411: BOOL
1412: WINAPI
1413: PostMessageW(
1414: HWND hWnd,
1415: UINT Msg,
1416: WPARAM wParam,
1417: LPARAM lParam);
1418: #ifdef UNICODE
1419: #define PostMessage PostMessageW
1420: #else
1421: #define PostMessage PostMessageA
1422: #endif // !UNICODE
1423:
1424: BOOL
1425: WINAPI
1426: PostThreadMessageA(
1427: DWORD idThread,
1428: UINT Msg,
1429: WPARAM wParam,
1430: LPARAM lParam);
1431: BOOL
1432: WINAPI
1433: PostThreadMessageW(
1434: DWORD idThread,
1435: UINT Msg,
1436: WPARAM wParam,
1437: LPARAM lParam);
1438: #ifdef UNICODE
1439: #define PostThreadMessage PostThreadMessageW
1440: #else
1441: #define PostThreadMessage PostThreadMessageA
1442: #endif // !UNICODE
1443:
1444: #define PostAppMessageA(idThread, wMsg, wParam, lParam)\
1445: PostThreadMessageA((DWORD)idThread, wMsg, wParam, lParam)
1446: #define PostAppMessageW(idThread, wMsg, wParam, lParam)\
1447: PostThreadMessageW((DWORD)idThread, wMsg, wParam, lParam)
1448: #ifdef UNICODE
1449: #define PostAppMessage PostAppMessageW
1450: #else
1451: #define PostAppMessage PostAppMessageA
1452: #endif // !UNICODE
1453:
1454: /* Special HWND value for use with PostMessage() and SendMessage() */
1455: #define HWND_BROADCAST ((HWND)0xffff)
1456:
1457: BOOL
1458: WINAPI
1459: AttachThreadInput(
1460: DWORD idAttach,
1461: DWORD idAttachTo,
1462: BOOL fAttach);
1463:
1464:
1465: BOOL
1466: WINAPI
1467: ReplyMessage(
1468: LRESULT);
1469:
1470: BOOL
1471: WINAPI
1472: WaitMessage(
1473: VOID);
1474:
1475: DWORD
1476: WINAPI
1477: WaitForInputIdle(
1478: HANDLE hProcess,
1479: DWORD dwMilliseconds);
1480:
1481: LRESULT
1482: WINAPI
1483: DefWindowProcA(
1484: HWND hWnd,
1485: UINT Msg,
1486: WPARAM wParam,
1487: LPARAM lParam);
1488: LRESULT
1489: WINAPI
1490: DefWindowProcW(
1491: HWND hWnd,
1492: UINT Msg,
1493: WPARAM wParam,
1494: LPARAM lParam);
1.1 root 1495: #ifdef UNICODE
1496: #define DefWindowProc DefWindowProcW
1497: #else
1498: #define DefWindowProc DefWindowProcA
1499: #endif // !UNICODE
1.1.1.2 root 1500:
1501: VOID
1502: WINAPI
1503: PostQuitMessage(
1504: int nExitCode);
1505:
1.1.1.3 ! root 1506: #ifdef STRICT
1.1.1.2 root 1507: LRESULT
1508: WINAPI
1509: CallWindowProcA(
1510: WNDPROC lpPrevWndFunc,
1511: HWND hWnd,
1512: UINT Msg,
1513: WPARAM wParam,
1514: LPARAM lParam);
1515: LRESULT
1516: WINAPI
1517: CallWindowProcW(
1518: WNDPROC lpPrevWndFunc,
1519: HWND hWnd,
1520: UINT Msg,
1521: WPARAM wParam,
1.1.1.3 ! root 1522: LPARAM lParam);
! 1523: #else
! 1524: LRESULT
! 1525: WINAPI
! 1526: CallWindowProcA(
! 1527: FARPROC lpPrevWndFunc,
! 1528: HWND hWnd,
! 1529: UINT Msg,
! 1530: WPARAM wParam,
1.1.1.2 root 1531: LPARAM lParam);
1.1.1.3 ! root 1532: LRESULT
! 1533: WINAPI
! 1534: CallWindowProcW(
! 1535: FARPROC lpPrevWndFunc,
! 1536: HWND hWnd,
! 1537: UINT Msg,
! 1538: WPARAM wParam,
! 1539: LPARAM lParam);
! 1540: #endif
1.1 root 1541: #ifdef UNICODE
1542: #define CallWindowProc CallWindowProcW
1543: #else
1544: #define CallWindowProc CallWindowProcA
1545: #endif // !UNICODE
1546:
1.1.1.2 root 1547: BOOL
1548: WINAPI
1549: InSendMessage(
1550: VOID);
1551:
1552: UINT
1553: WINAPI
1554: GetDoubleClickTime(
1555: VOID);
1.1 root 1556:
1557: BOOL
1.1.1.2 root 1558: WINAPI
1559: SetDoubleClickTime(
1560: UINT);
1561:
1562: ATOM
1563: WINAPI
1.1 root 1564: RegisterClassA(
1.1.1.3 ! root 1565: CONST WNDCLASSA *lpWndClass);
1.1.1.2 root 1566: ATOM
1567: WINAPI
1.1 root 1568: RegisterClassW(
1.1.1.3 ! root 1569: CONST WNDCLASSW *lpWndClass);
1.1 root 1570: #ifdef UNICODE
1571: #define RegisterClass RegisterClassW
1572: #else
1573: #define RegisterClass RegisterClassA
1574: #endif // !UNICODE
1575:
1576: BOOL
1.1.1.2 root 1577: WINAPI
1.1 root 1578: UnregisterClassA(
1.1.1.2 root 1579: LPCSTR lpClassName,
1.1.1.3 ! root 1580: HINSTANCE hInstance);
1.1 root 1581: BOOL
1.1.1.2 root 1582: WINAPI
1.1 root 1583: UnregisterClassW(
1.1.1.2 root 1584: LPCWSTR lpClassName,
1.1.1.3 ! root 1585: HINSTANCE hInstance);
1.1 root 1586: #ifdef UNICODE
1587: #define UnregisterClass UnregisterClassW
1588: #else
1589: #define UnregisterClass UnregisterClassA
1590: #endif // !UNICODE
1591:
1592: BOOL
1.1.1.2 root 1593: WINAPI
1.1 root 1594: GetClassInfoA(
1.1.1.3 ! root 1595: HINSTANCE hInstance ,
1.1.1.2 root 1596: LPCSTR lpClassName,
1597: LPWNDCLASSA lpWndClass);
1.1 root 1598: BOOL
1.1.1.2 root 1599: WINAPI
1.1 root 1600: GetClassInfoW(
1.1.1.3 ! root 1601: HINSTANCE hInstance ,
1.1.1.2 root 1602: LPCWSTR lpClassName,
1603: LPWNDCLASSW lpWndClass);
1.1 root 1604: #ifdef UNICODE
1605: #define GetClassInfo GetClassInfoW
1606: #else
1607: #define GetClassInfo GetClassInfoA
1608: #endif // !UNICODE
1609:
1610: #define CW_USEDEFAULT ((int)0x80000000)
1611:
1.1.1.2 root 1612: /* Special value for CreateWindow, et al. */
1613: #define HWND_DESKTOP ((HWND)0)
1614:
1.1 root 1615: HWND
1.1.1.2 root 1616: WINAPI
1.1 root 1617: CreateWindowExA(
1.1.1.2 root 1618: DWORD dwExStyle,
1619: LPCSTR lpClassName,
1620: LPCSTR lpWindowName,
1621: DWORD dwStyle,
1622: int X,
1623: int Y,
1624: int nWidth,
1625: int nHeight,
1626: HWND hWndParent ,
1627: HMENU hMenu,
1.1.1.3 ! root 1628: HINSTANCE hInstance,
1.1.1.2 root 1629: LPVOID lpParam);
1.1 root 1630: HWND
1.1.1.2 root 1631: WINAPI
1.1 root 1632: CreateWindowExW(
1.1.1.2 root 1633: DWORD dwExStyle,
1634: LPCWSTR lpClassName,
1635: LPCWSTR lpWindowName,
1636: DWORD dwStyle,
1637: int X,
1638: int Y,
1639: int nWidth,
1640: int nHeight,
1641: HWND hWndParent ,
1642: HMENU hMenu,
1.1.1.3 ! root 1643: HINSTANCE hInstance,
1.1.1.2 root 1644: LPVOID lpParam);
1.1 root 1645: #ifdef UNICODE
1646: #define CreateWindowEx CreateWindowExW
1647: #else
1648: #define CreateWindowEx CreateWindowExA
1649: #endif // !UNICODE
1650:
1651: #define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\
1652: nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)\
1653: CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,\
1654: nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)
1655: #define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\
1656: nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)\
1657: CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\
1658: nWidth, nHeight, hwndParent, hMenu, hInstance, lpParam)
1659: #ifdef UNICODE
1660: #define CreateWindow CreateWindowW
1661: #else
1662: #define CreateWindow CreateWindowA
1663: #endif // !UNICODE
1664:
1.1.1.2 root 1665: BOOL
1666: WINAPI
1667: IsWindow(
1668: HWND hWnd);
1669:
1670: BOOL
1671: WINAPI
1.1.1.3 ! root 1672: IsMenu(
! 1673: HMENU hMenu);
! 1674:
! 1675: BOOL
! 1676: WINAPI
1.1.1.2 root 1677: IsChild(
1678: HWND hWndParent,
1679: HWND hWnd);
1680:
1681: BOOL
1682: WINAPI
1683: DestroyWindow(
1684: HWND hWnd);
1685:
1686: BOOL
1687: WINAPI
1688: ShowWindow(
1689: HWND hWnd,
1690: int nCmdShow);
1691:
1692: BOOL
1693: WINAPI
1694: FlashWindow(
1695: HWND hWnd,
1696: BOOL bInvert);
1697:
1698: BOOL
1699: WINAPI
1700: ShowOwnedPopups(
1701: HWND hWnd,
1702: BOOL fShow);
1703:
1704: BOOL
1705: WINAPI
1706: OpenIcon(
1707: HWND hWnd);
1708:
1709: BOOL
1710: WINAPI
1711: CloseWindow(
1712: HWND hWnd);
1713:
1714: BOOL
1715: WINAPI
1716: MoveWindow(
1717: HWND hWnd,
1718: int X,
1719: int Y,
1720: int nWidth,
1721: int nHeight,
1722: BOOL bRepaint);
1723:
1724: BOOL
1725: WINAPI
1726: SetWindowPos(
1727: HWND hWnd,
1728: HWND hWndInsertAfter ,
1729: int X,
1730: int Y,
1731: int cx,
1732: int cy,
1733: UINT uFlags);
1734:
1735: BOOL
1736: WINAPI
1737: GetWindowPlacement(
1738: HWND hwnd,
1739: WINDOWPLACEMENT *lpwndpl);
1740:
1741: BOOL
1742: WINAPI
1743: SetWindowPlacement(
1744: HWND hwnd,
1.1.1.3 ! root 1745: CONST WINDOWPLACEMENT *lpwndpl);
1.1.1.2 root 1746:
1.1 root 1747:
1748: #ifndef NODEFERWINDOWPOS
1749:
1.1.1.2 root 1750: HDWP
1751: WINAPI
1752: BeginDeferWindowPos(
1753: int nNumWindows);
1754:
1755: HDWP
1756: WINAPI
1757: DeferWindowPos(
1758: HDWP hWinPosInfo,
1759: HWND hWnd,
1760: HWND hWndInsertAfter ,
1761: int x,
1762: int y,
1763: int cx,
1764: int cy,
1765: UINT uFlags);
1766:
1767: BOOL
1768: WINAPI
1769: EndDeferWindowPos(
1770: HDWP hWinPosInfo);
1.1 root 1771:
1772: #endif /* NODEFERWINDOWPOS */
1773:
1.1.1.2 root 1774: BOOL
1775: WINAPI
1776: IsWindowVisible(
1777: HWND hWnd);
1778:
1779: BOOL
1780: WINAPI
1781: IsIconic(
1782: HWND hWnd);
1783:
1784: BOOL
1785: WINAPI
1786: AnyPopup(
1787: VOID);
1788:
1789: BOOL
1790: WINAPI
1791: BringWindowToTop(
1792: HWND hWnd);
1793:
1794: BOOL
1795: WINAPI
1796: IsZoomed(
1797: HWND hWnd);
1.1 root 1798:
1799: /* SetWindowPos Flags */
1800: #define SWP_NOSIZE 0x0001
1801: #define SWP_NOMOVE 0x0002
1802: #define SWP_NOZORDER 0x0004
1803: #define SWP_NOREDRAW 0x0008
1804: #define SWP_NOACTIVATE 0x0010
1805: #define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */
1806: #define SWP_SHOWWINDOW 0x0040
1807: #define SWP_HIDEWINDOW 0x0080
1808: #define SWP_NOCOPYBITS 0x0100
1809: #define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */
1810:
1811: #define SWP_DRAWFRAME SWP_FRAMECHANGED
1812: #define SWP_NOREPOSITION SWP_NOOWNERZORDER
1813:
1.1.1.2 root 1814:
1815: #define HWND_TOP ((HWND)0)
1816: #define HWND_BOTTOM ((HWND)1)
1817: #define HWND_TOPMOST ((HWND)-1)
1818: #define HWND_NOTOPMOST ((HWND)-2)
1.1 root 1819:
1820: #ifndef NOCTLMGR
1821:
1.1.1.2 root 1822: #ifndef RC_INVOKED // RC can't handle #pragmas
1823:
1824: /*
1825: * WARNING:
1826: * The following structures must NOT be DWORD padded because they are
1827: * followed by strings, etc that do not have to be DWORD aligned.
1828: */
1829: #pragma pack(2)
1830:
1831: typedef struct {
1832: DWORD style;
1833: DWORD dwExtendedStyle;
1834: WORD cdit;
1835: WORD x;
1836: WORD y;
1837: WORD cx;
1838: WORD cy;
1839: } DLGTEMPLATE;
1840: typedef DLGTEMPLATE *LPDLGTEMPLATEA;
1841: typedef DLGTEMPLATE *LPDLGTEMPLATEW;
1842: #ifdef UNICODE
1843: #define LPDLGTEMPLATE LPDLGTEMPLATEW
1844: #else
1845: #define LPDLGTEMPLATE LPDLGTEMPLATEA
1846: #endif // UNICODE
1847: typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA;
1848: typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEW;
1849: #ifdef UNICODE
1850: #define LPCDLGTEMPLATE LPCDLGTEMPLATEW
1851: #else
1852: #define LPCDLGTEMPLATE LPCDLGTEMPLATEA
1853: #endif // UNICODE
1854:
1855: /*
1856: * Dialog item template (dit)
1857: */
1858: typedef struct {
1859: DWORD style;
1860: DWORD dwExtendedStyle;
1861: WORD x;
1862: WORD y;
1863: WORD cx;
1864: WORD cy;
1865: WORD id;
1866: } DLGITEMTEMPLATE;
1867: typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
1868: typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
1869: #ifdef UNICODE
1870: #define PDLGITEMTEMPLATE PDLGITEMTEMPLATEW
1871: #else
1872: #define PDLGITEMTEMPLATE PDLGITEMTEMPLATEA
1873: #endif // UNICODE
1874: typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
1875: typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
1876: #ifdef UNICODE
1877: #define LPDLGITEMTEMPLATE LPDLGITEMTEMPLATEW
1878: #else
1879: #define LPDLGITEMTEMPLATE LPDLGITEMTEMPLATEA
1880: #endif // UNICODE
1881:
1882: #pragma pack() // Resume normal packing
1883: #endif // !RC_INVOKED
1884:
1.1 root 1885: HWND
1.1.1.2 root 1886: WINAPI
1.1 root 1887: CreateDialogParamA(
1.1.1.3 ! root 1888: HINSTANCE hInstance,
1.1.1.2 root 1889: LPCSTR lpTemplateName,
1890: HWND hWndParent ,
1891: DLGPROC lpDialogFunc,
1892: LPARAM dwInitParam);
1.1 root 1893: HWND
1.1.1.2 root 1894: WINAPI
1.1 root 1895: CreateDialogParamW(
1.1.1.3 ! root 1896: HINSTANCE hInstance,
1.1.1.2 root 1897: LPCWSTR lpTemplateName,
1898: HWND hWndParent ,
1899: DLGPROC lpDialogFunc,
1900: LPARAM dwInitParam);
1.1 root 1901: #ifdef UNICODE
1902: #define CreateDialogParam CreateDialogParamW
1903: #else
1904: #define CreateDialogParam CreateDialogParamA
1905: #endif // !UNICODE
1906:
1907: HWND
1.1.1.2 root 1908: WINAPI
1.1 root 1909: CreateDialogIndirectParamA(
1.1.1.3 ! root 1910: HINSTANCE hInstance,
1.1.1.2 root 1911: LPCDLGTEMPLATEA lpTemplate,
1912: HWND hwndParent,
1913: DLGPROC lpDialogFunc,
1914: LPARAM dwInitParam);
1.1 root 1915: HWND
1.1.1.2 root 1916: WINAPI
1.1 root 1917: CreateDialogIndirectParamW(
1.1.1.3 ! root 1918: HINSTANCE hInstance,
1.1.1.2 root 1919: LPCDLGTEMPLATEW lpTemplate,
1920: HWND hwndParent,
1921: DLGPROC lpDialogFunc,
1922: LPARAM dwInitParam);
1.1 root 1923: #ifdef UNICODE
1924: #define CreateDialogIndirectParam CreateDialogIndirectParamW
1925: #else
1926: #define CreateDialogIndirectParam CreateDialogIndirectParamA
1927: #endif // !UNICODE
1928:
1929: #define CreateDialogA(hInstance, lpName, hwndParent, lpDialogFunc) \
1930: CreateDialogParamA(hInstance, lpName, hwndParent, lpDialogFunc, 0L)
1931: #define CreateDialogW(hInstance, lpName, hwndParent, lpDialogFunc) \
1932: CreateDialogParamW(hInstance, lpName, hwndParent, lpDialogFunc, 0L)
1933: #ifdef UNICODE
1934: #define CreateDialog CreateDialogW
1935: #else
1936: #define CreateDialog CreateDialogA
1937: #endif // !UNICODE
1938:
1939: #define CreateDialogIndirectA(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
1940: CreateDialogIndirectParamA(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
1941: #define CreateDialogIndirectW(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
1942: CreateDialogIndirectParamW(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
1943: #ifdef UNICODE
1944: #define CreateDialogIndirect CreateDialogIndirectW
1945: #else
1946: #define CreateDialogIndirect CreateDialogIndirectA
1947: #endif // !UNICODE
1948:
1949: int
1.1.1.2 root 1950: WINAPI
1.1 root 1951: DialogBoxParamA(
1.1.1.3 ! root 1952: HINSTANCE hInstance,
1.1.1.2 root 1953: LPCSTR lpTemplateName,
1954: HWND hWndParent ,
1955: DLGPROC lpDialogFunc,
1956: LPARAM dwInitParam);
1.1 root 1957: int
1.1.1.2 root 1958: WINAPI
1.1 root 1959: DialogBoxParamW(
1.1.1.3 ! root 1960: HINSTANCE hInstance,
1.1.1.2 root 1961: LPCWSTR lpTemplateName,
1962: HWND hWndParent ,
1963: DLGPROC lpDialogFunc,
1964: LPARAM dwInitParam);
1.1 root 1965: #ifdef UNICODE
1966: #define DialogBoxParam DialogBoxParamW
1967: #else
1968: #define DialogBoxParam DialogBoxParamA
1969: #endif // !UNICODE
1970:
1971: int
1.1.1.2 root 1972: WINAPI
1.1 root 1973: DialogBoxIndirectParamA(
1.1.1.3 ! root 1974: HINSTANCE hInstance,
1.1.1.2 root 1975: LPDLGTEMPLATEA hDialogTemplate,
1976: HWND hWndParent ,
1977: DLGPROC lpDialogFunc,
1978: LPARAM dwInitParam);
1.1 root 1979: int
1.1.1.2 root 1980: WINAPI
1.1 root 1981: DialogBoxIndirectParamW(
1.1.1.3 ! root 1982: HINSTANCE hInstance,
1.1.1.2 root 1983: LPDLGTEMPLATEW hDialogTemplate,
1984: HWND hWndParent ,
1985: DLGPROC lpDialogFunc,
1986: LPARAM dwInitParam);
1.1 root 1987: #ifdef UNICODE
1988: #define DialogBoxIndirectParam DialogBoxIndirectParamW
1989: #else
1990: #define DialogBoxIndirectParam DialogBoxIndirectParamA
1991: #endif // !UNICODE
1992:
1993: #define DialogBoxA(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
1994: DialogBoxParamA(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
1995: #define DialogBoxW(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
1996: DialogBoxParamW(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
1997: #ifdef UNICODE
1998: #define DialogBox DialogBoxW
1999: #else
2000: #define DialogBox DialogBoxA
2001: #endif // !UNICODE
2002:
2003: #define DialogBoxIndirectA(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
2004: DialogBoxIndirectParamA(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
2005: #define DialogBoxIndirectW(hInstance, lpTemplate, hwndParent, lpDialogFunc) \
2006: DialogBoxIndirectParamW(hInstance, lpTemplate, hwndParent, lpDialogFunc, 0L)
2007: #ifdef UNICODE
2008: #define DialogBoxIndirect DialogBoxIndirectW
2009: #else
2010: #define DialogBoxIndirect DialogBoxIndirectA
2011: #endif // !UNICODE
2012:
1.1.1.2 root 2013: BOOL
2014: WINAPI
2015: EndDialog(
2016: HWND hDlg,
2017: int nResult);
2018:
2019: HWND
2020: WINAPI
2021: GetDlgItem(
2022: HWND hDlg,
2023: int nIDDlgItem);
1.1 root 2024:
2025: BOOL
1.1.1.2 root 2026: WINAPI
2027: SetDlgItemInt(
2028: HWND hDlg,
2029: int nIDDlgItem,
2030: UINT uValue,
2031: BOOL bSigned);
2032:
2033: UINT
2034: WINAPI
2035: GetDlgItemInt(
2036: HWND hDlg,
2037: int nIDDlgItem,
2038: BOOL *lpTranslated,
2039: BOOL bSigned);
2040:
2041: BOOL
2042: WINAPI
1.1 root 2043: SetDlgItemTextA(
1.1.1.2 root 2044: HWND hDlg,
2045: int nIDDlgItem,
2046: LPCSTR lpString);
1.1 root 2047: BOOL
1.1.1.2 root 2048: WINAPI
1.1 root 2049: SetDlgItemTextW(
1.1.1.2 root 2050: HWND hDlg,
2051: int nIDDlgItem,
2052: LPCWSTR lpString);
1.1 root 2053: #ifdef UNICODE
2054: #define SetDlgItemText SetDlgItemTextW
2055: #else
2056: #define SetDlgItemText SetDlgItemTextA
2057: #endif // !UNICODE
2058:
1.1.1.2 root 2059: UINT
2060: WINAPI
1.1 root 2061: GetDlgItemTextA(
1.1.1.2 root 2062: HWND hDlg,
2063: int nIDDlgItem,
2064: LPSTR lpString,
2065: int nMaxCount);
2066: UINT
2067: WINAPI
1.1 root 2068: GetDlgItemTextW(
1.1.1.2 root 2069: HWND hDlg,
2070: int nIDDlgItem,
2071: LPWSTR lpString,
2072: int nMaxCount);
1.1 root 2073: #ifdef UNICODE
2074: #define GetDlgItemText GetDlgItemTextW
2075: #else
2076: #define GetDlgItemText GetDlgItemTextA
2077: #endif // !UNICODE
2078:
1.1.1.2 root 2079: BOOL
2080: WINAPI
2081: CheckDlgButton(
2082: HWND hDlg,
2083: int nIDButton,
2084: UINT uCheck);
2085:
2086: BOOL
2087: WINAPI
2088: CheckRadioButton(
2089: HWND hDlg,
2090: int nIDFirstButton,
2091: int nIDLastButton,
2092: int nIDCheckButton);
2093:
2094: UINT
2095: WINAPI
2096: IsDlgButtonChecked(
2097: HWND hDlg,
2098: int nIDButton);
2099:
2100: LONG
2101: WINAPI
2102: SendDlgItemMessageA(
2103: HWND hDlg,
2104: int nIDDlgItem,
2105: UINT Msg,
2106: WPARAM wParam,
2107: LPARAM lParam);
2108: LONG
2109: WINAPI
2110: SendDlgItemMessageW(
2111: HWND hDlg,
2112: int nIDDlgItem,
2113: UINT Msg,
2114: WPARAM wParam,
2115: LPARAM lParam);
1.1 root 2116: #ifdef UNICODE
2117: #define SendDlgItemMessage SendDlgItemMessageW
2118: #else
2119: #define SendDlgItemMessage SendDlgItemMessageA
2120: #endif // !UNICODE
1.1.1.2 root 2121:
2122: HWND
2123: WINAPI
2124: GetNextDlgGroupItem(
2125: HWND hDlg,
2126: HWND hCtl,
2127: BOOL bPrevious);
2128:
2129: HWND
2130: WINAPI
2131: GetNextDlgTabItem(
2132: HWND hDlg,
2133: HWND hCtl,
2134: BOOL bPrevious);
2135:
2136: int
2137: WINAPI
2138: GetDlgCtrlID(
2139: HWND hWnd);
2140:
2141: long
2142: WINAPI
2143: GetDialogBaseUnits(VOID);
2144:
2145: LRESULT
2146: WINAPI
2147: DefDlgProcA(
2148: HWND hDlg,
2149: UINT Msg,
2150: WPARAM wParam,
2151: LPARAM lParam);
2152: LRESULT
2153: WINAPI
2154: DefDlgProcW(
2155: HWND hDlg,
2156: UINT Msg,
2157: WPARAM wParam,
2158: LPARAM lParam);
1.1 root 2159: #ifdef UNICODE
2160: #define DefDlgProc DefDlgProcW
2161: #else
2162: #define DefDlgProc DefDlgProcA
2163: #endif // !UNICODE
2164:
2165: /*
2166: * Window extra byted needed for private dialog classes.
2167: */
2168: #define DLGWINDOWEXTRA 30
2169:
2170: #endif /* NOCTLMGR */
2171:
2172: #ifndef NOMSG
1.1.1.2 root 2173: BOOL
2174: WINAPI
2175: CallMsgFilter(
2176: LPMSG lpMsg,
2177: int nCode);
1.1 root 2178: #endif
2179:
2180: #ifndef NOCLIPBOARD
2181:
2182: /* Clipboard Manager Functions */
1.1.1.2 root 2183: BOOL
2184: WINAPI
2185: OpenClipboard(
2186: HWND hWnd);
2187:
2188: BOOL
2189: WINAPI
2190: CloseClipboard(
2191: VOID);
2192:
2193: HWND
2194: WINAPI
2195: GetClipboardOwner(
2196: VOID);
2197:
2198: HWND
2199: WINAPI
2200: SetClipboardViewer(
2201: HWND );
2202:
2203: HWND
2204: WINAPI
2205: GetClipboardViewer(VOID);
2206:
2207: BOOL
2208: WINAPI
2209: ChangeClipboardChain(
2210: HWND,
2211: HWND);
2212:
2213: HANDLE
2214: WINAPI
2215: SetClipboardData(
2216: UINT uFormat,
2217: HANDLE hMem);
2218:
2219: HANDLE
2220: WINAPI
2221: GetClipboardData(
2222: UINT uFormat);
1.1 root 2223:
2224: UINT
1.1.1.2 root 2225: WINAPI
1.1 root 2226: RegisterClipboardFormatA(
1.1.1.2 root 2227: LPCSTR);
1.1 root 2228: UINT
1.1.1.2 root 2229: WINAPI
1.1 root 2230: RegisterClipboardFormatW(
1.1.1.2 root 2231: LPCWSTR);
1.1 root 2232: #ifdef UNICODE
2233: #define RegisterClipboardFormat RegisterClipboardFormatW
2234: #else
2235: #define RegisterClipboardFormat RegisterClipboardFormatA
2236: #endif // !UNICODE
2237:
1.1.1.2 root 2238: int
2239: WINAPI
2240: CountClipboardFormats(
2241: VOID);
2242:
2243: UINT
2244: WINAPI
2245: EnumClipboardFormats(
2246: UINT);
1.1 root 2247:
2248: int
1.1.1.2 root 2249: WINAPI
1.1 root 2250: GetClipboardFormatNameA(
1.1.1.2 root 2251: UINT,
2252: LPSTR,
2253: int);
1.1 root 2254: int
1.1.1.2 root 2255: WINAPI
1.1 root 2256: GetClipboardFormatNameW(
1.1.1.2 root 2257: UINT,
2258: LPWSTR,
2259: int);
1.1 root 2260: #ifdef UNICODE
2261: #define GetClipboardFormatName GetClipboardFormatNameW
2262: #else
2263: #define GetClipboardFormatName GetClipboardFormatNameA
2264: #endif // !UNICODE
2265:
1.1.1.2 root 2266: BOOL
2267: WINAPI
2268: EmptyClipboard(
2269: VOID);
1.1 root 2270:
1.1.1.2 root 2271: BOOL
2272: WINAPI
2273: IsClipboardFormatAvailable(
2274: UINT);
2275:
2276: int
2277: WINAPI
2278: GetPriorityClipboardFormat(
2279: UINT *,
2280: int);
2281:
2282: HWND
2283: WINAPI
2284: GetOpenClipboardWindow(
2285: VOID);
1.1 root 2286:
1.1.1.2 root 2287: #endif /* NOCLIPBOARD */
1.1 root 2288:
2289: /* Character Translation Routines */
2290:
2291: BOOL
1.1.1.2 root 2292: WINAPI
1.1 root 2293: CharToOemA(
1.1.1.2 root 2294: LPCSTR,
2295: LPSTR);
1.1 root 2296: BOOL
1.1.1.2 root 2297: WINAPI
1.1 root 2298: CharToOemW(
1.1.1.2 root 2299: LPCWSTR,
2300: LPSTR);
1.1 root 2301: #ifdef UNICODE
2302: #define CharToOem CharToOemW
2303: #else
2304: #define CharToOem CharToOemA
2305: #endif // !UNICODE
2306:
2307: BOOL
1.1.1.2 root 2308: WINAPI
1.1 root 2309: OemToCharA(
1.1.1.2 root 2310: LPCSTR,
2311: LPSTR);
1.1 root 2312: BOOL
1.1.1.2 root 2313: WINAPI
1.1 root 2314: OemToCharW(
1.1.1.2 root 2315: LPCSTR,
2316: LPWSTR);
1.1 root 2317: #ifdef UNICODE
2318: #define OemToChar OemToCharW
2319: #else
2320: #define OemToChar OemToCharA
2321: #endif // !UNICODE
2322:
2323: BOOL
1.1.1.2 root 2324: WINAPI
1.1 root 2325: CharToOemBuffA(
1.1.1.2 root 2326: LPCSTR,
2327: LPSTR,
2328: DWORD);
1.1 root 2329: BOOL
1.1.1.2 root 2330: WINAPI
1.1 root 2331: CharToOemBuffW(
1.1.1.2 root 2332: LPCWSTR,
2333: LPSTR,
2334: DWORD);
1.1 root 2335: #ifdef UNICODE
2336: #define CharToOemBuff CharToOemBuffW
2337: #else
2338: #define CharToOemBuff CharToOemBuffA
2339: #endif // !UNICODE
2340:
2341: BOOL
1.1.1.2 root 2342: WINAPI
1.1 root 2343: OemToCharBuffA(
1.1.1.2 root 2344: LPCSTR,
2345: LPSTR,
2346: DWORD);
1.1 root 2347: BOOL
1.1.1.2 root 2348: WINAPI
1.1 root 2349: OemToCharBuffW(
1.1.1.2 root 2350: LPCSTR,
2351: LPWSTR,
2352: DWORD);
1.1 root 2353: #ifdef UNICODE
2354: #define OemToCharBuff OemToCharBuffW
2355: #else
2356: #define OemToCharBuff OemToCharBuffA
2357: #endif // !UNICODE
2358:
2359: LPSTR
1.1.1.2 root 2360: WINAPI
1.1 root 2361: CharUpperA(
1.1.1.2 root 2362: LPSTR);
1.1 root 2363: LPWSTR
1.1.1.2 root 2364: WINAPI
1.1 root 2365: CharUpperW(
1.1.1.2 root 2366: LPWSTR);
1.1 root 2367: #ifdef UNICODE
2368: #define CharUpper CharUpperW
2369: #else
2370: #define CharUpper CharUpperA
2371: #endif // !UNICODE
2372:
2373: DWORD
1.1.1.2 root 2374: WINAPI
1.1 root 2375: CharUpperBuffA(
1.1.1.2 root 2376: LPSTR,
2377: DWORD);
1.1 root 2378: DWORD
1.1.1.2 root 2379: WINAPI
1.1 root 2380: CharUpperBuffW(
1.1.1.2 root 2381: LPWSTR,
2382: DWORD);
1.1 root 2383: #ifdef UNICODE
2384: #define CharUpperBuff CharUpperBuffW
2385: #else
2386: #define CharUpperBuff CharUpperBuffA
2387: #endif // !UNICODE
2388:
2389: LPSTR
1.1.1.2 root 2390: WINAPI
1.1 root 2391: CharLowerA(
1.1.1.2 root 2392: LPSTR);
1.1 root 2393: LPWSTR
1.1.1.2 root 2394: WINAPI
1.1 root 2395: CharLowerW(
1.1.1.2 root 2396: LPWSTR);
1.1 root 2397: #ifdef UNICODE
2398: #define CharLower CharLowerW
2399: #else
2400: #define CharLower CharLowerA
2401: #endif // !UNICODE
2402:
2403: DWORD
1.1.1.2 root 2404: WINAPI
1.1 root 2405: CharLowerBuffA(
1.1.1.2 root 2406: LPSTR,
2407: DWORD);
1.1 root 2408: DWORD
1.1.1.2 root 2409: WINAPI
1.1 root 2410: CharLowerBuffW(
1.1.1.2 root 2411: LPWSTR,
2412: DWORD);
1.1 root 2413: #ifdef UNICODE
2414: #define CharLowerBuff CharLowerBuffW
2415: #else
2416: #define CharLowerBuff CharLowerBuffA
2417: #endif // !UNICODE
2418:
2419: LPSTR
1.1.1.2 root 2420: WINAPI
1.1 root 2421: CharNextA(
1.1.1.2 root 2422: LPCSTR);
1.1 root 2423: LPWSTR
1.1.1.2 root 2424: WINAPI
1.1 root 2425: CharNextW(
1.1.1.2 root 2426: LPCWSTR);
1.1 root 2427: #ifdef UNICODE
2428: #define CharNext CharNextW
2429: #else
2430: #define CharNext CharNextA
2431: #endif // !UNICODE
2432:
2433: LPSTR
1.1.1.2 root 2434: WINAPI
1.1 root 2435: CharPrevA(
1.1.1.2 root 2436: LPCSTR,
2437: LPCSTR);
1.1 root 2438: LPWSTR
1.1.1.2 root 2439: WINAPI
1.1 root 2440: CharPrevW(
1.1.1.2 root 2441: LPCWSTR,
2442: LPCWSTR);
1.1 root 2443: #ifdef UNICODE
2444: #define CharPrev CharPrevW
2445: #else
2446: #define CharPrev CharPrevA
2447: #endif // !UNICODE
2448:
2449: /* Compatibility defines for character translation routines */
2450: #define AnsiToOem CharToOemA
2451: #define OemToAnsi OemToCharA
2452: #define AnsiToOemBuff CharToOemBuffA
2453: #define OemToAnsiBuff OemToCharBuffA
2454: #define AnsiUpper CharUpperA
2455: #define AnsiUpperBuff CharUpperBuffA
2456: #define AnsiLower CharLowerA
2457: #define AnsiLowerBuff CharLowerBuffA
2458: #define AnsiNext CharNextA
2459: #define AnsiPrev CharPrevA
2460:
2461: #ifndef NOLANGUAGE
2462: /* Language dependent Routines */
2463:
2464: BOOL
1.1.1.2 root 2465: WINAPI
1.1 root 2466: IsCharAlphaA(
1.1.1.2 root 2467: CHAR);
1.1 root 2468: BOOL
1.1.1.2 root 2469: WINAPI
1.1 root 2470: IsCharAlphaW(
1.1.1.2 root 2471: WCHAR);
1.1 root 2472: #ifdef UNICODE
2473: #define IsCharAlpha IsCharAlphaW
2474: #else
2475: #define IsCharAlpha IsCharAlphaA
2476: #endif // !UNICODE
2477:
2478: BOOL
1.1.1.2 root 2479: WINAPI
1.1 root 2480: IsCharAlphaNumericA(
1.1.1.2 root 2481: CHAR);
1.1 root 2482: BOOL
1.1.1.2 root 2483: WINAPI
1.1 root 2484: IsCharAlphaNumericW(
1.1.1.2 root 2485: WCHAR);
1.1 root 2486: #ifdef UNICODE
2487: #define IsCharAlphaNumeric IsCharAlphaNumericW
2488: #else
2489: #define IsCharAlphaNumeric IsCharAlphaNumericA
2490: #endif // !UNICODE
2491:
2492: BOOL
1.1.1.2 root 2493: WINAPI
1.1 root 2494: IsCharUpperA(
1.1.1.2 root 2495: CHAR);
1.1 root 2496: BOOL
1.1.1.2 root 2497: WINAPI
1.1 root 2498: IsCharUpperW(
1.1.1.2 root 2499: WCHAR);
1.1 root 2500: #ifdef UNICODE
2501: #define IsCharUpper IsCharUpperW
2502: #else
2503: #define IsCharUpper IsCharUpperA
2504: #endif // !UNICODE
2505:
2506: BOOL
1.1.1.2 root 2507: WINAPI
1.1 root 2508: IsCharLowerA(
1.1.1.2 root 2509: CHAR);
1.1 root 2510: BOOL
1.1.1.2 root 2511: WINAPI
1.1 root 2512: IsCharLowerW(
1.1.1.2 root 2513: WCHAR);
1.1 root 2514: #ifdef UNICODE
2515: #define IsCharLower IsCharLowerW
2516: #else
2517: #define IsCharLower IsCharLowerA
2518: #endif // !UNICODE
2519:
2520: #endif
2521:
1.1.1.2 root 2522: HWND
2523: WINAPI
2524: SetFocus(
2525: HWND hWnd);
2526:
2527: HWND
2528: WINAPI
2529: GetActiveWindow(
2530: VOID);
2531:
2532: HWND
2533: WINAPI
2534: GetFocus(
2535: VOID);
2536:
2537: UINT
2538: WINAPI
2539: GetKBCodePage(
2540: VOID);
2541:
2542: SHORT
2543: WINAPI
2544: GetKeyState(
2545: int nVirtKey);
2546:
2547: SHORT
2548: WINAPI
2549: GetAsyncKeyState(
2550: int vKey);
2551:
2552: BOOL
2553: WINAPI
2554: GetKeyboardState(
2555: PBYTE lpKeyState);
2556:
2557: BOOL
2558: WINAPI
2559: SetKeyboardState(
2560: LPBYTE lpKeyState);
1.1 root 2561:
2562: int
1.1.1.2 root 2563: WINAPI
1.1 root 2564: GetKeyNameTextA(
1.1.1.2 root 2565: LONG lParam,
2566: LPSTR lpString,
2567: int nSize
1.1 root 2568: );
2569: int
1.1.1.2 root 2570: WINAPI
1.1 root 2571: GetKeyNameTextW(
1.1.1.2 root 2572: LONG lParam,
2573: LPWSTR lpString,
2574: int nSize
1.1 root 2575: );
2576: #ifdef UNICODE
2577: #define GetKeyNameText GetKeyNameTextW
2578: #else
2579: #define GetKeyNameText GetKeyNameTextA
2580: #endif // !UNICODE
2581:
1.1.1.2 root 2582: int
2583: WINAPI
2584: GetKeyboardType(
2585: int nTypeFlag);
2586:
2587: int
2588: WINAPI
2589: ToAscii(
2590: UINT uVirtKey,
2591: UINT uScanCode,
2592: PBYTE lpKeyState,
2593: LPWORD lpChar,
2594: UINT uFlags);
2595:
2596: int
2597: WINAPI
2598: ToUnicode(
2599: UINT wVirtKey,
2600: UINT wScanCode,
2601: PBYTE lpKeyState,
2602: LPDWORD lpChar,
2603: UINT wFlags);
2604:
2605: SHORT
2606: WINAPI
2607: VkKeyScanA(
2608: CHAR cChar);
2609: SHORT
2610: WINAPI
2611: VkKeyScanW(
2612: WCHAR cChar);
2613: #ifdef UNICODE
2614: #define VkKeyScan VkKeyScanW
2615: #else
2616: #define VkKeyScan VkKeyScanA
2617: #endif // !UNICODE
2618:
2619: UINT
2620: WINAPI
2621: MapVirtualKey(
2622: UINT uCode,
2623: UINT uMapType);
2624:
2625: BOOL
2626: WINAPI
2627: GetInputState(
2628: VOID);
2629:
2630: DWORD
2631: WINAPI
2632: GetQueueStatus(
2633: UINT flags);
2634:
2635: HWND
2636: WINAPI
2637: GetCapture(VOID);
2638:
2639: HWND
2640: WINAPI
2641: SetCapture(
2642: HWND hWnd);
2643:
2644: BOOL
2645: WINAPI
2646: ReleaseCapture(
2647: VOID);
2648:
2649: DWORD
2650: WINAPI
2651: MsgWaitForMultipleObjects(
2652: DWORD nCount,
2653: LPHANDLE pHandles,
2654: BOOL fWaitAll,
2655: DWORD dwMilliseconds,
2656: DWORD dwWakeMask);
1.1 root 2657:
2658: /* Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects() */
2659: #define QS_KEY 0x01
2660: #define QS_MOUSEMOVE 0x02
2661: #define QS_MOUSEBUTTON 0x04
2662: #define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON)
2663: #define QS_POSTMESSAGE 0x08
2664: #define QS_TIMER 0x10
2665: #define QS_PAINT 0x20
2666: #define QS_SENDMESSAGE 0x40
2667: #define QS_HOTKEY 0x80
2668: #define QS_INPUT (QS_MOUSE | QS_KEY)
2669: #define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
2670:
2671:
1.1.1.2 root 2672: UINT
2673: WINAPI
2674: GetSysInputMode(
2675: VOID);
1.1 root 2676:
2677: /* GetSysInputMode return values */
2678: #define IMD_NONE 0
2679: #define IMD_MENU 1
2680: #define IMD_DIALOGBOX 2
2681: #define IMD_NEXTWINDOW 3
2682: #define IMD_SCROLLBAR 4
2683: #define IMD_TITLEBUTTONTRACK 5
2684: #define IMD_MOVESIZETRACK 6
2685: #define IMD_SYSERRDLG 7
2686: #define IMD_DRAGOBJECT 8
2687: #define IMD_DRAGDETECT 9
2688:
2689:
2690: /* Windows Functions */
1.1.1.2 root 2691: UINT
2692: WINAPI
2693: SetTimer(
2694: HWND hwnd ,
2695: UINT nIDEvent,
2696: UINT uElapse,
2697: TIMERPROC lpTimerFunc);
2698:
2699: BOOL
2700: WINAPI
2701: KillTimer(
2702: HWND hWnd,
2703: UINT uIDEvent);
2704:
2705: BOOL
2706: WINAPI
2707: IsWindowUnicode(
2708: HWND hWnd);
2709:
2710: BOOL
2711: WINAPI
2712: EnableWindow(
2713: HWND hWnd,
2714: BOOL bEnable);
1.1 root 2715:
1.1.1.2 root 2716: BOOL
2717: WINAPI
2718: IsWindowEnabled(
2719: HWND hWnd);
1.1 root 2720:
1.1.1.3 ! root 2721: HACCEL
1.1.1.2 root 2722: WINAPI
1.1 root 2723: LoadAcceleratorsA(
1.1.1.3 ! root 2724: HINSTANCE hInstance,
1.1.1.2 root 2725: LPCSTR lpTableName);
1.1.1.3 ! root 2726: HACCEL
1.1.1.2 root 2727: WINAPI
1.1 root 2728: LoadAcceleratorsW(
1.1.1.3 ! root 2729: HINSTANCE hInstance,
1.1.1.2 root 2730: LPCWSTR lpTableName);
1.1 root 2731: #ifdef UNICODE
2732: #define LoadAccelerators LoadAcceleratorsW
2733: #else
2734: #define LoadAccelerators LoadAcceleratorsA
2735: #endif // !UNICODE
2736:
1.1.1.2 root 2737: HACCEL
2738: WINAPI
2739: CreateAcceleratorTable(
2740: LPACCEL, int);
2741:
2742: BOOL
2743: WINAPI
2744: DestroyAcceleratorTable(
2745: HACCEL);
2746:
2747: int
2748: WINAPI
2749: CopyAcceleratorTable(
2750: HACCEL,
2751: LPACCEL ,
2752: int);
1.1 root 2753:
2754: #ifndef NOMSG
1.1.1.2 root 2755: int
2756: WINAPI
2757: TranslateAccelerator(
2758: HWND hWnd,
2759: HACCEL hAccTable,
2760: LPMSG lpMsg);
1.1 root 2761: #endif
2762:
2763: #ifndef NOSYSMETRICS
2764:
2765: /* GetSystemMetrics() codes */
2766: #define SM_CXSCREEN 0
2767: #define SM_CYSCREEN 1
2768: #define SM_CXVSCROLL 2
2769: #define SM_CYHSCROLL 3
2770: #define SM_CYCAPTION 4
2771: #define SM_CXBORDER 5
2772: #define SM_CYBORDER 6
2773: #define SM_CXDLGFRAME 7
2774: #define SM_CYDLGFRAME 8
2775: #define SM_CYVTHUMB 9
2776: #define SM_CXHTHUMB 10
2777: #define SM_CXICON 11
2778: #define SM_CYICON 12
2779: #define SM_CXCURSOR 13
2780: #define SM_CYCURSOR 14
2781: #define SM_CYMENU 15
2782: #define SM_CXFULLSCREEN 16
2783: #define SM_CYFULLSCREEN 17
2784: #define SM_CYKANJIWINDOW 18
2785: #define SM_MOUSEPRESENT 19
2786: #define SM_CYVSCROLL 20
2787: #define SM_CXHSCROLL 21
2788: #define SM_DEBUG 22
2789: #define SM_SWAPBUTTON 23
2790: #define SM_RESERVED1 24
2791: #define SM_RESERVED2 25
2792: #define SM_RESERVED3 26
2793: #define SM_RESERVED4 27
2794: #define SM_CXMIN 28
2795: #define SM_CYMIN 29
2796: #define SM_CXSIZE 30
2797: #define SM_CYSIZE 31
2798: #define SM_CXFRAME 32
2799: #define SM_CYFRAME 33
2800: #define SM_CXMINTRACK 34
2801: #define SM_CYMINTRACK 35
2802: #define SM_CXDOUBLECLK 36
2803: #define SM_CYDOUBLECLK 37
2804: #define SM_CXICONSPACING 38
2805: #define SM_CYICONSPACING 39
2806: #define SM_MENUDROPALIGNMENT 40
2807: #define SM_PENWINDOWS 41
1.1.1.2 root 2808: #define SM_DBCSENABLED 42
2809: #define SM_CMOUSEBUTTONS 43
2810: #define SM_MAX 43
1.1 root 2811: #define SM_CMETRICS 44
2812:
1.1.1.2 root 2813: int
2814: WINAPI
2815: GetSystemMetrics(
2816: int nIndex);
1.1 root 2817:
2818: #endif /* NOSYSMETRICS */
2819:
2820: #ifndef NOMENUS
2821:
2822: HMENU
1.1.1.2 root 2823: WINAPI
1.1 root 2824: LoadMenuA(
1.1.1.3 ! root 2825: HINSTANCE hInstance,
1.1.1.2 root 2826: LPCSTR lpMenuName);
1.1 root 2827: HMENU
1.1.1.2 root 2828: WINAPI
1.1 root 2829: LoadMenuW(
1.1.1.3 ! root 2830: HINSTANCE hInstance,
1.1.1.2 root 2831: LPCWSTR lpMenuName);
1.1 root 2832: #ifdef UNICODE
2833: #define LoadMenu LoadMenuW
2834: #else
2835: #define LoadMenu LoadMenuA
2836: #endif // !UNICODE
2837:
2838: HMENU
1.1.1.2 root 2839: WINAPI
1.1 root 2840: LoadMenuIndirectA(
1.1.1.3 ! root 2841: CONST MENUTEMPLATEA *lpMenuTemplate);
1.1 root 2842: HMENU
1.1.1.2 root 2843: WINAPI
1.1 root 2844: LoadMenuIndirectW(
1.1.1.3 ! root 2845: CONST MENUTEMPLATEW *lpMenuTemplate);
1.1 root 2846: #ifdef UNICODE
2847: #define LoadMenuIndirect LoadMenuIndirectW
2848: #else
2849: #define LoadMenuIndirect LoadMenuIndirectA
2850: #endif // !UNICODE
2851:
1.1.1.2 root 2852: HMENU
2853: WINAPI
2854: GetMenu(
2855: HWND hWnd);
2856:
2857: BOOL
2858: WINAPI
2859: SetMenu(
2860: HWND hWnd,
2861: HMENU hMenu);
2862:
2863: BOOL
2864: WINAPI
2865: ChangeMenuA(
2866: HMENU,
2867: UINT,
2868: LPCTSTR,
2869: UINT,
2870: UINT);
2871: BOOL
2872: WINAPI
2873: ChangeMenuW(
2874: HMENU,
2875: UINT,
2876: LPCTSTR,
2877: UINT,
2878: UINT);
2879: #ifdef UNICODE
2880: #define ChangeMenu ChangeMenuW
2881: #else
2882: #define ChangeMenu ChangeMenuA
2883: #endif // !UNICODE
2884:
2885: BOOL
2886: WINAPI
2887: HiliteMenuItem(
2888: HWND hWnd,
2889: HMENU hMenu,
2890: UINT uIDHiliteItem,
2891: UINT uHilite);
1.1 root 2892:
2893: int
1.1.1.2 root 2894: WINAPI
1.1 root 2895: GetMenuStringA(
1.1.1.2 root 2896: HMENU hMenu,
2897: UINT uIDItem,
2898: LPSTR lpString,
2899: int nMaxCount,
2900: UINT uFlag);
1.1 root 2901: int
1.1.1.2 root 2902: WINAPI
1.1 root 2903: GetMenuStringW(
1.1.1.2 root 2904: HMENU hMenu,
2905: UINT uIDItem,
2906: LPWSTR lpString,
2907: int nMaxCount,
2908: UINT uFlag);
1.1 root 2909: #ifdef UNICODE
2910: #define GetMenuString GetMenuStringW
2911: #else
2912: #define GetMenuString GetMenuStringA
2913: #endif // !UNICODE
2914:
1.1.1.2 root 2915: UINT
2916: WINAPI
2917: GetMenuState(
2918: HMENU hMenu,
2919: UINT uId,
2920: UINT uFlags);
1.1 root 2921:
2922: BOOL
1.1.1.2 root 2923: WINAPI
2924: DrawMenuBar(
2925: HWND hWnd);
2926:
2927: HMENU
2928: WINAPI
2929: GetSystemMenu(
2930: HWND hWnd,
2931: BOOL bRevert);
2932:
2933: HMENU
2934: WINAPI
2935: CreateMenu(
2936: VOID);
2937:
2938: HMENU
2939: WINAPI
2940: CreatePopupMenu(
2941: VOID);
2942:
2943: BOOL
2944: WINAPI
2945: DestroyMenu(
2946: HMENU hMenu);
2947:
1.1.1.3 ! root 2948: BOOL
1.1.1.2 root 2949: WINAPI
2950: CheckMenuItem(
2951: HMENU hMenu,
2952: UINT uIDCheckItem,
2953: UINT uCheck);
2954:
2955: BOOL
2956: WINAPI
2957: EnableMenuItem(
2958: HMENU hMenu,
2959: UINT uIDEnableItem,
2960: UINT uEnable);
2961:
2962: HMENU
2963: WINAPI
2964: GetSubMenu(
2965: HMENU hMenu,
2966: int nPos);
2967:
2968: UINT
2969: WINAPI
2970: GetMenuItemID(
2971: HMENU hMenu,
2972: int nPos);
2973:
2974: int
2975: WINAPI
2976: GetMenuItemCount(
2977: HMENU hMenu);
2978:
2979: BOOL
2980: WINAPI
1.1 root 2981: InsertMenuA(
1.1.1.2 root 2982: HMENU hMenu,
2983: UINT uPosition,
2984: UINT uFlags,
2985: UINT uIDNewItem,
2986: LPCSTR lpNewItem
1.1 root 2987: );
2988: BOOL
1.1.1.2 root 2989: WINAPI
1.1 root 2990: InsertMenuW(
1.1.1.2 root 2991: HMENU hMenu,
2992: UINT uPosition,
2993: UINT uFlags,
2994: UINT uIDNewItem,
2995: LPCWSTR lpNewItem
1.1 root 2996: );
2997: #ifdef UNICODE
2998: #define InsertMenu InsertMenuW
2999: #else
3000: #define InsertMenu InsertMenuA
3001: #endif // !UNICODE
3002:
3003: BOOL
1.1.1.2 root 3004: WINAPI
1.1 root 3005: AppendMenuA(
1.1.1.2 root 3006: HMENU hMenu,
3007: UINT uFlags,
3008: UINT uIDNewItem,
3009: LPCSTR lpNewItem
1.1 root 3010: );
3011: BOOL
1.1.1.2 root 3012: WINAPI
1.1 root 3013: AppendMenuW(
1.1.1.2 root 3014: HMENU hMenu,
3015: UINT uFlags,
3016: UINT uIDNewItem,
3017: LPCWSTR lpNewItem
1.1 root 3018: );
3019: #ifdef UNICODE
3020: #define AppendMenu AppendMenuW
3021: #else
3022: #define AppendMenu AppendMenuA
3023: #endif // !UNICODE
3024:
3025: BOOL
1.1.1.2 root 3026: WINAPI
1.1 root 3027: ModifyMenuA(
1.1.1.2 root 3028: HMENU hMnu,
3029: UINT uPosition,
3030: UINT uFlags,
3031: UINT uIDNewItem,
3032: LPCSTR lpNewItem
1.1 root 3033: );
3034: BOOL
1.1.1.2 root 3035: WINAPI
1.1 root 3036: ModifyMenuW(
1.1.1.2 root 3037: HMENU hMnu,
3038: UINT uPosition,
3039: UINT uFlags,
3040: UINT uIDNewItem,
3041: LPCWSTR lpNewItem
1.1 root 3042: );
3043: #ifdef UNICODE
3044: #define ModifyMenu ModifyMenuW
3045: #else
3046: #define ModifyMenu ModifyMenuA
3047: #endif // !UNICODE
3048:
1.1.1.2 root 3049: BOOL
3050: WINAPI RemoveMenu(
3051: HMENU hMenu,
3052: UINT uPosition,
3053: UINT uFlags);
3054:
3055: BOOL
3056: WINAPI
3057: DeleteMenu(
3058: HMENU hMenu,
3059: UINT uPosition,
3060: UINT uFlags);
3061:
3062: BOOL
3063: WINAPI
3064: SetMenuItemBitmaps(
3065: HMENU hMenu,
3066: UINT uPosition,
3067: UINT uFlags,
3068: HBITMAP hBitmapUnchecked,
3069: HBITMAP hBitmapChecked);
3070:
3071: LONG
3072: WINAPI
3073: GetMenuCheckMarkDimensions(
3074: VOID);
3075:
3076: BOOL
3077: WINAPI
3078: TrackPopupMenu(
3079: HMENU hMenu,
3080: UINT uFlags,
3081: int x,
3082: int y,
3083: int nReserved,
3084: HWND hWnd,
3085: CONST RECT *prcRect);
1.1 root 3086:
3087: /* Flags for TrackPopupMenu */
3088: #define TPM_LEFTBUTTON 0x0000L
3089: #define TPM_RIGHTBUTTON 0x0002L
3090: #define TPM_LEFTALIGN 0x0000L
3091: #define TPM_CENTERALIGN 0x0004L
3092: #define TPM_RIGHTALIGN 0x0008L
3093:
3094: #endif /* NOMENUS */
3095:
1.1.1.2 root 3096: BOOL
3097: WINAPI
3098: DrawIcon(
3099: HDC,
3100: int,
3101: int,
3102: HICON);
3103:
3104: #ifndef NODRAWTEXT
3105:
3106: /* DrawText() Format Flags */
3107: #define DT_TOP 0x0000
3108: #define DT_LEFT 0x0000
3109: #define DT_CENTER 0x0001
3110: #define DT_RIGHT 0x0002
3111: #define DT_VCENTER 0x0004
3112: #define DT_BOTTOM 0x0008
3113: #define DT_WORDBREAK 0x0010
3114: #define DT_SINGLELINE 0x0020
3115: #define DT_EXPANDTABS 0x0040
3116: #define DT_TABSTOP 0x0080
3117: #define DT_NOCLIP 0x0100
3118: #define DT_EXTERNALLEADING 0x0200
3119: #define DT_CALCRECT 0x0400
3120: #define DT_NOPREFIX 0x0800
3121: #define DT_INTERNAL 0x1000
3122:
3123: #endif /* NODRAWTEXT */
1.1 root 3124:
3125: int
1.1.1.2 root 3126: WINAPI DrawTextA(
3127: HDC hDC,
3128: LPCSTR lpString,
3129: int nCount,
3130: LPRECT lpRect,
3131: UINT uFormat);
1.1 root 3132: int
1.1.1.2 root 3133: WINAPI DrawTextW(
3134: HDC hDC,
3135: LPCWSTR lpString,
3136: int nCount,
3137: LPRECT lpRect,
3138: UINT uFormat);
1.1 root 3139: #ifdef UNICODE
3140: #define DrawText DrawTextW
3141: #else
3142: #define DrawText DrawTextA
3143: #endif // !UNICODE
3144:
1.1.1.2 root 3145: BOOL
3146: WINAPI
3147: GrayStringA(
3148: HDC hDC,
3149: HBRUSH hBrush,
3150: GRAYSTRINGPROC lpOutputFunc,
3151: LPARAM lpData,
3152: int nCount,
3153: int X,
3154: int Y,
3155: int nWidth,
3156: int nHeight);
3157: BOOL
3158: WINAPI
3159: GrayStringW(
3160: HDC hDC,
3161: HBRUSH hBrush,
3162: GRAYSTRINGPROC lpOutputFunc,
3163: LPARAM lpData,
3164: int nCount,
3165: int X,
3166: int Y,
3167: int nWidth,
3168: int nHeight);
3169: #ifdef UNICODE
3170: #define GrayString GrayStringW
3171: #else
3172: #define GrayString GrayStringA
3173: #endif // !UNICODE
1.1 root 3174:
3175: LONG
1.1.1.2 root 3176: WINAPI
1.1 root 3177: TabbedTextOutA(
1.1.1.2 root 3178: HDC hDC,
3179: int X,
3180: int Y,
1.1.1.3 ! root 3181: LPCSTR lpString,
1.1.1.2 root 3182: int nCount,
3183: int nTabPositions,
3184: LPINT lpnTabStopPositions,
3185: int nTabOrigin);
1.1 root 3186: LONG
1.1.1.2 root 3187: WINAPI
1.1 root 3188: TabbedTextOutW(
1.1.1.2 root 3189: HDC hDC,
3190: int X,
3191: int Y,
1.1.1.3 ! root 3192: LPCWSTR lpString,
1.1.1.2 root 3193: int nCount,
3194: int nTabPositions,
3195: LPINT lpnTabStopPositions,
3196: int nTabOrigin);
1.1 root 3197: #ifdef UNICODE
3198: #define TabbedTextOut TabbedTextOutW
3199: #else
3200: #define TabbedTextOut TabbedTextOutA
3201: #endif // !UNICODE
3202:
3203: DWORD
1.1.1.2 root 3204: WINAPI
1.1 root 3205: GetTabbedTextExtentA(
1.1.1.2 root 3206: HDC hDC,
3207: LPCSTR lpString,
3208: int nCount,
3209: int nTabPositions,
3210: LPINT lpnTabStopPositions);
1.1 root 3211: DWORD
1.1.1.2 root 3212: WINAPI
1.1 root 3213: GetTabbedTextExtentW(
1.1.1.2 root 3214: HDC hDC,
3215: LPCWSTR lpString,
3216: int nCount,
3217: int nTabPositions,
3218: LPINT lpnTabStopPositions);
1.1 root 3219: #ifdef UNICODE
3220: #define GetTabbedTextExtent GetTabbedTextExtentW
3221: #else
3222: #define GetTabbedTextExtent GetTabbedTextExtentA
3223: #endif // !UNICODE
3224:
1.1.1.2 root 3225: BOOL
3226: WINAPI
3227: UpdateWindow(
3228: HWND hWnd);
3229:
3230: HWND
3231: WINAPI
3232: SetActiveWindow(
3233: HWND hWnd );
3234:
3235: HWND
3236: WINAPI
3237: GetForegroundWindow(
3238: VOID);
1.1 root 3239:
1.1.1.2 root 3240: BOOL
3241: WINAPI
3242: SetForegroundWindow(
3243: HWND hWnd);
1.1 root 3244:
1.1.1.2 root 3245: HWND
3246: WINAPI
3247: WindowFromDC(
3248: HDC hdc);
3249:
3250: HDC
3251: WINAPI
3252: GetDC(
3253: HWND hWnd );
3254:
3255: HDC
3256: WINAPI
3257: GetDCEx(
3258: HWND hwnd ,
3259: HRGN hrgnClip,
3260: DWORD flags);
1.1 root 3261:
3262: /* GetDCEx() flags */
3263: #define DCX_WINDOW 0x00000001L
3264: #define DCX_CACHE 0x00000002L
3265: #define DCX_NORESETATTRS 0x00000004L
3266: #define DCX_CLIPCHILDREN 0x00000008L
3267: #define DCX_CLIPSIBLINGS 0x00000010L
3268: #define DCX_PARENTCLIP 0x00000020L
3269:
3270: #define DCX_EXCLUDERGN 0x00000040L
3271: #define DCX_INTERSECTRGN 0x00000080L
3272:
3273: #define DCX_EXCLUDEUPDATE 0x00000100L
3274: #define DCX_INTERSECTUPDATE 0x00000200L
3275:
3276: #define DCX_LOCKWINDOWUPDATE 0x00000400L
3277:
3278:
3279: #define DCX_USESTYLE 0x00010000L
3280: #define DCX_NORECOMPUTE 0x00100000L
3281: #define DCX_VALIDATE 0x00200000L
3282:
3283:
3284:
1.1.1.2 root 3285: HDC
3286: WINAPI
3287: GetWindowDC(
3288: HWND hWnd );
3289:
3290: int
3291: WINAPI
3292: ReleaseDC(
3293: HWND hWnd,
3294: HDC hDC);
3295:
3296: HDC
3297: WINAPI
3298: BeginPaint(
3299: HWND hWnd,
3300: LPPAINTSTRUCT lpPaint);
3301:
3302: BOOL
3303: WINAPI
3304: EndPaint(
3305: HWND hWnd,
1.1.1.3 ! root 3306: CONST PAINTSTRUCT *lpPaint);
1.1.1.2 root 3307:
3308: BOOL
3309: WINAPI
3310: GetUpdateRect(
3311: HWND hWnd,
3312: LPRECT lpRect,
3313: BOOL bErase);
3314:
3315: int
3316: WINAPI
3317: GetUpdateRgn(
3318: HWND hWnd,
3319: HRGN hRgn,
3320: BOOL bErase);
3321:
3322: int
3323: WINAPI
3324: ExcludeUpdateRgn(
3325: HDC hDC,
3326: HWND hWnd);
3327:
3328: BOOL
3329: WINAPI
3330: InvalidateRect(
3331: HWND hWnd ,
3332: CONST RECT *lpRect,
3333: BOOL bErase);
3334:
3335: BOOL
3336: WINAPI
3337: ValidateRect(
3338: HWND hWnd ,
3339: CONST RECT *lpRect);
3340:
3341: BOOL
3342: WINAPI
3343: InvalidateRgn(
3344: HWND hWnd,
3345: HRGN hRgn,
3346: BOOL bErase);
3347:
3348: BOOL
3349: WINAPI
3350: ValidateRgn(
3351: HWND hWnd,
3352: HRGN hRgn);
3353:
3354:
3355: BOOL WINAPI RedrawWindow(
3356: HWND hwnd,
3357: CONST RECT *lprcUpdate,
3358: HRGN hrgnUpdate,
3359: UINT flags);
1.1 root 3360:
3361: /* RedrawWindow() flags */
3362: #define RDW_INVALIDATE 0x0001
3363: #define RDW_INTERNALPAINT 0x0002
3364: #define RDW_ERASE 0x0004
3365:
3366: #define RDW_VALIDATE 0x0008
3367: #define RDW_NOINTERNALPAINT 0x0010
3368: #define RDW_NOERASE 0x0020
3369:
3370: #define RDW_NOCHILDREN 0x0040
3371: #define RDW_ALLCHILDREN 0x0080
3372:
3373: #define RDW_UPDATENOW 0x0100
3374: #define RDW_ERASENOW 0x0200
3375:
3376:
3377: /* LockWindowUpdate API */
1.1.1.2 root 3378: BOOL
3379: WINAPI
3380: LockWindowUpdate(
3381: HWND hwndLock);
3382:
3383: BOOL
3384: WINAPI
3385: ScrollWindow(
3386: HWND hWnd,
3387: int XAmount,
3388: int YAmount,
3389: CONST RECT *lpRect,
3390: CONST RECT *lpClipRect);
3391:
3392: BOOL
3393: WINAPI
3394: ScrollDC(
3395: HDC hDC,
3396: int dx,
3397: int dy,
3398: CONST RECT *lprcScroll,
3399: CONST RECT *lprcClip ,
3400: HRGN hrgnUpdate,
3401: LPRECT lprcUpdate);
1.1 root 3402:
1.1.1.2 root 3403: int
3404: WINAPI
3405: ScrollWindowEx(
3406: HWND hwnd,
3407: int dx,
3408: int dy,
3409: CONST RECT *prcScroll,
3410: CONST RECT *prcClip ,
3411: HRGN hrgnUpdate,
3412: LPRECT prcUpdate,
3413: UINT flags);
1.1 root 3414:
3415: #define SW_SCROLLCHILDREN 0x0001 /* Scroll children within *lprcScroll. */
3416: #define SW_INVALIDATE 0x0002 /* Invalidate after scrolling */
3417: #define SW_ERASE 0x0004 /* If SW_INVALIDATE, don't send WM_ERASEBACKGROUND */
3418:
3419:
3420: #ifndef NOSCROLL
1.1.1.2 root 3421: int
3422: WINAPI
3423: SetScrollPos(
3424: HWND hWnd,
3425: int nBar,
3426: int nPos,
3427: BOOL bRedraw);
3428:
3429: int
3430: WINAPI
3431: GetScrollPos(
3432: HWND hWnd,
3433: int nBar);
3434:
3435: BOOL
3436: WINAPI
3437: SetScrollRange(
3438: HWND hWnd,
3439: int nBar,
3440: int nMinPos,
3441: int nMaxPos,
3442: BOOL bRedraw);
3443:
3444: BOOL
3445: WINAPI
3446: GetScrollRange(
3447: HWND hWnd,
3448: int nBar,
3449: LPINT lpMinPos,
3450: LPINT lpMaxPos);
3451:
3452: BOOL
3453: WINAPI
3454: ShowScrollBar(
3455: HWND hWnd,
3456: int wBar,
3457: BOOL bShow);
3458:
3459: BOOL
3460: WINAPI
3461: EnableScrollBar(
3462: HWND hwnd,
3463: UINT wSBflags,
3464: UINT wArrows);
1.1.1.3 ! root 3465:
! 3466:
! 3467: /* EnableScrollBar() flags */
! 3468: #define ESB_ENABLE_BOTH 0x0000
! 3469: #define ESB_DISABLE_BOTH 0x0003
! 3470:
! 3471: #define ESB_DISABLE_LEFT 0x0001
! 3472: #define ESB_DISABLE_RIGHT 0x0002
! 3473:
! 3474: #define ESB_DISABLE_UP 0x0001
! 3475: #define ESB_DISABLE_DOWN 0x0002
! 3476:
! 3477: #define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
! 3478: #define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
! 3479:
! 3480:
! 3481: #endif /* NOSCROLL */
1.1 root 3482:
3483: BOOL
1.1.1.2 root 3484: WINAPI
1.1 root 3485: SetPropA(
1.1.1.2 root 3486: HWND hWnd,
3487: LPCSTR lpString,
3488: HANDLE hData);
1.1 root 3489: BOOL
1.1.1.2 root 3490: WINAPI
1.1 root 3491: SetPropW(
1.1.1.2 root 3492: HWND hWnd,
3493: LPCWSTR lpString,
3494: HANDLE hData);
1.1 root 3495: #ifdef UNICODE
3496: #define SetProp SetPropW
3497: #else
3498: #define SetProp SetPropA
3499: #endif // !UNICODE
3500:
3501: HANDLE
1.1.1.2 root 3502: WINAPI
1.1 root 3503: GetPropA(
1.1.1.2 root 3504: HWND hWnd,
3505: LPCSTR lpString);
1.1 root 3506: HANDLE
1.1.1.2 root 3507: WINAPI
1.1 root 3508: GetPropW(
1.1.1.2 root 3509: HWND hWnd,
3510: LPCWSTR lpString);
1.1 root 3511: #ifdef UNICODE
3512: #define GetProp GetPropW
3513: #else
3514: #define GetProp GetPropA
3515: #endif // !UNICODE
3516:
3517: HANDLE
1.1.1.2 root 3518: WINAPI
1.1 root 3519: RemovePropA(
1.1.1.2 root 3520: HWND hWnd,
3521: LPCSTR lpString);
1.1 root 3522: HANDLE
1.1.1.2 root 3523: WINAPI
1.1 root 3524: RemovePropW(
1.1.1.2 root 3525: HWND hWnd,
3526: LPCWSTR lpString);
1.1 root 3527: #ifdef UNICODE
3528: #define RemoveProp RemovePropW
3529: #else
3530: #define RemoveProp RemovePropA
3531: #endif // !UNICODE
3532:
3533: int
1.1.1.2 root 3534: WINAPI
1.1 root 3535: EnumPropsExA(
1.1.1.2 root 3536: HWND hWnd,
3537: PROPENUMPROC lpEnumFunc,
3538: LPARAM lParam);
1.1 root 3539: int
1.1.1.2 root 3540: WINAPI
1.1 root 3541: EnumPropsExW(
1.1.1.2 root 3542: HWND hWnd,
3543: PROPENUMPROC lpEnumFunc,
3544: LPARAM lParam);
1.1 root 3545: #ifdef UNICODE
3546: #define EnumPropsEx EnumPropsExW
3547: #else
3548: #define EnumPropsEx EnumPropsExA
3549: #endif // !UNICODE
3550:
3551: int
1.1.1.2 root 3552: WINAPI
1.1 root 3553: EnumPropsA(
1.1.1.2 root 3554: HWND hWnd,
3555: PROPENUMPROC lpEnumFunc);
1.1 root 3556: int
1.1.1.2 root 3557: WINAPI
1.1 root 3558: EnumPropsW(
1.1.1.2 root 3559: HWND hWnd,
3560: PROPENUMPROC lpEnumFunc);
1.1 root 3561: #ifdef UNICODE
3562: #define EnumProps EnumPropsW
3563: #else
3564: #define EnumProps EnumPropsA
3565: #endif // !UNICODE
3566:
3567: BOOL
1.1.1.2 root 3568: WINAPI
1.1 root 3569: SetWindowTextA(
1.1.1.2 root 3570: HWND hWnd,
3571: LPCSTR lpString);
1.1 root 3572: BOOL
1.1.1.2 root 3573: WINAPI
1.1 root 3574: SetWindowTextW(
1.1.1.2 root 3575: HWND hWnd,
3576: LPCWSTR lpString);
1.1 root 3577: #ifdef UNICODE
3578: #define SetWindowText SetWindowTextW
3579: #else
3580: #define SetWindowText SetWindowTextA
3581: #endif // !UNICODE
3582:
3583: int
1.1.1.2 root 3584: WINAPI
1.1 root 3585: GetWindowTextA(
1.1.1.2 root 3586: HWND hWnd,
3587: LPSTR lpString,
3588: int nMaxCount);
1.1 root 3589: int
1.1.1.2 root 3590: WINAPI
1.1 root 3591: GetWindowTextW(
1.1.1.2 root 3592: HWND hWnd,
3593: LPWSTR lpString,
3594: int nMaxCount);
1.1 root 3595: #ifdef UNICODE
3596: #define GetWindowText GetWindowTextW
3597: #else
3598: #define GetWindowText GetWindowTextA
3599: #endif // !UNICODE
3600:
1.1.1.2 root 3601: int
3602: WINAPI
3603: GetWindowTextLengthA(
3604: HWND hWnd);
3605: int
3606: WINAPI
3607: GetWindowTextLengthW(
3608: HWND hWnd);
3609: #ifdef UNICODE
3610: #define GetWindowTextLength GetWindowTextLengthW
3611: #else
3612: #define GetWindowTextLength GetWindowTextLengthA
3613: #endif // !UNICODE
3614:
3615: BOOL
3616: WINAPI
3617: GetClientRect(
3618: HWND hWnd,
3619: LPRECT lpRect);
3620:
3621: BOOL
3622: WINAPI
3623: GetWindowRect(
3624: HWND hWnd,
3625: LPRECT lpRect);
3626:
3627: BOOL
3628: WINAPI
3629: AdjustWindowRect(
3630: LPRECT lpRect,
3631: DWORD dwStyle,
3632: BOOL bMenu);
1.1 root 3633:
1.1.1.2 root 3634: BOOL
3635: WINAPI
3636: AdjustWindowRectEx(
3637: LPRECT lpRect,
3638: DWORD dwStyle,
3639: BOOL bMenu,
3640: DWORD dwExStyle);
1.1 root 3641:
3642: #ifndef NOMB
3643:
3644: /* MessageBox() Flags */
1.1.1.3 ! root 3645: #define MB_OK 0x0000L
! 3646: #define MB_OKCANCEL 0x0001L
! 3647: #define MB_ABORTRETRYIGNORE 0x0002L
! 3648: #define MB_YESNOCANCEL 0x0003L
! 3649: #define MB_YESNO 0x0004L
! 3650: #define MB_RETRYCANCEL 0x0005L
! 3651:
! 3652: #define MB_ICONHAND 0x0010L
! 3653: #define MB_ICONQUESTION 0x0020L
! 3654: #define MB_ICONEXCLAMATION 0x0030L
! 3655: #define MB_ICONASTERISK 0x0040L
! 3656:
! 3657: #define MB_ICONINFORMATION MB_ICONASTERISK
! 3658: #define MB_ICONSTOP MB_ICONHAND
! 3659:
! 3660: #define MB_DEFBUTTON1 0x0000L
! 3661: #define MB_DEFBUTTON2 0x0100L
! 3662: #define MB_DEFBUTTON3 0x0200L
! 3663:
! 3664: #define MB_APPLMODAL 0x0000L
! 3665: #define MB_SYSTEMMODAL 0x1000L
! 3666: #define MB_TASKMODAL 0x2000L
! 3667:
! 3668: #define MB_NOFOCUS 0x8000L
! 3669: #define MB_SETFOREGROUND 0x10000L
! 3670: #define MB_DEFAULT_DESKTOP_ONLY 0x20000L
! 3671:
! 3672: #define MB_TYPEMASK 0x000FL
! 3673: #define MB_ICONMASK 0x00F0L
! 3674: #define MB_DEFMASK 0x0F00L
! 3675: #define MB_MODEMASK 0x3000L
! 3676: #define MB_MISCMASK 0xC000L
1.1 root 3677:
3678: int
1.1.1.2 root 3679: WINAPI
3680: MessageBoxExA(
3681: HWND hWnd ,
3682: LPCSTR lpText,
3683: LPCSTR lpCaption ,
3684: UINT uType,
3685: WORD wLanguageId);
1.1 root 3686: int
1.1.1.2 root 3687: WINAPI
3688: MessageBoxExW(
3689: HWND hWnd ,
3690: LPCWSTR lpText,
3691: LPCWSTR lpCaption ,
3692: UINT uType,
3693: WORD wLanguageId);
3694: #ifdef UNICODE
3695: #define MessageBoxEx MessageBoxExW
3696: #else
3697: #define MessageBoxEx MessageBoxExA
3698: #endif // !UNICODE
3699:
3700: #define MessageBoxA(hWnd, lpText, lpCaption, uType) \
3701: MessageBoxExA(hWnd, lpText, lpCaption, uType, 0)
3702: #define MessageBoxW(hWnd, lpText, lpCaption, uType) \
3703: MessageBoxExW(hWnd, lpText, lpCaption, uType, 0)
1.1 root 3704: #ifdef UNICODE
3705: #define MessageBox MessageBoxW
3706: #else
3707: #define MessageBox MessageBoxA
3708: #endif // !UNICODE
3709:
1.1.1.2 root 3710: BOOL
3711: WINAPI
3712: MessageBeep(
3713: UINT uType);
1.1 root 3714:
3715: #endif /* NOMB */
3716:
1.1.1.2 root 3717: int
3718: WINAPI
3719: ShowCursor(
3720: BOOL bShow);
3721:
3722: BOOL
3723: WINAPI
3724: SetCursorPos(
3725: int X,
3726: int Y);
3727:
3728: HCURSOR
3729: WINAPI
3730: SetCursor(
3731: HCURSOR hCursor );
3732:
3733: BOOL
3734: WINAPI
3735: GetCursorPos(
3736: LPPOINT lpPoint);
3737:
3738: BOOL
3739: WINAPI
3740: ClipCursor(
3741: CONST RECT *lpRect );
3742:
3743: BOOL
3744: WINAPI
3745: GetClipCursor(
3746: LPRECT lpRect);
3747:
3748: HCURSOR
3749: WINAPI
3750: GetCursor(
3751: VOID);
3752:
3753: BOOL
3754: WINAPI
3755: CreateCaret(
3756: HWND hWnd,
3757: HBITMAP hBitmap ,
3758: int nWidth,
3759: int nHeight);
3760:
3761: UINT
3762: WINAPI
3763: GetCaretBlinkTime(
3764: VOID);
3765:
3766: BOOL
3767: WINAPI
3768: SetCaretBlinkTime(
3769: UINT uMSeconds);
3770:
3771: BOOL
3772: WINAPI
3773: DestroyCaret(
3774: VOID);
3775:
3776: BOOL
3777: WINAPI
3778: HideCaret(
3779: HWND hWnd );
3780:
3781: BOOL
3782: WINAPI
3783: ShowCaret(
3784: HWND hWnd );
3785:
3786: BOOL
3787: WINAPI
3788: SetCaretPos(
3789: int X,
3790: int Y);
3791:
3792: BOOL
3793: WINAPI
3794: GetCaretPos(
3795: LPPOINT lpPoint);
3796:
3797: BOOL
3798: WINAPI
3799: ClientToScreen(
3800: HWND hWnd,
3801: LPPOINT lpPoint);
3802:
3803: BOOL
3804: WINAPI
3805: ScreenToClient(
3806: HWND hWnd,
3807: LPPOINT lpPoint);
3808:
3809: int
3810: WINAPI
3811: MapWindowPoints(
3812: HWND hWndFrom,
3813: HWND hWndTo,
3814: LPPOINT lpPoints,
3815: UINT cPoints);
3816:
3817: HWND
3818: WINAPI
3819: WindowFromPoint(
3820: POINT Point);
3821:
3822: HWND
3823: WINAPI
3824: ChildWindowFromPoint(
3825: HWND hWndParent,
3826: POINT Point);
1.1 root 3827:
3828: #ifndef NOCOLOR
3829:
3830: /* Color Types */
3831: #define CTLCOLOR_MSGBOX 0
3832: #define CTLCOLOR_EDIT 1
3833: #define CTLCOLOR_LISTBOX 2
3834: #define CTLCOLOR_BTN 3
3835: #define CTLCOLOR_DLG 4
3836: #define CTLCOLOR_SCROLLBAR 5
3837: #define CTLCOLOR_STATIC 6
3838: #define CTLCOLOR_MAX 8 /* three bits max */
3839:
3840: #define COLOR_SCROLLBAR 0
3841: #define COLOR_BACKGROUND 1
3842: #define COLOR_ACTIVECAPTION 2
3843: #define COLOR_INACTIVECAPTION 3
3844: #define COLOR_MENU 4
3845: #define COLOR_WINDOW 5
3846: #define COLOR_WINDOWFRAME 6
3847: #define COLOR_MENUTEXT 7
3848: #define COLOR_WINDOWTEXT 8
3849: #define COLOR_CAPTIONTEXT 9
3850: #define COLOR_ACTIVEBORDER 10
3851: #define COLOR_INACTIVEBORDER 11
3852: #define COLOR_APPWORKSPACE 12
3853: #define COLOR_HIGHLIGHT 13
3854: #define COLOR_HIGHLIGHTTEXT 14
3855: #define COLOR_BTNFACE 15
3856: #define COLOR_BTNSHADOW 16
3857: #define COLOR_GRAYTEXT 17
3858: #define COLOR_BTNTEXT 18
3859: #define COLOR_INACTIVECAPTIONTEXT 19
3860: #define COLOR_BTNHIGHLIGHT 20
3861: #define COLOR_ENDCOLORS COLOR_BTNHIGHLIGHT
1.1.1.2 root 3862: #define COLOR_MAX 20
3863:
3864: DWORD
3865: WINAPI
3866: GetSysColor(
3867: int nIndex);
1.1 root 3868:
1.1.1.2 root 3869: BOOL
3870: WINAPI
3871: SetSysColors(
3872: int,
3873: CONST INT *,
3874: CONST COLORREF *);
1.1 root 3875:
3876: #endif /* NOCOLOR */
3877:
1.1.1.2 root 3878: BOOL
3879: WINAPI
3880: DrawFocusRect(
3881: HDC,
3882: CONST RECT *);
3883:
3884: int
3885: WINAPI
3886: FillRect(
3887: HDC hdc,
3888: CONST RECT *lprc,
3889: HBRUSH hbr);
3890:
3891: int
3892: WINAPI
3893: FrameRect(
3894: HDC hdc,
3895: CONST RECT *lprc,
3896: HBRUSH hbr);
3897:
3898: BOOL
3899: WINAPI
3900: InvertRect(
3901: HDC hdc,
3902: CONST RECT *lprc);
3903:
3904: BOOL
3905: WINAPI
3906: SetRect(
3907: LPRECT,
3908: int,
3909: int,
3910: int,
3911: int);
3912:
3913: BOOL
3914: WINAPI
3915: SetRectEmpty(
3916: LPRECT);
3917:
3918: int
3919: WINAPI
3920: CopyRect(
3921: LPRECT,
3922: CONST RECT *);
3923:
3924: BOOL
3925: WINAPI
3926: InflateRect(
3927: LPRECT,
3928: int,
3929: int);
3930:
3931: int
3932: WINAPI
3933: IntersectRect(
3934: LPRECT,
3935: CONST RECT *,
3936: CONST RECT *);
3937:
3938: BOOL
3939: WINAPI
3940: UnionRect(
3941: LPRECT,
3942: CONST RECT *,
3943: CONST RECT *);
3944:
3945: BOOL
3946: WINAPI
1.1.1.3 ! root 3947: SubtractRect(
! 3948: LPRECT,
! 3949: CONST RECT *,
! 3950: CONST RECT *);
! 3951:
! 3952: BOOL
! 3953: WINAPI
1.1.1.2 root 3954: OffsetRect(
3955: LPRECT,
3956: int,
3957: int);
3958:
3959: BOOL
3960: WINAPI
3961: IsRectEmpty(
3962: CONST RECT *lprc);
3963:
3964: BOOL
3965: WINAPI
3966: EqualRect(
3967: CONST RECT *,
3968: CONST RECT *);
3969:
3970: BOOL
3971: WINAPI
3972: PtInRect(
3973: CONST RECT *,
3974: POINT);
1.1 root 3975:
3976: #ifndef NOWINOFFSETS
3977:
1.1.1.2 root 3978: WORD
3979: WINAPI
3980: GetWindowWord(
3981: HWND hWnd,
3982: int nIndex);
3983:
3984: WORD
3985: WINAPI
3986: SetWindowWord(
3987: HWND hWnd,
3988: int nIndex,
3989: WORD wNewWord);
3990:
3991: LONG
3992: WINAPI
3993: GetWindowLongA(
3994: HWND hWnd,
3995: int nIndex);
3996: LONG
3997: WINAPI
3998: GetWindowLongW(
3999: HWND hWnd,
4000: int nIndex);
4001: #ifdef UNICODE
4002: #define GetWindowLong GetWindowLongW
4003: #else
4004: #define GetWindowLong GetWindowLongA
4005: #endif // !UNICODE
4006:
4007: LONG
4008: WINAPI
4009: SetWindowLongA(
4010: HWND hWnd,
4011: int nIndex,
4012: LONG dwNewLong);
4013: LONG
4014: WINAPI
4015: SetWindowLongW(
4016: HWND hWnd,
4017: int nIndex,
4018: LONG dwNewLong);
4019: #ifdef UNICODE
4020: #define SetWindowLong SetWindowLongW
4021: #else
4022: #define SetWindowLong SetWindowLongA
4023: #endif // !UNICODE
4024:
4025: WORD
4026: WINAPI
4027: GetClassWord(
4028: HWND hWnd,
4029: int nIndex);
4030:
4031: WORD
4032: WINAPI
4033: SetClassWord(
4034: HWND hWnd,
4035: int nIndex,
4036: WORD wNewWord);
4037:
4038: DWORD
4039: WINAPI
4040: GetClassLongA(
4041: HWND hWnd,
4042: int nIndex);
4043: DWORD
4044: WINAPI
4045: GetClassLongW(
4046: HWND hWnd,
4047: int nIndex);
4048: #ifdef UNICODE
4049: #define GetClassLong GetClassLongW
4050: #else
4051: #define GetClassLong GetClassLongA
4052: #endif // !UNICODE
4053:
4054: DWORD
4055: WINAPI
4056: SetClassLongA(
4057: HWND hWnd,
4058: int nIndex,
4059: LONG dwNewLong);
4060: DWORD
4061: WINAPI
4062: SetClassLongW(
4063: HWND hWnd,
4064: int nIndex,
4065: LONG dwNewLong);
4066: #ifdef UNICODE
4067: #define SetClassLong SetClassLongW
4068: #else
4069: #define SetClassLong SetClassLongA
4070: #endif // !UNICODE
4071:
4072: HWND
4073: WINAPI
4074: GetDesktopWindow(
4075: VOID);
4076:
4077: BOOL
4078: WINAPI
4079: SetDeskWallpaper(
1.1.1.3 ! root 4080: LPCSTR lpString );
1.1 root 4081:
4082: #endif /* NOWINOFFSETS */
4083:
1.1.1.2 root 4084: HWND
4085: WINAPI
4086: GetParent(
4087: HWND hWnd);
4088:
4089: HWND
4090: WINAPI
4091: SetParent(
4092: HWND hWndChild,
4093: HWND hWndNewParent);
4094:
4095: BOOL
4096: WINAPI
4097: EnumChildWindows(
4098: HWND hWndParent,
4099: WNDENUMPROC lpEnumFunc,
4100: LPARAM lParam);
1.1 root 4101:
4102: HWND
1.1.1.2 root 4103: WINAPI
1.1 root 4104: FindWindowA(
1.1.1.2 root 4105: LPCSTR lpClassName ,
4106: LPCSTR lpWindowName);
1.1 root 4107: HWND
1.1.1.2 root 4108: WINAPI
1.1 root 4109: FindWindowW(
1.1.1.2 root 4110: LPCWSTR lpClassName ,
4111: LPCWSTR lpWindowName);
1.1 root 4112: #ifdef UNICODE
4113: #define FindWindow FindWindowW
4114: #else
4115: #define FindWindow FindWindowA
4116: #endif // !UNICODE
4117:
1.1.1.2 root 4118: BOOL
4119: WINAPI
4120: EnumWindows(
4121: WNDENUMPROC lpEnumFunc,
4122: LPARAM lParam);
4123:
4124: BOOL
4125: WINAPI
4126: EnumThreadWindows(
4127: DWORD dwThreadId,
4128: WNDENUMPROC lpfn,
4129: LPARAM lParam);
4130:
1.1 root 4131: #define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows((DWORD)hTask, lpfn, lParam)
4132:
4133: int
1.1.1.2 root 4134: WINAPI
1.1 root 4135: GetClassNameA(
1.1.1.2 root 4136: HWND hWnd,
4137: LPSTR lpClassName,
4138: int nMaxCount);
1.1 root 4139: int
1.1.1.2 root 4140: WINAPI
1.1 root 4141: GetClassNameW(
1.1.1.2 root 4142: HWND hWnd,
4143: LPWSTR lpClassName,
4144: int nMaxCount);
1.1 root 4145: #ifdef UNICODE
4146: #define GetClassName GetClassNameW
4147: #else
4148: #define GetClassName GetClassNameA
4149: #endif // !UNICODE
4150:
1.1.1.2 root 4151: HWND
4152: WINAPI
4153: GetTopWindow(
4154: HWND hWnd);
4155:
1.1 root 4156: #define GetNextWindow(hwnd, wCmd) GetWindow(hwnd, wCmd)
4157: #define GetSysModalWindow() (NULL)
4158: #define SetSysModalWindow(hwnd) (NULL)
1.1.1.2 root 4159:
4160: DWORD
4161: WINAPI
4162: GetWindowThreadProcessId(
4163: HWND hWnd,
4164: LPDWORD lpdwProcessId );
4165:
1.1 root 4166: #define GetWindowTask(hwnd)\
4167: ((HANDLE)GetWindowThreadProcessId(hwnd, NULL))
4168:
1.1.1.2 root 4169: HWND
4170: WINAPI
4171: GetLastActivePopup(
4172: HWND hWnd);
1.1 root 4173:
4174: /* GetWindow() Constants */
4175: #define GW_HWNDFIRST 0
4176: #define GW_HWNDLAST 1
4177: #define GW_HWNDNEXT 2
4178: #define GW_HWNDPREV 3
4179: #define GW_OWNER 4
4180: #define GW_CHILD 5
1.1.1.2 root 4181: #define GW_MAX 5
1.1 root 4182:
1.1.1.2 root 4183: HWND
4184: WINAPI
4185: GetWindow(
4186: HWND hWnd,
4187: UINT uCmd);
1.1 root 4188:
4189: #ifndef NOWH
4190:
1.1.1.3 ! root 4191: #ifdef STRICT
1.1.1.2 root 4192: HHOOK
4193: WINAPI
1.1 root 4194: SetWindowsHookA(
1.1.1.2 root 4195: int nFilterType,
4196: HOOKPROC pfnFilterProc);
4197: HHOOK
4198: WINAPI
1.1 root 4199: SetWindowsHookW(
1.1.1.2 root 4200: int nFilterType,
1.1.1.3 ! root 4201: HOOKPROC fnFilterProc);
! 4202: #else
! 4203: HOOKPROC
! 4204: WINAPI
! 4205: SetWindowsHookA(
! 4206: int nFilterType,
1.1.1.2 root 4207: HOOKPROC pfnFilterProc);
1.1.1.3 ! root 4208: HOOKPROC
! 4209: WINAPI
! 4210: SetWindowsHookW(
! 4211: int nFilterType,
! 4212: HOOKPROC fnFilterProc);
! 4213: #endif
1.1 root 4214: #ifdef UNICODE
4215: #define SetWindowsHook SetWindowsHookW
4216: #else
4217: #define SetWindowsHook SetWindowsHookA
4218: #endif // !UNICODE
4219:
1.1.1.2 root 4220: BOOL
4221: WINAPI
4222: UnhookWindowsHook(
4223: int nCode,
4224: HOOKPROC pfnFilterProc);
1.1 root 4225:
4226: HHOOK
1.1.1.2 root 4227: WINAPI
1.1 root 4228: SetWindowsHookExA(
1.1.1.2 root 4229: int idHook,
4230: HOOKPROC lpfn,
1.1.1.3 ! root 4231: HINSTANCE hmod,
1.1.1.2 root 4232: DWORD dwThreadId);
1.1 root 4233: HHOOK
1.1.1.2 root 4234: WINAPI
1.1 root 4235: SetWindowsHookExW(
1.1.1.2 root 4236: int idHook,
4237: HOOKPROC lpfn,
1.1.1.3 ! root 4238: HINSTANCE hmod,
1.1.1.2 root 4239: DWORD dwThreadId);
1.1 root 4240: #ifdef UNICODE
4241: #define SetWindowsHookEx SetWindowsHookExW
4242: #else
4243: #define SetWindowsHookEx SetWindowsHookExA
4244: #endif // !UNICODE
4245:
1.1.1.2 root 4246: BOOL
4247: WINAPI
4248: UnhookWindowsHookEx(
4249: HHOOK hhk);
4250:
4251: LRESULT
4252: WINAPI CallNextHookEx(
4253: HHOOK hhk,
4254: int nCode,
4255: WPARAM wParam,
4256: LPARAM lParam);
1.1 root 4257:
4258: /*
4259: * Macros for source-level compatibility with old functions.
4260: */
1.1.1.2 root 4261: #define DefHookProc(nCode, wParam, lParam, phhk)\
4262: CallNextHookEx(*phhk, nCode, wParam, lParam)
1.1 root 4263: #endif
4264:
4265: #ifndef NOMENUS
4266:
4267: /* Menu flags for Add/Check/EnableMenuItem() */
4268: #define MF_INSERT 0x00000000L
4269: #define MF_CHANGE 0x00000080L
4270: #define MF_APPEND 0x00000100L
4271: #define MF_DELETE 0x00000200L
4272: #define MF_REMOVE 0x00001000L
4273:
4274: #define MF_BYCOMMAND 0x00000000L
4275: #define MF_BYPOSITION 0x00000400L
4276:
4277:
4278: #define MF_SEPARATOR 0x00000800L
4279:
4280: #define MF_ENABLED 0x00000000L
4281: #define MF_GRAYED 0x00000001L
4282: #define MF_DISABLED 0x00000002L
4283:
4284: #define MF_UNCHECKED 0x00000000L
4285: #define MF_CHECKED 0x00000008L
4286: #define MF_USECHECKBITMAPS 0x00000200L
4287:
4288: #define MF_STRING 0x00000000L
4289: #define MF_BITMAP 0x00000004L
4290: #define MF_OWNERDRAW 0x00000100L
4291:
4292: #define MF_POPUP 0x00000010L
4293: #define MF_MENUBARBREAK 0x00000020L
4294: #define MF_MENUBREAK 0x00000040L
4295:
4296: #define MF_UNHILITE 0x00000000L
4297: #define MF_HILITE 0x00000080L
4298:
4299: #define MF_SYSMENU 0x00002000L
4300: #define MF_HELP 0x00004000L
4301: #define MF_MOUSESELECT 0x00008000L
4302:
4303: /* Menu item resource format */
4304: typedef struct {
4305: WORD versionNumber;
4306: WORD offset;
4307: } MENUITEMTEMPLATEHEADER;
4308:
4309: typedef struct {
4310: WORD mtOption;
4311: WORD mtID;
4312: char mtString[1];
4313: } MENUITEMTEMPLATE;
4314:
4315: #define MF_END 0x00000080L
4316:
4317: #endif /* NOMENUS */
4318:
4319: #ifndef NOSYSCOMMANDS
4320:
4321: /* System Menu Command Values */
4322: #define SC_SIZE 0xF000
4323: #define SC_MOVE 0xF010
4324: #define SC_MINIMIZE 0xF020
4325: #define SC_MAXIMIZE 0xF030
4326: #define SC_NEXTWINDOW 0xF040
4327: #define SC_PREVWINDOW 0xF050
4328: #define SC_CLOSE 0xF060
4329: #define SC_VSCROLL 0xF070
4330: #define SC_HSCROLL 0xF080
4331: #define SC_MOUSEMENU 0xF090
4332: #define SC_KEYMENU 0xF100
4333: #define SC_ARRANGE 0xF110
4334: #define SC_RESTORE 0xF120
4335: #define SC_TASKLIST 0xF130
4336: #define SC_SCREENSAVE 0xF140
4337: #define SC_HOTKEY 0xF150
4338:
1.1.1.2 root 4339: /* Obsolete names */
1.1 root 4340: #define SC_ICON SC_MINIMIZE
4341: #define SC_ZOOM SC_MAXIMIZE
4342:
4343: #endif /* NOSYSCOMMANDS */
4344:
4345: /* Resource Loading Routines */
4346:
4347: HBITMAP
1.1.1.2 root 4348: WINAPI
1.1 root 4349: LoadBitmapA(
1.1.1.3 ! root 4350: HINSTANCE hInstance,
1.1.1.2 root 4351: LPCSTR lpBitmapName);
1.1 root 4352: HBITMAP
1.1.1.2 root 4353: WINAPI
1.1 root 4354: LoadBitmapW(
1.1.1.3 ! root 4355: HINSTANCE hInstance,
1.1.1.2 root 4356: LPCWSTR lpBitmapName);
1.1 root 4357: #ifdef UNICODE
4358: #define LoadBitmap LoadBitmapW
4359: #else
4360: #define LoadBitmap LoadBitmapA
4361: #endif // !UNICODE
4362:
4363: HCURSOR
1.1.1.2 root 4364: WINAPI
1.1 root 4365: LoadCursorA(
1.1.1.3 ! root 4366: HINSTANCE hInstance,
1.1.1.2 root 4367: LPCSTR lpCursorName);
1.1 root 4368: HCURSOR
1.1.1.2 root 4369: WINAPI
1.1 root 4370: LoadCursorW(
1.1.1.3 ! root 4371: HINSTANCE hInstance,
1.1.1.2 root 4372: LPCWSTR lpCursorName);
1.1 root 4373: #ifdef UNICODE
4374: #define LoadCursor LoadCursorW
4375: #else
4376: #define LoadCursor LoadCursorA
4377: #endif // !UNICODE
4378:
1.1.1.2 root 4379: HCURSOR
4380: WINAPI
4381: CreateCursor(
1.1.1.3 ! root 4382: HINSTANCE,
1.1.1.2 root 4383: int,
4384: int,
4385: int,
4386: int,
4387: CONST VOID *,
4388: CONST VOID *);
4389:
4390: BOOL
4391: WINAPI
4392: DestroyCursor(
4393: HCURSOR);
4394:
4395: #define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur)))
1.1 root 4396:
4397: /* Standard Cursor IDs */
4398: #define IDC_ARROW MAKEINTRESOURCE(32512)
4399: #define IDC_IBEAM MAKEINTRESOURCE(32513)
4400: #define IDC_WAIT MAKEINTRESOURCE(32514)
4401: #define IDC_CROSS MAKEINTRESOURCE(32515)
4402: #define IDC_UPARROW MAKEINTRESOURCE(32516)
4403: #define IDC_SIZE MAKEINTRESOURCE(32640)
4404: #define IDC_ICON MAKEINTRESOURCE(32641)
4405: #define IDC_SIZENWSE MAKEINTRESOURCE(32642)
4406: #define IDC_SIZENESW MAKEINTRESOURCE(32643)
4407: #define IDC_SIZEWE MAKEINTRESOURCE(32644)
4408: #define IDC_SIZENS MAKEINTRESOURCE(32645)
1.1.1.2 root 4409: #define IDC_SIZEALL MAKEINTRESOURCE(32646) //not in win3.1
4410: #define IDC_NO MAKEINTRESOURCE(32648) //not in win3.1
1.1.1.3 ! root 4411: #define IDC_APPSTARTING MAKEINTRESOURCE(32650) //not in win3.1
1.1 root 4412:
4413: typedef struct _ICONINFO {
4414: BOOL fIcon;
4415: DWORD xHotspot;
4416: DWORD yHotspot;
4417: HBITMAP hbmMask;
4418: HBITMAP hbmColor;
4419: } ICONINFO;
4420: typedef ICONINFO *PICONINFO;
4421:
4422: HICON
1.1.1.2 root 4423: WINAPI
1.1 root 4424: LoadIconA(
1.1.1.3 ! root 4425: HINSTANCE hInstance,
1.1.1.2 root 4426: LPCSTR lpIconName);
1.1 root 4427: HICON
1.1.1.2 root 4428: WINAPI
1.1 root 4429: LoadIconW(
1.1.1.3 ! root 4430: HINSTANCE hInstance,
1.1.1.2 root 4431: LPCWSTR lpIconName);
1.1 root 4432: #ifdef UNICODE
4433: #define LoadIcon LoadIconW
4434: #else
4435: #define LoadIcon LoadIconA
4436: #endif // !UNICODE
4437:
1.1.1.2 root 4438: HICON
4439: WINAPI
4440: CreateIcon(
1.1.1.3 ! root 4441: HINSTANCE,
1.1.1.2 root 4442: int,
4443: int,
4444: BYTE,
4445: BYTE,
4446: CONST BYTE *,
4447: CONST BYTE *);
4448:
4449: BOOL
4450: WINAPI
4451: DestroyIcon(
4452: HICON);
4453:
4454: int
4455: WINAPI
4456: LookupIconIdFromDirectory(
4457: PBYTE presbits,
4458: BOOL fIcon);
4459:
4460: HICON
4461: WINAPI
4462: CreateIconFromResource(
4463: PBYTE presbits,
4464: DWORD dwResSize,
4465: BOOL fIcon,
4466: DWORD dwVer);
4467:
4468: HICON
4469: WINAPI
4470: CreateIconIndirect(
4471: PICONINFO piconinfo);
4472:
4473: HICON
4474: WINAPI
4475: CopyIcon(
4476: HICON);
4477:
4478: BOOL
4479: WINAPI
4480: GetIconInfo(
4481: HICON hIcon,
4482: PICONINFO piconinfo);
1.1 root 4483:
4484: #ifdef OEMRESOURCE
4485:
4486: /* OEM Resource Ordinal Numbers */
4487: #define OBM_CLOSE 32754
4488: #define OBM_UPARROW 32753
4489: #define OBM_DNARROW 32752
4490: #define OBM_RGARROW 32751
4491: #define OBM_LFARROW 32750
4492: #define OBM_REDUCE 32749
4493: #define OBM_ZOOM 32748
4494: #define OBM_RESTORE 32747
4495: #define OBM_REDUCED 32746
4496: #define OBM_ZOOMD 32745
4497: #define OBM_RESTORED 32744
4498: #define OBM_UPARROWD 32743
4499: #define OBM_DNARROWD 32742
4500: #define OBM_RGARROWD 32741
4501: #define OBM_LFARROWD 32740
4502: #define OBM_MNARROW 32739
4503: #define OBM_COMBO 32738
4504: #define OBM_UPARROWI 32737
4505: #define OBM_DNARROWI 32736
4506: #define OBM_RGARROWI 32735
4507: #define OBM_LFARROWI 32734
4508:
4509: #define OBM_OLD_CLOSE 32767
4510: #define OBM_SIZE 32766
4511: #define OBM_OLD_UPARROW 32765
4512: #define OBM_OLD_DNARROW 32764
4513: #define OBM_OLD_RGARROW 32763
4514: #define OBM_OLD_LFARROW 32762
4515: #define OBM_BTSIZE 32761
4516: #define OBM_CHECK 32760
4517: #define OBM_CHECKBOXES 32759
4518: #define OBM_BTNCORNERS 32758
4519: #define OBM_OLD_REDUCE 32757
4520: #define OBM_OLD_ZOOM 32756
4521: #define OBM_OLD_RESTORE 32755
4522:
4523: #define OCR_NORMAL 32512
4524: #define OCR_IBEAM 32513
4525: #define OCR_WAIT 32514
4526: #define OCR_CROSS 32515
4527: #define OCR_UP 32516
4528: #define OCR_SIZE 32640
4529: #define OCR_ICON 32641
4530: #define OCR_SIZENWSE 32642
4531: #define OCR_SIZENESW 32643
4532: #define OCR_SIZEWE 32644
4533: #define OCR_SIZENS 32645
4534: #define OCR_SIZEALL 32646
4535: #define OCR_ICOCUR 32647
1.1.1.2 root 4536: #define OCR_NO 32648 //not in win3.1
1.1 root 4537:
4538: #define OIC_SAMPLE 32512
4539: #define OIC_HAND 32513
4540: #define OIC_QUES 32514
4541: #define OIC_BANG 32515
4542: #define OIC_NOTE 32516
4543:
4544: #endif /* OEMRESOURCE */
4545:
4546: #define ORD_LANGDRIVER 1 /* The ordinal number for the entry point of
4547: ** language drivers.
4548: */
4549:
4550: #ifndef NOICONS
4551:
4552: /* Standard Icon IDs */
4553: #define IDI_APPLICATION MAKEINTRESOURCE(32512)
4554: #define IDI_HAND MAKEINTRESOURCE(32513)
4555: #define IDI_QUESTION MAKEINTRESOURCE(32514)
4556: #define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
4557: #define IDI_ASTERISK MAKEINTRESOURCE(32516)
4558:
4559: #endif /* NOICONS */
4560:
4561: int
1.1.1.2 root 4562: WINAPI
1.1 root 4563: LoadStringA(
1.1.1.3 ! root 4564: HINSTANCE hInstance,
1.1.1.2 root 4565: UINT uID,
4566: LPSTR lpBuffer,
4567: int nBufferMax);
1.1 root 4568: int
1.1.1.2 root 4569: WINAPI
1.1 root 4570: LoadStringW(
1.1.1.3 ! root 4571: HINSTANCE hInstance,
1.1.1.2 root 4572: UINT uID,
4573: LPWSTR lpBuffer,
4574: int nBufferMax);
1.1 root 4575: #ifdef UNICODE
4576: #define LoadString LoadStringW
4577: #else
4578: #define LoadString LoadStringA
4579: #endif // !UNICODE
4580:
4581: /* Dialog Box Command IDs */
4582: #define IDOK 1
4583: #define IDCANCEL 2
4584: #define IDABORT 3
4585: #define IDRETRY 4
4586: #define IDIGNORE 5
4587: #define IDYES 6
4588: #define IDNO 7
4589:
4590: #ifndef NOCTLMGR
4591:
4592: /* Control Manager Structures and Definitions */
4593:
4594: #ifndef NOWINSTYLES
4595:
4596: /* Edit Control Styles */
4597: #define ES_LEFT 0x0000L
4598: #define ES_CENTER 0x0001L
4599: #define ES_RIGHT 0x0002L
4600: #define ES_MULTILINE 0x0004L
4601: #define ES_UPPERCASE 0x0008L
4602: #define ES_LOWERCASE 0x0010L
4603: #define ES_PASSWORD 0x0020L
4604: #define ES_AUTOVSCROLL 0x0040L
4605: #define ES_AUTOHSCROLL 0x0080L
4606: #define ES_NOHIDESEL 0x0100L
4607: #define ES_OEMCONVERT 0x0400L
4608: #define ES_READONLY 0x0800L
1.1.1.2 root 4609: #define ES_WANTRETURN 0x1000L
1.1 root 4610:
4611:
4612: #endif /* NOWINSTYLES */
4613:
4614: /* Edit Control Notification Codes */
4615: #define EN_SETFOCUS 0x0100
4616: #define EN_KILLFOCUS 0x0200
4617: #define EN_CHANGE 0x0300
4618: #define EN_UPDATE 0x0400
4619: #define EN_ERRSPACE 0x0500
4620: #define EN_MAXTEXT 0x0501
4621: #define EN_HSCROLL 0x0601
4622: #define EN_VSCROLL 0x0602
4623:
4624: #ifndef NOWINMESSAGES
4625:
4626: /* Edit Control Messages */
1.1.1.2 root 4627: #define EM_GETSEL 0x00B0
4628: #define EM_SETSEL 0x00B1
4629: #define EM_GETRECT 0x00B2
4630: #define EM_SETRECT 0x00B3
4631: #define EM_SETRECTNP 0x00B4
4632: #define EM_SCROLL 0x00B5
4633: #define EM_LINESCROLL 0x00B6
4634: #define EM_SCROLLCARET 0x00B7
4635: #define EM_GETMODIFY 0x00B8
4636: #define EM_SETMODIFY 0x00B9
4637: #define EM_GETLINECOUNT 0x00BA
4638: #define EM_LINEINDEX 0x00BB
4639: #define EM_SETHANDLE 0x00BC
4640: #define EM_GETHANDLE 0x00BD
4641: #define EM_GETTHUMB 0x00BE
4642: #define EM_LINELENGTH 0x00C1
4643: #define EM_REPLACESEL 0x00C2
4644: #define EM_SETFONT 0x00C3
4645: #define EM_GETLINE 0x00C4
4646: #define EM_LIMITTEXT 0x00C5
4647: #define EM_CANUNDO 0x00C6
4648: #define EM_UNDO 0x00C7
4649: #define EM_FMTLINES 0x00C8
4650: #define EM_LINEFROMCHAR 0x00C9
4651: #define EM_SETWORDBREAK 0x00CA
4652: #define EM_SETTABSTOPS 0x00CB
4653: #define EM_SETPASSWORDCHAR 0x00CC
4654: #define EM_EMPTYUNDOBUFFER 0x00CD
4655: #define EM_GETFIRSTVISIBLELINE 0x00CE
4656: #define EM_SETREADONLY 0x00CF
4657: #define EM_SETWORDBREAKPROC 0x00D0
4658: #define EM_GETWORDBREAKPROC 0x00D1
4659: #define EM_GETPASSWORDCHAR 0x00D2
4660: #define EM_MSGMAX 0x00D3
1.1 root 4661:
4662: #endif /* NOWINMESSAGES */
4663:
1.1.1.2 root 4664: /* EDITWORDBREAKPROC code values */
4665: #define WB_LEFT 0
4666: #define WB_RIGHT 1
4667: #define WB_ISDELIMITER 2
4668:
1.1 root 4669: /* Button Control Styles */
4670: #define BS_PUSHBUTTON 0x00L
4671: #define BS_DEFPUSHBUTTON 0x01L
4672: #define BS_CHECKBOX 0x02L
4673: #define BS_AUTOCHECKBOX 0x03L
4674: #define BS_RADIOBUTTON 0x04L
4675: #define BS_3STATE 0x05L
4676: #define BS_AUTO3STATE 0x06L
4677: #define BS_GROUPBOX 0x07L
4678: #define BS_USERBUTTON 0x08L
4679: #define BS_AUTORADIOBUTTON 0x09L
4680: #define BS_PUSHBOX 0x0AL
4681: #define BS_OWNERDRAW 0x0BL
4682: #define BS_LEFTTEXT 0x20L
4683:
4684:
4685: /* User Button Notification Codes */
4686: #define BN_CLICKED 0
4687: #define BN_PAINT 1
4688: #define BN_HILITE 2
4689: #define BN_UNHILITE 3
4690: #define BN_DISABLE 4
4691: #define BN_DOUBLECLICKED 5
4692:
4693: /* Button Control Messages */
4694: #define BM_GETCHECK 0x00F0
4695: #define BM_SETCHECK 0x00F1
4696: #define BM_GETSTATE 0x00F2
4697: #define BM_SETSTATE 0x00F3
4698: #define BM_SETSTYLE 0x00F4
4699:
4700: /* Static Control Constants */
4701: #define SS_LEFT 0x00L
4702: #define SS_CENTER 0x01L
4703: #define SS_RIGHT 0x02L
4704: #define SS_ICON 0x03L
4705: #define SS_BLACKRECT 0x04L
4706: #define SS_GRAYRECT 0x05L
4707: #define SS_WHITERECT 0x06L
4708: #define SS_BLACKFRAME 0x07L
4709: #define SS_GRAYFRAME 0x08L
4710: #define SS_WHITEFRAME 0x09L
4711: #define SS_USERITEM 0x0AL
4712: #define SS_SIMPLE 0x0BL
4713: #define SS_LEFTNOWORDWRAP 0x0CL
4714: #define SS_NOPREFIX 0x80L /* Don't do "&" character translation */
4715:
4716: #ifndef NOWINMESSAGES
4717: /* Static Control Mesages */
1.1.1.2 root 4718: #define STM_SETICON 0x170
4719: #define STM_GETICON 0x171
4720: #define STM_MSGMAX 0x172
1.1 root 4721: #endif /* NOWINMESSAGES */
1.1.1.3 ! root 4722:
! 4723: /*
! 4724: * Dialog window class
! 4725: */
! 4726: #define WC_DIALOG (MAKEINTATOM(0x8002))
! 4727:
! 4728: /*
! 4729: * Get/SetWindowWord/Long offsets for use with WC_DIALOG windows
! 4730: */
! 4731: #define DWL_MSGRESULT 0
! 4732: #define DWL_DLGPROC 4
! 4733: #define DWL_USER 8
! 4734:
1.1 root 4735: /* Dialog Manager Routines */
4736:
4737: #ifndef NOMSG
1.1.1.2 root 4738: BOOL
4739: WINAPI
4740: IsDialogMessage(
4741: HWND hDlg,
4742: LPMSG lpMsg);
1.1 root 4743: #endif
4744:
1.1.1.2 root 4745: BOOL
4746: WINAPI
4747: MapDialogRect(
4748: HWND hDlg,
4749: LPRECT lpRect);
1.1 root 4750:
4751: int
1.1.1.2 root 4752: WINAPI
1.1 root 4753: DlgDirListA(
1.1.1.2 root 4754: HWND hDlg,
4755: LPSTR lpPathSpec,
4756: int nIDListBox,
4757: int nIDStaticPath,
4758: UINT uFileType);
1.1 root 4759: int
1.1.1.2 root 4760: WINAPI
1.1 root 4761: DlgDirListW(
1.1.1.2 root 4762: HWND hDlg,
4763: LPWSTR lpPathSpec,
4764: int nIDListBox,
4765: int nIDStaticPath,
4766: UINT uFileType);
1.1 root 4767: #ifdef UNICODE
4768: #define DlgDirList DlgDirListW
4769: #else
4770: #define DlgDirList DlgDirListA
4771: #endif // !UNICODE
4772:
1.1.1.3 ! root 4773: /*
! 4774: * DlgDirList, DlgDirListComboBox flags values
! 4775: */
! 4776: #define DDL_READWRITE 0x0000
! 4777: #define DDL_READONLY 0x0001
! 4778: #define DDL_HIDDEN 0x0002
! 4779: #define DDL_SYSTEM 0x0004
! 4780: #define DDL_DIRECTORY 0x0010
! 4781: #define DDL_ARCHIVE 0x0020
! 4782:
! 4783: #define DDL_POSTMSGS 0x2000
! 4784: #define DDL_DRIVES 0x4000
! 4785: #define DDL_EXCLUSIVE 0x8000
! 4786:
1.1 root 4787: BOOL
1.1.1.2 root 4788: WINAPI
1.1 root 4789: DlgDirSelectExA(
1.1.1.2 root 4790: HWND hDlg,
4791: LPSTR lpString,
4792: int nCount,
4793: int nIDListBox);
1.1 root 4794: BOOL
1.1.1.2 root 4795: WINAPI
1.1 root 4796: DlgDirSelectExW(
1.1.1.2 root 4797: HWND hDlg,
4798: LPWSTR lpString,
4799: int nCount,
4800: int nIDListBox);
1.1 root 4801: #ifdef UNICODE
4802: #define DlgDirSelectEx DlgDirSelectExW
4803: #else
4804: #define DlgDirSelectEx DlgDirSelectExA
4805: #endif // !UNICODE
4806:
4807: int
1.1.1.2 root 4808: WINAPI
1.1 root 4809: DlgDirListComboBoxA(
1.1.1.2 root 4810: HWND hDlg,
4811: LPSTR lpPathSpec,
4812: int nIDComboBox,
4813: int nIDStaticPath,
4814: UINT uFiletype);
1.1 root 4815: int
1.1.1.2 root 4816: WINAPI
1.1 root 4817: DlgDirListComboBoxW(
1.1.1.2 root 4818: HWND hDlg,
4819: LPWSTR lpPathSpec,
4820: int nIDComboBox,
4821: int nIDStaticPath,
4822: UINT uFiletype);
1.1 root 4823: #ifdef UNICODE
4824: #define DlgDirListComboBox DlgDirListComboBoxW
4825: #else
4826: #define DlgDirListComboBox DlgDirListComboBoxA
4827: #endif // !UNICODE
4828:
4829: BOOL
1.1.1.2 root 4830: WINAPI
1.1 root 4831: DlgDirSelectComboBoxExA(
1.1.1.2 root 4832: HWND hDlg,
4833: LPSTR lpString,
4834: int nCount,
4835: int nIDComboBox);
1.1 root 4836: BOOL
1.1.1.2 root 4837: WINAPI
1.1 root 4838: DlgDirSelectComboBoxExW(
1.1.1.2 root 4839: HWND hDlg,
4840: LPWSTR lpString,
4841: int nCount,
4842: int nIDComboBox);
1.1 root 4843: #ifdef UNICODE
4844: #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
4845: #else
4846: #define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
4847: #endif // !UNICODE
4848:
4849:
4850: /* Dialog Styles */
4851: #define DS_ABSALIGN 0x01L
4852: #define DS_SYSMODAL 0x02L
4853: #define DS_LOCALEDIT 0x20L /* Edit items get Local storage. */
4854: #define DS_SETFONT 0x40L /* User specified font for Dlg controls */
4855: #define DS_MODALFRAME 0x80L /* Can be combined with WS_CAPTION */
4856: #define DS_NOIDLEMSG 0x100L /* WM_ENTERIDLE message will not be sent */
1.1.1.2 root 4857: #define DS_SETFOREGROUND 0x200L //not in win3.1
1.1 root 4858:
4859: #define DM_GETDEFID (WM_USER+0)
4860: #define DM_SETDEFID (WM_USER+1)
1.1.1.2 root 4861: #define DC_HASDEFID 0x534B //not in win3.1
1.1 root 4862:
4863: /* Dialog Codes */
4864: #define DLGC_WANTARROWS 0x0001 /* Control wants arrow keys */
4865: #define DLGC_WANTTAB 0x0002 /* Control wants tab keys */
4866: #define DLGC_WANTALLKEYS 0x0004 /* Control wants all keys */
4867: #define DLGC_WANTMESSAGE 0x0004 /* Pass message to control */
4868: #define DLGC_HASSETSEL 0x0008 /* Understands EM_SETSEL message */
4869: #define DLGC_DEFPUSHBUTTON 0x0010 /* Default pushbutton */
4870: #define DLGC_UNDEFPUSHBUTTON 0x0020 /* Non-default pushbutton */
4871: #define DLGC_RADIOBUTTON 0x0040 /* Radio button */
4872: #define DLGC_WANTCHARS 0x0080 /* Want WM_CHAR messages */
4873: #define DLGC_STATIC 0x0100 /* Static item: don't include */
4874: #define DLGC_BUTTON 0x2000 /* Button item: can be checked */
4875:
4876: #define LB_CTLCODE 0L
4877:
4878: /* Listbox Return Values */
4879: #define LB_OKAY 0
4880: #define LB_ERR (-1)
4881: #define LB_ERRSPACE (-2)
4882:
4883: /*
4884: ** The idStaticPath parameter to DlgDirList can have the following values
4885: ** ORed if the list box should show other details of the files along with
4886: ** the name of the files;
4887: */
4888: /* all other details also will be returned */
4889:
4890:
4891: /* Listbox Notification Codes */
4892: #define LBN_ERRSPACE (-2)
4893: #define LBN_SELCHANGE 1
4894: #define LBN_DBLCLK 2
4895: #define LBN_SELCANCEL 3
4896: #define LBN_SETFOCUS 4
4897: #define LBN_KILLFOCUS 5
4898:
4899:
4900:
4901: #ifndef NOWINMESSAGES
4902:
4903: /* Listbox messages */
4904: #define LB_ADDSTRING 0x0180
4905: #define LB_INSERTSTRING 0x0181
4906: #define LB_DELETESTRING 0x0182
1.1.1.3 ! root 4907: #define LB_SELITEMRANGEEX 0x0183
1.1 root 4908: #define LB_RESETCONTENT 0x0184
4909: #define LB_SETSEL 0x0185
4910: #define LB_SETCURSEL 0x0186
4911: #define LB_GETSEL 0x0187
4912: #define LB_GETCURSEL 0x0188
4913: #define LB_GETTEXT 0x0189
4914: #define LB_GETTEXTLEN 0x018A
4915: #define LB_GETCOUNT 0x018B
4916: #define LB_SELECTSTRING 0x018C
4917: #define LB_DIR 0x018D
4918: #define LB_GETTOPINDEX 0x018E
4919: #define LB_FINDSTRING 0x018F
4920: #define LB_GETSELCOUNT 0x0190
4921: #define LB_GETSELITEMS 0x0191
4922: #define LB_SETTABSTOPS 0x0192
4923: #define LB_GETHORIZONTALEXTENT 0x0193
4924: #define LB_SETHORIZONTALEXTENT 0x0194
4925: #define LB_SETCOLUMNWIDTH 0x0195
1.1.1.2 root 4926: #define LB_ADDFILE 0x0196
1.1 root 4927: #define LB_SETTOPINDEX 0x0197
4928: #define LB_GETITEMRECT 0x0198
4929: #define LB_GETITEMDATA 0x0199
4930: #define LB_SETITEMDATA 0x019A
4931: #define LB_SELITEMRANGE 0x019B
1.1.1.2 root 4932: #define LB_SETANCHORINDEX 0x019C
4933: #define LB_GETANCHORINDEX 0x019D
4934: #define LB_SETCARETINDEX 0x019E
4935: #define LB_GETCARETINDEX 0x019F
1.1 root 4936: #define LB_SETITEMHEIGHT 0x01A0
4937: #define LB_GETITEMHEIGHT 0x01A1
1.1.1.2 root 4938: #define LB_FINDSTRINGEXACT 0x01A2
4939: #define LBCB_CARETON 0x01A3
4940: #define LBCB_CARETOFF 0x01A4
4941: #define LB_SETLOCALE 0x01A5
4942: #define LB_GETLOCALE 0x01A6
4943: #define LB_SETCOUNT 0x01A7
4944: #define LB_MSGMAX 0x01A8
1.1 root 4945:
4946: #endif /* NOWINMESSAGES */
4947:
4948: #ifndef NOWINSTYLES
4949:
4950: /* Listbox Styles */
4951: #define LBS_NOTIFY 0x0001L
4952: #define LBS_SORT 0x0002L
4953: #define LBS_NOREDRAW 0x0004L
4954: #define LBS_MULTIPLESEL 0x0008L
4955: #define LBS_OWNERDRAWFIXED 0x0010L
4956: #define LBS_OWNERDRAWVARIABLE 0x0020L
4957: #define LBS_HASSTRINGS 0x0040L
4958: #define LBS_USETABSTOPS 0x0080L
4959: #define LBS_NOINTEGRALHEIGHT 0x0100L
4960: #define LBS_MULTICOLUMN 0x0200L
4961: #define LBS_WANTKEYBOARDINPUT 0x0400L
4962: #define LBS_EXTENDEDSEL 0x0800L
4963: #define LBS_DISABLENOSCROLL 0x1000L
1.1.1.2 root 4964: #define LBS_NODATA 0x2000L
1.1 root 4965: #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
4966:
4967: #endif /* NOWINSTYLES */
4968:
4969:
4970: /* Combo Box return Values */
4971: #define CB_OKAY 0
4972: #define CB_ERR (-1)
4973: #define CB_ERRSPACE (-2)
4974:
4975:
4976: /* Combo Box Notification Codes */
4977: #define CBN_ERRSPACE (-1)
4978: #define CBN_SELCHANGE 1
4979: #define CBN_DBLCLK 2
4980: #define CBN_SETFOCUS 3
4981: #define CBN_KILLFOCUS 4
4982: #define CBN_EDITCHANGE 5
4983: #define CBN_EDITUPDATE 6
4984: #define CBN_DROPDOWN 7
4985: #define CBN_CLOSEUP 8
1.1.1.2 root 4986: #define CBN_SELENDOK 9
4987: #define CBN_SELENDCANCEL 10
1.1 root 4988:
4989: /* Combo Box styles */
4990: #ifndef NOWINSTYLES
4991: #define CBS_SIMPLE 0x0001L
4992: #define CBS_DROPDOWN 0x0002L
4993: #define CBS_DROPDOWNLIST 0x0003L
4994: #define CBS_OWNERDRAWFIXED 0x0010L
4995: #define CBS_OWNERDRAWVARIABLE 0x0020L
4996: #define CBS_AUTOHSCROLL 0x0040L
4997: #define CBS_OEMCONVERT 0x0080L
4998: #define CBS_SORT 0x0100L
4999: #define CBS_HASSTRINGS 0x0200L
5000: #define CBS_NOINTEGRALHEIGHT 0x0400L
5001: #define CBS_DISABLENOSCROLL 0x0800L
5002: #endif /* NOWINSTYLES */
5003:
5004:
5005: /* Combo Box messages */
5006: #ifndef NOWINMESSAGES
5007: #define CB_GETEDITSEL 0x0140
5008: #define CB_LIMITTEXT 0x0141
5009: #define CB_SETEDITSEL 0x0142
5010: #define CB_ADDSTRING 0x0143
5011: #define CB_DELETESTRING 0x0144
5012: #define CB_DIR 0x0145
5013: #define CB_GETCOUNT 0x0146
5014: #define CB_GETCURSEL 0x0147
5015: #define CB_GETLBTEXT 0x0148
5016: #define CB_GETLBTEXTLEN 0x0149
5017: #define CB_INSERTSTRING 0x014A
5018: #define CB_RESETCONTENT 0x014B
5019: #define CB_FINDSTRING 0x014C
5020: #define CB_SELECTSTRING 0x014D
5021: #define CB_SETCURSEL 0x014E
5022: #define CB_SHOWDROPDOWN 0x014F
5023: #define CB_GETITEMDATA 0x0150
5024: #define CB_SETITEMDATA 0x0151
5025: #define CB_GETDROPPEDCONTROLRECT 0x0152
5026: #define CB_SETITEMHEIGHT 0x0153
5027: #define CB_GETITEMHEIGHT 0x0154
5028: #define CB_SETEXTENDEDUI 0x0155
5029: #define CB_GETEXTENDEDUI 0x0156
5030: #define CB_GETDROPPEDSTATE 0x0157
1.1.1.2 root 5031: #define CB_FINDSTRINGEXACT 0x0158
5032: #define CB_SETLOCALE 0x0159
5033: #define CB_GETLOCALE 0x015a
5034: #define CB_MSGMAX 0x015b
1.1 root 5035: #endif /* NOWINMESSAGES */
5036:
5037:
5038:
5039: #ifndef NOWINSTYLES
5040:
5041: /* Scroll Bar Styles */
5042: #define SBS_HORZ 0x0000L
5043: #define SBS_VERT 0x0001L
5044: #define SBS_TOPALIGN 0x0002L
5045: #define SBS_LEFTALIGN 0x0002L
5046: #define SBS_BOTTOMALIGN 0x0004L
5047: #define SBS_RIGHTALIGN 0x0004L
5048: #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
5049: #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
5050: #define SBS_SIZEBOX 0x0008L
5051: #endif /* NOWINSTYLES */
5052:
5053: /* Scroll bar messages */
5054: #ifndef NOWINMESSAGES
1.1.1.2 root 5055: #define SBM_SETPOS 0x00E0 //not in win3.1
5056: #define SBM_GETPOS 0x00E1 //not in win3.1
5057: #define SBM_SETRANGE 0x00E2 //not in win3.1
1.1.1.3 ! root 5058: #define SBM_SETRANGEREDRAW 0x00E6 //not in win3.1
1.1.1.2 root 5059: #define SBM_GETRANGE 0x00E3 //not in win3.1
5060: #define SBM_ENABLE_ARROWS 0x00E4 //not in win3.1
1.1 root 5061: #endif
5062: #endif /* NOCTLMGR */
5063:
5064: #ifndef NOMDI
5065:
5066: /* MDI client style bits */
5067: #define MDIS_ALLCHILDSTYLES 0x0001
5068:
5069: /* wParam Flags for WM_MDITILE and WM_MDICASCADE messages. */
1.1.1.2 root 5070: #define MDITILE_VERTICAL 0x0000 //not in win3.1
5071: #define MDITILE_HORIZONTAL 0x0001 //not in win3.1
5072: #define MDITILE_SKIPDISABLED 0x0002 //not in win3.1
1.1 root 5073:
5074: typedef struct tagMDICREATESTRUCTA {
1.1.1.2 root 5075: LPCSTR szClass;
5076: LPCSTR szTitle;
1.1 root 5077: HANDLE hOwner;
5078: int x;
5079: int y;
5080: int cx;
5081: int cy;
1.1.1.2 root 5082: DWORD style;
5083: LPARAM lParam; /* app-defined stuff */
1.1 root 5084: } MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
5085: typedef struct tagMDICREATESTRUCTW {
1.1.1.2 root 5086: LPCWSTR szClass;
5087: LPCWSTR szTitle;
1.1 root 5088: HANDLE hOwner;
5089: int x;
5090: int y;
5091: int cx;
5092: int cy;
1.1.1.2 root 5093: DWORD style;
5094: LPARAM lParam; /* app-defined stuff */
1.1 root 5095: } MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
5096: #ifdef UNICODE
5097: #define MDICREATESTRUCT MDICREATESTRUCTW
5098: #define LPMDICREATESTRUCT LPMDICREATESTRUCTW
5099: #else
5100: #define MDICREATESTRUCT MDICREATESTRUCTA
5101: #define LPMDICREATESTRUCT LPMDICREATESTRUCTA
5102: #endif // UNICODE
5103:
5104: typedef struct tagCLIENTCREATESTRUCT {
5105: HANDLE hWindowMenu;
5106: UINT idFirstChild;
5107: } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
5108:
1.1.1.2 root 5109: LRESULT
5110: WINAPI
5111: DefFrameProcA(
5112: HWND hWnd,
5113: HWND hWndMDIClient ,
5114: UINT uMsg,
5115: WPARAM wParam,
5116: LPARAM lParam);
5117: LRESULT
5118: WINAPI
5119: DefFrameProcW(
5120: HWND hWnd,
5121: HWND hWndMDIClient ,
5122: UINT uMsg,
5123: WPARAM wParam,
5124: LPARAM lParam);
1.1 root 5125: #ifdef UNICODE
5126: #define DefFrameProc DefFrameProcW
5127: #else
5128: #define DefFrameProc DefFrameProcA
5129: #endif // !UNICODE
1.1.1.2 root 5130:
5131: LRESULT
5132: WINAPI
5133: DefMDIChildProcA(
5134: HWND hWnd,
5135: UINT uMsg,
5136: WPARAM wParam,
5137: LPARAM lParam);
5138: LRESULT
5139: WINAPI
5140: DefMDIChildProcW(
5141: HWND hWnd,
5142: UINT uMsg,
5143: WPARAM wParam,
5144: LPARAM lParam);
1.1 root 5145: #ifdef UNICODE
5146: #define DefMDIChildProc DefMDIChildProcW
5147: #else
5148: #define DefMDIChildProc DefMDIChildProcA
5149: #endif // !UNICODE
5150:
5151: #ifndef NOMSG
1.1.1.2 root 5152: BOOL
5153: WINAPI
5154: TranslateMDISysAccel(
5155: HWND hWndClient,
5156: LPMSG lpMsg);
1.1 root 5157: #endif
5158:
1.1.1.2 root 5159: UINT
5160: WINAPI
5161: ArrangeIconicWindows(
5162: HWND hWnd);
1.1 root 5163:
1.1.1.2 root 5164: HWND
5165: WINAPI
5166: CreateMDIWindowA(
5167: LPSTR lpClassName,
5168: LPSTR lpWindowName,
5169: DWORD dwStyle,
5170: int X,
5171: int Y,
5172: int nWidth,
5173: int nHeight,
5174: HWND hWndParent,
1.1.1.3 ! root 5175: HINSTANCE hInstance,
1.1.1.2 root 5176: LONG lParam
5177: );
5178: HWND
5179: WINAPI
5180: CreateMDIWindowW(
5181: LPWSTR lpClassName,
5182: LPWSTR lpWindowName,
5183: DWORD dwStyle,
5184: int X,
5185: int Y,
5186: int nWidth,
5187: int nHeight,
5188: HWND hWndParent,
1.1.1.3 ! root 5189: HINSTANCE hInstance,
1.1.1.2 root 5190: LONG lParam
5191: );
5192: #ifdef UNICODE
5193: #define CreateMDIWindow CreateMDIWindowW
5194: #else
5195: #define CreateMDIWindow CreateMDIWindowA
5196: #endif // !UNICODE
1.1 root 5197:
1.1.1.2 root 5198: #endif /* NOMDI */
1.1 root 5199: #endif /* NOUSER */
5200:
1.1.1.2 root 5201: /****** Help support ********************************************************/
1.1 root 5202:
1.1.1.2 root 5203: #ifndef NOHELP
1.1 root 5204:
5205: typedef DWORD HELPPOLY;
1.1.1.2 root 5206: typedef struct tagMULTIKEYHELPA {
1.1 root 5207: DWORD mkSize;
1.1.1.2 root 5208: CHAR mkKeylist;
5209: CHAR szKeyphrase[1];
5210: } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
5211: typedef struct tagMULTIKEYHELPW {
5212: DWORD mkSize;
5213: WCHAR mkKeylist;
5214: WCHAR szKeyphrase[1];
5215: } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
5216: #ifdef UNICODE
5217: #define MULTIKEYHELP MULTIKEYHELPW
5218: #define PMULTIKEYHELP PMULTIKEYHELPW
5219: #define LPMULTIKEYHELP LPMULTIKEYHELPW
5220: #else
5221: #define MULTIKEYHELP MULTIKEYHELPA
5222: #define PMULTIKEYHELP PMULTIKEYHELPA
5223: #define LPMULTIKEYHELP LPMULTIKEYHELPA
5224: #endif // UNICODE
5225:
5226: typedef struct tagHELPWININFOA {
5227: int wStructSize;
5228: int x;
5229: int y;
5230: int dx;
5231: int dy;
5232: int wMax;
5233: CHAR rgchMember[2];
5234: } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
5235: typedef struct tagHELPWININFOW {
5236: int wStructSize;
5237: int x;
5238: int y;
5239: int dx;
5240: int dy;
5241: int wMax;
5242: WCHAR rgchMember[2];
5243: } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
5244: #ifdef UNICODE
5245: #define HELPWININFO HELPWININFOW
5246: #define PHELPWININFO PHELPWININFOW
5247: #define LPHELPWININFO LPHELPWININFOW
5248: #else
5249: #define HELPWININFO HELPWININFOA
5250: #define PHELPWININFO PHELPWININFOA
5251: #define LPHELPWININFO LPHELPWININFOA
5252: #endif // UNICODE
1.1 root 5253:
5254: //
5255: // Commands to pass WinHelp()
5256: //
5257:
1.1.1.2 root 5258: #define HELP_CONTEXT 0x0001L /* Display topic in ulTopic */
5259: #define HELP_QUIT 0x0002L /* Terminate help */
5260: #define HELP_INDEX 0x0003L /* Display index */
5261: #define HELP_CONTENTS 0x0003L
5262: #define HELP_HELPONHELP 0x0004L /* Display help on using help */
5263: #define HELP_SETINDEX 0x0005L /* Set current Index for multi index help */
5264: #define HELP_SETCONTENTS 0x0005L
5265: #define HELP_CONTEXTPOPUP 0x0008L
5266: #define HELP_FORCEFILE 0x0009L
5267: #define HELP_KEY 0x0101L /* Display topic for keyword in offabData */
5268: #define HELP_COMMAND 0x0102L
5269: #define HELP_PARTIALKEY 0x0105L
5270: #define HELP_MULTIKEY 0x0201L
5271: #define HELP_SETWINPOS 0x0203L
5272:
1.1 root 5273:
5274: BOOL
1.1.1.2 root 5275: WINAPI
1.1 root 5276: WinHelpA(
1.1.1.2 root 5277: HWND hwndMain,
5278: LPCSTR lpszHelp,
5279: UINT uCommand,
5280: DWORD dwData
1.1 root 5281: );
5282: BOOL
1.1.1.2 root 5283: WINAPI
1.1 root 5284: WinHelpW(
1.1.1.2 root 5285: HWND hwndMain,
5286: LPCWSTR lpszHelp,
5287: UINT uCommand,
5288: DWORD dwData
1.1 root 5289: );
5290: #ifdef UNICODE
5291: #define WinHelp WinHelpW
5292: #else
5293: #define WinHelp WinHelpA
5294: #endif // !UNICODE
5295:
5296: #endif /* NOHELP */
5297:
5298: #ifndef NOPROFILER
5299:
5300: /* function declarations for profiler routines contained in Windows libraries */
1.1.1.2 root 5301: int
5302: WINAPI
5303: ProfInsChk(
5304: VOID);
5305:
5306: VOID
5307: WINAPI
5308: ProfSetup(
5309: int,
5310: int);
5311:
5312: VOID
5313: WINAPI
5314: ProfSampRate(
5315: int,
5316: int);
5317:
5318: VOID
5319: WINAPI
5320: ProfStart(
5321: VOID);
5322:
5323: VOID
5324: WINAPI
5325: ProfStop(
5326: VOID);
5327:
5328: VOID
5329: WINAPI
5330: ProfClear(
5331: VOID);
5332:
5333: VOID
5334: WINAPI
5335: ProfFlush(
5336: VOID);
5337:
5338: VOID
5339: WINAPI
5340: ProfFinish(
5341: VOID);
1.1 root 5342:
5343: #endif /* NOPROFILER */
5344:
5345: #ifndef NOSYSPARAMSINFO
5346: /* Parameter for SystemParametersInfo() */
5347:
5348: #define SPI_GETBEEP 1
5349: #define SPI_SETBEEP 2
5350: #define SPI_GETMOUSE 3
5351: #define SPI_SETMOUSE 4
5352: #define SPI_GETBORDER 5
5353: #define SPI_SETBORDER 6
5354: #define SPI_TIMEOUTS 7
5355: #define SPI_GETKEYBOARDSPEED 10
5356: #define SPI_SETKEYBOARDSPEED 11
5357: #define SPI_LANGDRIVER 12
5358: #define SPI_ICONHORIZONTALSPACING 13
5359: #define SPI_GETSCREENSAVETIMEOUT 14
5360: #define SPI_SETSCREENSAVETIMEOUT 15
5361: #define SPI_GETSCREENSAVEACTIVE 16
5362: #define SPI_SETSCREENSAVEACTIVE 17
5363: #define SPI_GETGRIDGRANULARITY 18
5364: #define SPI_SETGRIDGRANULARITY 19
5365: #define SPI_SETDESKWALLPAPER 20
5366: #define SPI_SETDESKPATTERN 21
5367: #define SPI_GETKEYBOARDDELAY 22
5368: #define SPI_SETKEYBOARDDELAY 23
5369: #define SPI_ICONVERTICALSPACING 24
5370: #define SPI_GETICONTITLEWRAP 25
5371: #define SPI_SETICONTITLEWRAP 26
5372: #define SPI_GETMENUDROPALIGNMENT 27
5373: #define SPI_SETMENUDROPALIGNMENT 28
5374: #define SPI_SETDOUBLECLKWIDTH 29
5375: #define SPI_SETDOUBLECLKHEIGHT 30
5376: #define SPI_GETICONTITLELOGFONT 31
5377: #define SPI_SETDOUBLECLICKTIME 32
5378: #define SPI_SETMOUSEBUTTONSWAP 33
1.1.1.2 root 5379: #define SPI_SETICONTITLELOGFONT 34
5380: #define SPI_GETFASTTASKSWITCH 35
5381: #define SPI_SETFASTTASKSWITCH 36
5382: #define SPI_MAX 36
1.1 root 5383:
5384:
1.1.1.2 root 5385: BOOL
5386: WINAPI
5387: SystemParametersInfoA(
5388: UINT,
5389: UINT,
5390: PVOID,
5391: UINT);
5392: BOOL
5393: WINAPI
5394: SystemParametersInfoW(
5395: UINT,
5396: UINT,
5397: PVOID,
5398: UINT);
5399: #ifdef UNICODE
5400: #define SystemParametersInfo SystemParametersInfoW
5401: #else
5402: #define SystemParametersInfo SystemParametersInfoA
5403: #endif // !UNICODE
1.1 root 5404:
5405: /* Flags */
5406: #define SPIF_UPDATEINIFILE 0x0001
5407: #define SPIF_SENDWININICHANGE 0x0002
5408:
5409: #endif /* NOSYSPARAMSINFO */
1.1.1.2 root 5410:
1.1.1.3 ! root 5411: #ifdef __cplusplus
! 5412: }
! 5413: #endif
! 5414:
! 5415: #endif // _WINUSER_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.