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