1/* 2 * Copyright (C) the Wine project 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19/* Macro to deal with LP64 <=> LLP64 differences in numeric constants with 'l' modifier */ 20#ifndef __MSABI_LONG 21# if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN__) 22# define __MSABI_LONG(x) x ## l 23# else 24# define __MSABI_LONG(x) x 25# endif 26#endif 27 28#ifdef RC_INVOKED 29# define MAKEINTRESOURCE(i) i 30#endif 31 32 33#define RT_MANIFEST MAKEINTRESOURCE(24) 34#define CREATEPROCESS_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1) 35#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2) 36#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3) 37#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1) 38#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(16) 39 40 41/*** ShowWindow() codes ***/ 42#define SW_HIDE 0 43#define SW_SHOWNORMAL 1 44#define SW_NORMAL SW_SHOWNORMAL 45#define SW_SHOWMINIMIZED 2 46#define SW_SHOWMAXIMIZED 3 47#define SW_MAXIMIZE SW_SHOWMAXIMIZED 48#define SW_SHOWNOACTIVATE 4 49#define SW_SHOW 5 50#define SW_MINIMIZE 6 51#define SW_SHOWMINNOACTIVE 7 52#define SW_SHOWNA 8 53#define SW_RESTORE 9 54#define SW_SHOWDEFAULT 10 55#define SW_FORCEMINIMIZE 11 56#define SW_MAX 11 57#define SW_NORMALNA 0xCC /* Undocumented. Flag in MinMaximize */ 58 59/* Obsolete ShowWindow() codes for compatibility */ 60#define HIDE_WINDOW SW_HIDE 61#define SHOW_OPENWINDOW SW_SHOWNORMAL 62#define SHOW_ICONWINDOW SW_SHOWMINIMIZED 63#define SHOW_FULLSCREEN SW_SHOWMAXIMIZED 64#define SHOW_OPENNOACTIVATE SW_SHOWNOACTIVATE 65 66/* WM_SHOWWINDOW lParam codes */ 67#define SW_PARENTCLOSING 1 68#define SW_OTHERZOOM 2 69#define SW_PARENTOPENING 3 70#define SW_OTHERUNZOOM 4 71 72 73/*** Virtual key codes ***/ 74#define VK_LBUTTON 0x01 75#define VK_RBUTTON 0x02 76#define VK_CANCEL 0x03 77#define VK_MBUTTON 0x04 78#define VK_XBUTTON1 0x05 79#define VK_XBUTTON2 0x06 80/* 0x07 Undefined */ 81#define VK_BACK 0x08 82#define VK_TAB 0x09 83/* 0x0A-0x0B Undefined */ 84#define VK_CLEAR 0x0C 85#define VK_RETURN 0x0D 86/* 0x0E-0x0F Undefined */ 87#define VK_SHIFT 0x10 88#define VK_CONTROL 0x11 89#define VK_MENU 0x12 90#define VK_PAUSE 0x13 91#define VK_CAPITAL 0x14 92 93#define VK_KANA 0x15 94#define VK_HANGEUL VK_KANA 95#define VK_HANGUL VK_KANA 96/* 0x16 Undefined */ 97#define VK_JUNJA 0x17 98#define VK_FINAL 0x18 99#define VK_HANJA 0x19 100#define VK_KANJI VK_HANJA 101 102/* 0x1A Undefined */ 103#define VK_ESCAPE 0x1B 104 105#define VK_CONVERT 0x1C 106#define VK_NONCONVERT 0x1D 107#define VK_ACCEPT 0x1E 108#define VK_MODECHANGE 0x1F 109 110#define VK_SPACE 0x20 111#define VK_PRIOR 0x21 112#define VK_NEXT 0x22 113#define VK_END 0x23 114#define VK_HOME 0x24 115#define VK_LEFT 0x25 116#define VK_UP 0x26 117#define VK_RIGHT 0x27 118#define VK_DOWN 0x28 119#define VK_SELECT 0x29 120#define VK_PRINT 0x2A /* OEM specific in Windows 3.1 SDK */ 121#define VK_EXECUTE 0x2B 122#define VK_SNAPSHOT 0x2C 123#define VK_INSERT 0x2D 124#define VK_DELETE 0x2E 125#define VK_HELP 0x2F 126/* VK_0 - VK-9 0x30-0x39 Use ASCII instead */ 127/* 0x3A-0x40 Undefined */ 128/* VK_A - VK_Z 0x41-0x5A Use ASCII instead */ 129#define VK_LWIN 0x5B 130#define VK_RWIN 0x5C 131#define VK_APPS 0x5D 132/* 0x5E Unassigned */ 133#define VK_SLEEP 0x5F 134#define VK_NUMPAD0 0x60 135#define VK_NUMPAD1 0x61 136#define VK_NUMPAD2 0x62 137#define VK_NUMPAD3 0x63 138#define VK_NUMPAD4 0x64 139#define VK_NUMPAD5 0x65 140#define VK_NUMPAD6 0x66 141#define VK_NUMPAD7 0x67 142#define VK_NUMPAD8 0x68 143#define VK_NUMPAD9 0x69 144#define VK_MULTIPLY 0x6A 145#define VK_ADD 0x6B 146#define VK_SEPARATOR 0x6C 147#define VK_SUBTRACT 0x6D 148#define VK_DECIMAL 0x6E 149#define VK_DIVIDE 0x6F 150#define VK_F1 0x70 151#define VK_F2 0x71 152#define VK_F3 0x72 153#define VK_F4 0x73 154#define VK_F5 0x74 155#define VK_F6 0x75 156#define VK_F7 0x76 157#define VK_F8 0x77 158#define VK_F9 0x78 159#define VK_F10 0x79 160#define VK_F11 0x7A 161#define VK_F12 0x7B 162#define VK_F13 0x7C 163#define VK_F14 0x7D 164#define VK_F15 0x7E 165#define VK_F16 0x7F 166#define VK_F17 0x80 167#define VK_F18 0x81 168#define VK_F19 0x82 169#define VK_F20 0x83 170#define VK_F21 0x84 171#define VK_F22 0x85 172#define VK_F23 0x86 173#define VK_F24 0x87 174#define VK_NAVIGATION_VIEW 0x88 175#define VK_NAVIGATION_MENU 0x89 176#define VK_NAVIGATION_UP 0x8A 177#define VK_NAVIGATION_DOWN 0x8B 178#define VK_NAVIGATION_LEFT 0x8C 179#define VK_NAVIGATION_RIGHT 0x8D 180#define VK_NAVIGATION_ACCEPT 0x8E 181#define VK_NAVIGATION_CANCEL 0x8F 182#define VK_NUMLOCK 0x90 183#define VK_SCROLL 0x91 184#define VK_OEM_NEC_EQUAL 0x92 185#define VK_OEM_FJ_JISHO 0x92 186#define VK_OEM_FJ_MASSHOU 0x93 187#define VK_OEM_FJ_TOUROKU 0x94 188#define VK_OEM_FJ_LOYA 0x95 189#define VK_OEM_FJ_ROYA 0x96 190/* 0x97-0x9F Unassigned */ 191/* 192 * differencing between right and left shift/control/alt key. 193 * Used only by GetAsyncKeyState() and GetKeyState(). 194 */ 195#define VK_LSHIFT 0xA0 196#define VK_RSHIFT 0xA1 197#define VK_LCONTROL 0xA2 198#define VK_RCONTROL 0xA3 199#define VK_LMENU 0xA4 200#define VK_RMENU 0xA5 201 202#define VK_BROWSER_BACK 0xA6 203#define VK_BROWSER_FORWARD 0xA7 204#define VK_BROWSER_REFRESH 0xA8 205#define VK_BROWSER_STOP 0xA9 206#define VK_BROWSER_SEARCH 0xAA 207#define VK_BROWSER_FAVORITES 0xAB 208#define VK_BROWSER_HOME 0xAC 209#define VK_VOLUME_MUTE 0xAD 210#define VK_VOLUME_DOWN 0xAE 211#define VK_VOLUME_UP 0xAF 212#define VK_MEDIA_NEXT_TRACK 0xB0 213#define VK_MEDIA_PREV_TRACK 0xB1 214#define VK_MEDIA_STOP 0xB2 215#define VK_MEDIA_PLAY_PAUSE 0xB3 216#define VK_LAUNCH_MAIL 0xB4 217#define VK_LAUNCH_MEDIA_SELECT 0xB5 218#define VK_LAUNCH_APP1 0xB6 219#define VK_LAUNCH_APP2 0xB7 220 221/* 0xB8-0xB9 Unassigned */ 222#define VK_OEM_1 0xBA 223#define VK_OEM_PLUS 0xBB 224#define VK_OEM_COMMA 0xBC 225#define VK_OEM_MINUS 0xBD 226#define VK_OEM_PERIOD 0xBE 227#define VK_OEM_2 0xBF 228#define VK_OEM_3 0xC0 229/* 0xC1-0xC2 Unassigned */ 230#define VK_GAMEPAD_A 0xC3 231#define VK_GAMEPAD_B 0xC4 232#define VK_GAMEPAD_X 0xC5 233#define VK_GAMEPAD_Y 0xC6 234#define VK_GAMEPAD_RIGHT_SHOULDER 0xC7 235#define VK_GAMEPAD_LEFT_SHOULDER 0xC8 236#define VK_GAMEPAD_LEFT_TRIGGER 0xC9 237#define VK_GAMEPAD_RIGHT_TRIGGER 0xCA 238#define VK_GAMEPAD_DPAD_UP 0xCB 239#define VK_GAMEPAD_DPAD_DOWN 0xCC 240#define VK_GAMEPAD_DPAD_LEFT 0xCD 241#define VK_GAMEPAD_DPAD_RIGHT 0xCE 242#define VK_GAMEPAD_MENU 0xCF 243#define VK_GAMEPAD_VIEW 0xD0 244#define VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON 0xD1 245#define VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON 0xD2 246#define VK_GAMEPAD_LEFT_THUMBSTICK_UP 0xD3 247#define VK_GAMEPAD_LEFT_THUMBSTICK_DOWN 0xD4 248#define VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT 0xD5 249#define VK_GAMEPAD_LEFT_THUMBSTICK_LEFT 0xD6 250#define VK_GAMEPAD_RIGHT_THUMBSTICK_UP 0xD7 251#define VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN 0xD8 252#define VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT 0xD9 253#define VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT 0xDA 254#define VK_OEM_4 0xDB 255#define VK_OEM_5 0xDC 256#define VK_OEM_6 0xDD 257#define VK_OEM_7 0xDE 258#define VK_OEM_8 0xDF 259/* 0xE0 OEM specific */ 260#define VK_OEM_AX 0xE1 /* "AX" key on Japanese AX keyboard */ 261#define VK_OEM_102 0xE2 /* "<>" or "\|" on RT 102-key keyboard */ 262#define VK_ICO_HELP 0xE3 /* Help key on ICO */ 263#define VK_ICO_00 0xE4 /* 00 key on ICO */ 264#define VK_PROCESSKEY 0xE5 265#define VK_ICO_CLEAR 0xE6 266 267#define VK_PACKET 0xE7 268/* 0xE8 Unassigned */ 269 270#define VK_OEM_RESET 0xE9 271#define VK_OEM_JUMP 0xEA 272#define VK_OEM_PA1 0xEB 273#define VK_OEM_PA2 0xEC 274#define VK_OEM_PA3 0xED 275#define VK_OEM_WSCTRL 0xEE 276#define VK_OEM_CUSEL 0xEF 277#define VK_OEM_ATTN 0xF0 278#define VK_OEM_FINISH 0xF1 279#define VK_OEM_COPY 0xF2 280#define VK_OEM_AUTO 0xF3 281#define VK_OEM_ENLW 0xF4 282#define VK_OEM_BACKTAB 0xF5 283#define VK_ATTN 0xF6 284#define VK_CRSEL 0xF7 285#define VK_EXSEL 0xF8 286#define VK_EREOF 0xF9 287#define VK_PLAY 0xFA 288#define VK_ZOOM 0xFB 289#define VK_NONAME 0xFC 290#define VK_PA1 0xFD 291#define VK_OEM_CLEAR 0xFE 292/* 0xFF Unassigned */ 293 294 295/*** Messages ***/ 296#ifndef NOWINMESSAGES 297#define WM_NULL 0x0000 298#define WM_CREATE 0x0001 299#define WM_DESTROY 0x0002 300#define WM_MOVE 0x0003 301#define WM_SIZEWAIT 0x0004 /* DDK / Win16 */ 302#define WM_SIZE 0x0005 303#define WM_ACTIVATE 0x0006 304 305/* WM_ACTIVATE wParam values */ 306#define WA_INACTIVE 0 307#define WA_ACTIVE 1 308#define WA_CLICKACTIVE 2 309 310#define WM_SETFOCUS 0x0007 311#define WM_KILLFOCUS 0x0008 312#define WM_SETVISIBLE 0x0009 /* DDK / Win16 */ 313#define WM_ENABLE 0x000a 314#define WM_SETREDRAW 0x000b 315#define WM_SETTEXT 0x000c 316#define WM_GETTEXT 0x000d 317#define WM_GETTEXTLENGTH 0x000e 318#define WM_PAINT 0x000f 319#define WM_CLOSE 0x0010 320#define WM_QUERYENDSESSION 0x0011 321#define WM_QUIT 0x0012 322#define WM_QUERYOPEN 0x0013 323#define WM_ERASEBKGND 0x0014 324#define WM_SYSCOLORCHANGE 0x0015 325#define WM_ENDSESSION 0x0016 326#define WM_SYSTEMERROR 0x0017 /* DDK / Win16 */ 327#define WM_SHOWWINDOW 0x0018 328#define WM_CTLCOLOR 0x0019 /* Added from windowsx.h */ 329#define WM_WININICHANGE 0x001a 330#define WM_SETTINGCHANGE WM_WININICHANGE 331#define WM_DEVMODECHANGE 0x001b 332#define WM_ACTIVATEAPP 0x001c 333#define WM_FONTCHANGE 0x001d 334#define WM_TIMECHANGE 0x001e 335#define WM_CANCELMODE 0x001f 336#define WM_SETCURSOR 0x0020 337#define WM_MOUSEACTIVATE 0x0021 338#define WM_CHILDACTIVATE 0x0022 339#define WM_QUEUESYNC 0x0023 340#define WM_GETMINMAXINFO 0x0024 341 342#define WM_PAINTICON 0x0026 343#define WM_ICONERASEBKGND 0x0027 344#define WM_NEXTDLGCTL 0x0028 345#define WM_ALTTABACTIVE 0x0029 /* DDK / Win16 */ 346#define WM_SPOOLERSTATUS 0x002a 347#define WM_DRAWITEM 0x002b 348#define WM_MEASUREITEM 0x002c 349#define WM_DELETEITEM 0x002d 350#define WM_VKEYTOITEM 0x002e 351#define WM_CHARTOITEM 0x002f 352#define WM_SETFONT 0x0030 353#define WM_GETFONT 0x0031 354#define WM_SETHOTKEY 0x0032 355#define WM_GETHOTKEY 0x0033 356#define WM_FILESYSCHANGE 0x0034 /* DDK / Win16 */ 357#define WM_ISACTIVEICON 0x0035 /* DDK / Win16 */ 358#define WM_QUERYPARKICON 0x0036 /* Undocumented */ 359#define WM_QUERYDRAGICON 0x0037 360#define WM_QUERYSAVESTATE 0x0038 /* Undocumented */ 361#define WM_COMPAREITEM 0x0039 362#define WM_TESTING 0x003a /* DDK / Win16 */ 363 364#define WM_GETOBJECT 0x003d 365 366#define WM_ACTIVATESHELLWINDOW 0x003e /* FIXME: Wine-only */ 367 368#define WM_COMPACTING 0x0041 369 370#define WM_COMMNOTIFY 0x0044 371#define WM_WINDOWPOSCHANGING 0x0046 372#define WM_WINDOWPOSCHANGED 0x0047 373 374#define WM_POWER 0x0048 375 376/* For WM_POWER */ 377#define PWR_OK 1 378#define PWR_FAIL (-1) 379#define PWR_SUSPENDREQUEST 1 380#define PWR_SUSPENDRESUME 2 381#define PWR_CRITICALRESUME 3 382 383/* Win32 4.0 messages */ 384#define WM_COPYDATA 0x004a 385#define WM_CANCELJOURNAL 0x004b 386#define WM_KEYF1 0x004d /* DDK / Win16 */ 387#define WM_NOTIFY 0x004e 388#define WM_INPUTLANGCHANGEREQUEST 0x0050 389#define WM_INPUTLANGCHANGE 0x0051 390#define WM_TCARD 0x0052 391#define WM_HELP 0x0053 392#define WM_USERCHANGED 0x0054 393#define WM_NOTIFYFORMAT 0x0055 394 395/* WM_NOTIFYFORMAT commands and return values */ 396#define NFR_ANSI 1 397#define NFR_UNICODE 2 398#define NF_QUERY 3 399#define NF_REQUERY 4 400 401#define WM_CONTEXTMENU 0x007b 402#define WM_STYLECHANGING 0x007c 403#define WM_STYLECHANGED 0x007d 404#define WM_DISPLAYCHANGE 0x007e 405#define WM_GETICON 0x007f 406#define WM_SETICON 0x0080 407 408/* Non-client system messages */ 409#define WM_NCCREATE 0x0081 410#define WM_NCDESTROY 0x0082 411#define WM_NCCALCSIZE 0x0083 412#define WM_NCHITTEST 0x0084 413#define WM_NCPAINT 0x0085 414#define WM_NCACTIVATE 0x0086 415 416#define WM_GETDLGCODE 0x0087 417#define WM_SYNCPAINT 0x0088 418#define WM_SYNCTASK 0x0089 /* DDK / Win16 */ 419 420/* Non-client mouse messages */ 421#define WM_NCMOUSEMOVE 0x00a0 422#define WM_NCLBUTTONDOWN 0x00a1 423#define WM_NCLBUTTONUP 0x00a2 424#define WM_NCLBUTTONDBLCLK 0x00a3 425#define WM_NCRBUTTONDOWN 0x00a4 426#define WM_NCRBUTTONUP 0x00a5 427#define WM_NCRBUTTONDBLCLK 0x00a6 428#define WM_NCMBUTTONDOWN 0x00a7 429#define WM_NCMBUTTONUP 0x00a8 430#define WM_NCMBUTTONDBLCLK 0x00a9 431 432#define WM_NCXBUTTONDOWN 0x00ab 433#define WM_NCXBUTTONUP 0x00ac 434#define WM_NCXBUTTONDBLCLK 0x00ad 435 436/* Raw input */ 437#define WM_INPUT_DEVICE_CHANGE 0x00fe 438#define WM_INPUT 0x00ff 439 440/* Keyboard messages */ 441#define WM_KEYFIRST 0x0100 442#define WM_KEYDOWN WM_KEYFIRST 443#define WM_KEYUP 0x0101 444#define WM_CHAR 0x0102 445#define WM_DEADCHAR 0x0103 446#define WM_SYSKEYDOWN 0x0104 447#define WM_SYSKEYUP 0x0105 448#define WM_SYSCHAR 0x0106 449#define WM_SYSDEADCHAR 0x0107 450#define WM_UNICHAR 0x0109 451#define WM_KEYLAST WM_UNICHAR 452 453#define UNICODE_NOCHAR 0xffff 454 455/* Win32 4.0 messages for IME */ 456#define WM_IME_STARTCOMPOSITION 0x010d 457#define WM_IME_ENDCOMPOSITION 0x010e 458#define WM_IME_COMPOSITION 0x010f 459#define WM_IME_KEYLAST 0x010f 460 461#define WM_INITDIALOG 0x0110 462#define WM_COMMAND 0x0111 463#define WM_SYSCOMMAND 0x0112 464#define WM_TIMER 0x0113 465 466/* Scroll messages */ 467#define WM_HSCROLL 0x0114 468#define WM_VSCROLL 0x0115 469 470/* Menu messages */ 471#define WM_INITMENU 0x0116 472#define WM_INITMENUPOPUP 0x0117 473#define WM_GESTURE 0x0119 474#define WM_GESTURENOTIFY 0x011A 475 476#define WM_MENUSELECT 0x011F 477#define WM_MENUCHAR 0x0120 478#define WM_ENTERIDLE 0x0121 479 480#define WM_MENURBUTTONUP 0x0122 481#define WM_MENUDRAG 0x0123 482#define WM_MENUGETOBJECT 0x0124 483#define WM_UNINITMENUPOPUP 0x0125 484#define WM_MENUCOMMAND 0x0126 485 486#define WM_CHANGEUISTATE 0x0127 487#define WM_UPDATEUISTATE 0x0128 488#define WM_QUERYUISTATE 0x0129 489 490/* UI flags for WM_*UISTATE */ 491/* for low-order word of wparam */ 492#define UIS_SET 1 493#define UIS_CLEAR 2 494#define UIS_INITIALIZE 3 495/* for hi-order word of wparam */ 496#define UISF_HIDEFOCUS 0x1 497#define UISF_HIDEACCEL 0x2 498#define UISF_ACTIVE 0x4 499 500#define WM_LBTRACKPOINT 0x0131 /* DDK / Win16 */ 501 502/* Win32 CTLCOLOR messages */ 503#define WM_CTLCOLORMSGBOX 0x0132 504#define WM_CTLCOLOREDIT 0x0133 505#define WM_CTLCOLORLISTBOX 0x0134 506#define WM_CTLCOLORBTN 0x0135 507#define WM_CTLCOLORDLG 0x0136 508#define WM_CTLCOLORSCROLLBAR 0x0137 509#define WM_CTLCOLORSTATIC 0x0138 510 511#define MN_GETHMENU 0x01E1 512 513/* Mouse messages */ 514#define WM_MOUSEFIRST 0x0200 515#define WM_MOUSEMOVE WM_MOUSEFIRST 516#define WM_LBUTTONDOWN 0x0201 517#define WM_LBUTTONUP 0x0202 518#define WM_LBUTTONDBLCLK 0x0203 519#define WM_RBUTTONDOWN 0x0204 520#define WM_RBUTTONUP 0x0205 521#define WM_RBUTTONDBLCLK 0x0206 522#define WM_MBUTTONDOWN 0x0207 523#define WM_MBUTTONUP 0x0208 524#define WM_MBUTTONDBLCLK 0x0209 525#define WM_MOUSEWHEEL 0x020A 526#define WM_XBUTTONDOWN 0x020B 527#define WM_XBUTTONUP 0x020C 528#define WM_XBUTTONDBLCLK 0x020D 529#define WM_MOUSEHWHEEL 0x020E 530#define WM_MOUSELAST WM_MOUSEHWHEEL 531 532/* Macros for the mouse messages */ 533#define WHEEL_DELTA 120 534#define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam)) 535#define WHEEL_PAGESCROLL (UINT_MAX) 536 537#define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam)) 538#define GET_NCHITTEST_WPARAM(wParam) ((short)LOWORD(wParam)) 539#define GET_XBUTTON_WPARAM(wParam) (HIWORD(wParam)) 540#define XBUTTON1 0x0001 541#define XBUTTON2 0x0002 542 543#define WM_PARENTNOTIFY 0x0210 544#define WM_ENTERMENULOOP 0x0211 545#define WM_EXITMENULOOP 0x0212 546#define WM_NEXTMENU 0x0213 547 548/* Win32 4.0 messages */ 549#define WM_SIZING 0x0214 550#define WM_CAPTURECHANGED 0x0215 551#define WM_MOVING 0x0216 552#define WM_POWERBROADCAST 0x0218 553#define WM_DEVICECHANGE 0x0219 554/* MDI messages */ 555#define WM_MDICREATE 0x0220 556#define WM_MDIDESTROY 0x0221 557#define WM_MDIACTIVATE 0x0222 558#define WM_MDIRESTORE 0x0223 559#define WM_MDINEXT 0x0224 560#define WM_MDIMAXIMIZE 0x0225 561#define WM_MDITILE 0x0226 562#define WM_MDICASCADE 0x0227 563#define WM_MDIICONARRANGE 0x0228 564#define WM_MDIGETACTIVE 0x0229 565 566/* D&D messages */ 567#define WM_DROPOBJECT 0x022A /* DDK / Win16 */ 568#define WM_QUERYDROPOBJECT 0x022B /* DDK / Win16 */ 569#define WM_BEGINDRAG 0x022C /* DDK / Win16 */ 570#define WM_DRAGLOOP 0x022D /* DDK / Win16 */ 571#define WM_DRAGSELECT 0x022E /* DDK / Win16 */ 572#define WM_DRAGMOVE 0x022F /* DDK / Win16 */ 573 574#define WM_MDISETMENU 0x0230 575#define WM_ENTERSIZEMOVE 0x0231 576#define WM_EXITSIZEMOVE 0x0232 577#define WM_DROPFILES 0x0233 578#define WM_MDIREFRESHMENU 0x0234 579 580#define WM_POINTERDEVICECHANGE 0x0238 581#define WM_POINTERDEVICEINRANGE 0x0239 582#define WM_POINTERDEVICEOUTOFRANGE 0x023a 583 584#define WM_TOUCH 0x0240 585#define WM_NCPOINTERUPDATE 0x0241 586#define WM_NCPOINTERDOWN 0x0242 587#define WM_NCPOINTERUP 0x0243 588#define WM_POINTERUPDATE 0x0245 589#define WM_POINTERDOWN 0x0246 590#define WM_POINTERUP 0x0247 591#define WM_POINTERENTER 0x0249 592#define WM_POINTERLEAVE 0x024a 593#define WM_POINTERACTIVATE 0x024b 594#define WM_POINTERCAPTURECHANGED 0x024c 595#define WM_TOUCHHITTESTING 0x024d 596#define WM_POINTERWHEEL 0x024e 597#define WM_POINTERHWHEEL 0x024f 598#define DM_POINTERHITTEST 0x0250 599#define WM_POINTERROUTEDTO 0x0251 600#define WM_POINTERROUTEDAWAY 0x0252 601#define WM_POINTERROUTEDRELEASED 0x0253 602 603/* Win32 4.0 messages for IME */ 604#define WM_IME_SETCONTEXT 0x0281 605#define WM_IME_NOTIFY 0x0282 606#define WM_IME_CONTROL 0x0283 607#define WM_IME_COMPOSITIONFULL 0x0284 608#define WM_IME_SELECT 0x0285 609#define WM_IME_CHAR 0x0286 610/* Win32 5.0 messages for IME */ 611#define WM_IME_REQUEST 0x0288 612 613/* Win32 4.0 messages for IME */ 614#define WM_IME_KEYDOWN 0x0290 615#define WM_IME_KEYUP 0x0291 616 617#define WM_NCMOUSEHOVER 0x02A0 618#define WM_MOUSEHOVER 0x02A1 619#define WM_MOUSELEAVE 0x02A3 620#define WM_NCMOUSELEAVE 0x02A2 621 622#define WM_WTSSESSION_CHANGE 0x02B1 623 624#define WM_TABLET_FIRST 0x02c0 625#define WM_TABLET_LAST 0x02df 626 627#define WM_DPICHANGED 0x02e0 628#define WM_DPICHANGED_BEFOREPARENT 0x02e2 629#define WM_DPICHANGED_AFTERPARENT 0x02e3 630#define WM_GETDPISCALEDSIZE 0x02e4 631 632/* Clipboard command messages */ 633#define WM_CUT 0x0300 634#define WM_COPY 0x0301 635#define WM_PASTE 0x0302 636#define WM_CLEAR 0x0303 637#define WM_UNDO 0x0304 638 639/* Clipboard owner messages */ 640#define WM_RENDERFORMAT 0x0305 641#define WM_RENDERALLFORMATS 0x0306 642#define WM_DESTROYCLIPBOARD 0x0307 643 644/* Clipboard viewer messages */ 645#define WM_DRAWCLIPBOARD 0x0308 646#define WM_PAINTCLIPBOARD 0x0309 647#define WM_VSCROLLCLIPBOARD 0x030A 648#define WM_SIZECLIPBOARD 0x030B 649#define WM_ASKCBFORMATNAME 0x030C 650#define WM_CHANGECBCHAIN 0x030D 651#define WM_HSCROLLCLIPBOARD 0x030E 652 653#define WM_QUERYNEWPALETTE 0x030F 654#define WM_PALETTEISCHANGING 0x0310 655#define WM_PALETTECHANGED 0x0311 656#define WM_HOTKEY 0x0312 657 658#define WM_PRINT 0x0317 659#define WM_PRINTCLIENT 0x0318 660#define WM_APPCOMMAND 0x0319 661#define WM_THEMECHANGED 0x031A 662#define WM_CLIPBOARDUPDATE 0x031D 663 664#define WM_DWMCOMPOSITIONCHANGED 0x031E 665#define WM_DWMNCRENDERINGCHANGED 0x031F 666#define WM_DWMCOLORIZATIONCOLORCHANGED 0x0320 667#define WM_DWMWINDOWMAXIMIZEDCHANGE 0x0321 668#define WM_DWMSENDICONICTHUMBNAIL 0x0323 669#define WM_DWMSENDICONICLIVEPREVIEWBITMAP 0x0326 670 671#define WM_GETTITLEBARINFOEX 0x033F 672 673#define WM_HANDHELDFIRST 0x0358 674#define WM_HANDHELDLAST 0x035F 675 676#define WM_AFXFIRST 0x0360 677#define WM_AFXLAST 0x037F 678 679#define WM_PENWINFIRST 0x0380 680#define WM_PENWINLAST 0x038F 681 682#define WM_USER 0x0400 683 684#define WM_APP 0x8000 685 686 687/* wParam for WM_SIZING message */ 688#define WMSZ_LEFT 1 689#define WMSZ_RIGHT 2 690#define WMSZ_TOP 3 691#define WMSZ_TOPLEFT 4 692#define WMSZ_TOPRIGHT 5 693#define WMSZ_BOTTOM 6 694#define WMSZ_BOTTOMLEFT 7 695#define WMSZ_BOTTOMRIGHT 8 696 697/* WM_NCHITTEST return codes */ 698#define HTERROR (-2) 699#define HTTRANSPARENT (-1) 700#define HTNOWHERE 0 701#define HTCLIENT 1 702#define HTCAPTION 2 703#define HTSYSMENU 3 704#define HTSIZE 4 705#define HTGROWBOX HTSIZE 706#define HTMENU 5 707#define HTHSCROLL 6 708#define HTVSCROLL 7 709#define HTMINBUTTON 8 710#define HTREDUCE HTMINBUTTON 711#define HTMAXBUTTON 9 712#define HTZOOM HTMAXBUTTON 713#define HTLEFT 10 714#define HTSIZEFIRST HTLEFT 715#define HTRIGHT 11 716#define HTTOP 12 717#define HTTOPLEFT 13 718#define HTTOPRIGHT 14 719#define HTBOTTOM 15 720#define HTBOTTOMLEFT 16 721#define HTBOTTOMRIGHT 17 722#define HTSIZELAST HTBOTTOMRIGHT 723#define HTBORDER 18 724#define HTOBJECT 19 725#define HTCLOSE 20 726#define HTHELP 21 727 728/* SendMessageTimeout flags */ 729#define SMTO_NORMAL 0x0000 730#define SMTO_BLOCK 0x0001 731#define SMTO_ABORTIFHUNG 0x0002 732#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008 733#define SMTO_ERRORONEXIT 0x0020 734 735/* WM_MOUSEACTIVATE return values */ 736#define MA_ACTIVATE 1 737#define MA_ACTIVATEANDEAT 2 738#define MA_NOACTIVATE 3 739#define MA_NOACTIVATEANDEAT 4 740 741/* WM_GETICON/WM_SETICON params values */ 742#define ICON_SMALL 0 743#define ICON_BIG 1 744#define ICON_SMALL2 2 745 746/* WM_SIZE message wParam values */ 747#define SIZE_RESTORED 0 748#define SIZE_MINIMIZED 1 749#define SIZE_MAXIMIZED 2 750#define SIZE_MAXSHOW 3 751#define SIZE_MAXHIDE 4 752#define SIZENORMAL SIZE_RESTORED 753#define SIZEICONIC SIZE_MINIMIZED 754#define SIZEFULLSCREEN SIZE_MAXIMIZED 755#define SIZEZOOMSHOW SIZE_MAXSHOW 756#define SIZEZOOMHIDE SIZE_MAXHIDE 757 758/* WM_NCCALCSIZE return flags */ 759#define WVR_ALIGNTOP 0x0010 760#define WVR_ALIGNLEFT 0x0020 761#define WVR_ALIGNBOTTOM 0x0040 762#define WVR_ALIGNRIGHT 0x0080 763#define WVR_HREDRAW 0x0100 764#define WVR_VREDRAW 0x0200 765#define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW) 766#define WVR_VALIDRECTS 0x0400 767 768/* Key status flags for mouse events */ 769#ifndef NOKEYSTATES 770#define MK_LBUTTON 0x0001 771#define MK_RBUTTON 0x0002 772#define MK_SHIFT 0x0004 773#define MK_CONTROL 0x0008 774#define MK_MBUTTON 0x0010 775#define MK_XBUTTON1 0x0020 776#define MK_XBUTTON2 0x0040 777#endif /* NOKEYSTATES */ 778 779#ifndef NOTRACKMOUSEEVENT 780#define TME_HOVER 0x00000001 781#define TME_LEAVE 0x00000002 782#define TME_NONCLIENT 0x00000010 783#define TME_QUERY 0x40000000 784#define TME_CANCEL 0x80000000 785#define HOVER_DEFAULT 0xFFFFFFFF 786#endif /* NOTRACKMOUSEEVENT */ 787 788#endif /* NOWINMESSAGES */ 789 790 791/*** Window Styles ***/ 792#ifndef NOWINSTYLES 793#define WS_OVERLAPPED __MSABI_LONG(0x00000000) 794#define WS_POPUP __MSABI_LONG(0x80000000) 795#define WS_CHILD __MSABI_LONG(0x40000000) 796#define WS_MINIMIZE __MSABI_LONG(0x20000000) 797#define WS_VISIBLE __MSABI_LONG(0x10000000) 798#define WS_DISABLED __MSABI_LONG(0x08000000) 799#define WS_CLIPSIBLINGS __MSABI_LONG(0x04000000) 800#define WS_CLIPCHILDREN __MSABI_LONG(0x02000000) 801#define WS_MAXIMIZE __MSABI_LONG(0x01000000) 802#define WS_BORDER __MSABI_LONG(0x00800000) 803#define WS_DLGFRAME __MSABI_LONG(0x00400000) 804#define WS_VSCROLL __MSABI_LONG(0x00200000) 805#define WS_HSCROLL __MSABI_LONG(0x00100000) 806#define WS_SYSMENU __MSABI_LONG(0x00080000) 807#define WS_THICKFRAME __MSABI_LONG(0x00040000) 808#define WS_GROUP __MSABI_LONG(0x00020000) 809#define WS_TABSTOP __MSABI_LONG(0x00010000) 810#define WS_MINIMIZEBOX __MSABI_LONG(0x00020000) 811#define WS_MAXIMIZEBOX __MSABI_LONG(0x00010000) 812#define WS_CAPTION (WS_BORDER | WS_DLGFRAME) 813#define WS_TILED WS_OVERLAPPED 814#define WS_ICONIC WS_MINIMIZE 815#define WS_SIZEBOX WS_THICKFRAME 816#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX) 817#define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU) 818#define WS_CHILDWINDOW WS_CHILD 819#define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW 820#endif /* NOWINSTYLES */ 821 822 823/*** Window extended styles ***/ 824#ifndef NOWINSTYLES 825#define WS_EX_DLGMODALFRAME __MSABI_LONG(0x00000001) 826#define WS_EX_DRAGDETECT __MSABI_LONG(0x00000002) /* Undocumented */ 827#define WS_EX_NOPARENTNOTIFY __MSABI_LONG(0x00000004) 828#define WS_EX_TOPMOST __MSABI_LONG(0x00000008) 829#define WS_EX_ACCEPTFILES __MSABI_LONG(0x00000010) 830#define WS_EX_TRANSPARENT __MSABI_LONG(0x00000020) 831#define WS_EX_MDICHILD __MSABI_LONG(0x00000040) 832#define WS_EX_TOOLWINDOW __MSABI_LONG(0x00000080) 833#define WS_EX_WINDOWEDGE __MSABI_LONG(0x00000100) 834#define WS_EX_CLIENTEDGE __MSABI_LONG(0x00000200) 835#define WS_EX_CONTEXTHELP __MSABI_LONG(0x00000400) 836#define WS_EX_RIGHT __MSABI_LONG(0x00001000) 837#define WS_EX_LEFT __MSABI_LONG(0x00000000) 838#define WS_EX_RTLREADING __MSABI_LONG(0x00002000) 839#define WS_EX_LTRREADING __MSABI_LONG(0x00000000) 840#define WS_EX_LEFTSCROLLBAR __MSABI_LONG(0x00004000) 841#define WS_EX_RIGHTSCROLLBAR __MSABI_LONG(0x00000000) 842#define WS_EX_CONTROLPARENT __MSABI_LONG(0x00010000) 843#define WS_EX_STATICEDGE __MSABI_LONG(0x00020000) 844#define WS_EX_APPWINDOW __MSABI_LONG(0x00040000) 845#define WS_EX_LAYERED __MSABI_LONG(0x00080000) 846#define WS_EX_NOINHERITLAYOUT __MSABI_LONG(0x00100000) 847#define WS_EX_NOREDIRECTIONBITMAP __MSABI_LONG(0x00200000) 848#define WS_EX_LAYOUTRTL __MSABI_LONG(0x00400000) 849#define WS_EX_COMPOSITED __MSABI_LONG(0x02000000) 850#define WS_EX_NOACTIVATE __MSABI_LONG(0x08000000) 851 852#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE) 853#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST) 854#endif /* NOWINSTYLES */ 855 856 857/*** Class styles ***/ 858#ifndef NOWINSTYLES 859#define CS_VREDRAW 0x00000001 860#define CS_HREDRAW 0x00000002 861#define CS_KEYCVTWINDOW 0x00000004 /* DDK / Win16 */ 862#define CS_DBLCLKS 0x00000008 863#define CS_OWNDC 0x00000020 864#define CS_CLASSDC 0x00000040 865#define CS_PARENTDC 0x00000080 866#define CS_NOKEYCVT 0x00000100 /* DDK / Win16 */ 867#define CS_NOCLOSE 0x00000200 868#define CS_SAVEBITS 0x00000800 869#define CS_BYTEALIGNCLIENT 0x00001000 870#define CS_BYTEALIGNWINDOW 0x00002000 871#define CS_GLOBALCLASS 0x00004000 872#define CS_IME 0x00010000 873#define CS_DROPSHADOW 0x00020000 874#endif /* NOWINSTYLES */ 875 876 877/*** Predefined Clipboard Formats ***/ 878#ifndef NOCLIPBOARD 879#define CF_TEXT 1 880#define CF_BITMAP 2 881#define CF_METAFILEPICT 3 882#define CF_SYLK 4 883#define CF_DIF 5 884#define CF_TIFF 6 885#define CF_OEMTEXT 7 886#define CF_DIB 8 887#define CF_PALETTE 9 888#define CF_PENDATA 10 889#define CF_RIFF 11 890#define CF_WAVE 12 891#define CF_UNICODETEXT 13 892#define CF_ENHMETAFILE 14 893#define CF_HDROP 15 894#define CF_LOCALE 16 895#define CF_DIBV5 17 896#define CF_MAX 18 897 898#define CF_OWNERDISPLAY 0x0080 899#define CF_DSPTEXT 0x0081 900#define CF_DSPBITMAP 0x0082 901#define CF_DSPMETAFILEPICT 0x0083 902#define CF_DSPENHMETAFILE 0x008E 903 904/* "Private" formats don't get GlobalFree()'d */ 905#define CF_PRIVATEFIRST 0x0200 906#define CF_PRIVATELAST 0x02FF 907 908/* "GDIOBJ" formats do get DeleteObject()'d */ 909#define CF_GDIOBJFIRST 0x0300 910#define CF_GDIOBJLAST 0x03FF 911#endif /* NOCLIPBOARD */ 912 913 914/*** Menu flags ***/ 915#ifndef NOMENUS 916#define MF_INSERT __MSABI_LONG(0x00000000) 917#define MF_CHANGE __MSABI_LONG(0x00000080) 918#define MF_APPEND __MSABI_LONG(0x00000100) 919#define MF_DELETE __MSABI_LONG(0x00000200) 920#define MF_REMOVE __MSABI_LONG(0x00001000) 921#define MF_END __MSABI_LONG(0x00000080) 922 923#define MF_ENABLED __MSABI_LONG(0x00000000) 924#define MF_GRAYED __MSABI_LONG(0x00000001) 925#define MF_DISABLED __MSABI_LONG(0x00000002) 926#define MF_STRING __MSABI_LONG(0x00000000) 927#define MF_BITMAP __MSABI_LONG(0x00000004) 928#define MF_UNCHECKED __MSABI_LONG(0x00000000) 929#define MF_CHECKED __MSABI_LONG(0x00000008) 930#define MF_POPUP __MSABI_LONG(0x00000010) 931#define MF_MENUBARBREAK __MSABI_LONG(0x00000020) 932#define MF_MENUBREAK __MSABI_LONG(0x00000040) 933#define MF_UNHILITE __MSABI_LONG(0x00000000) 934#define MF_HILITE __MSABI_LONG(0x00000080) 935#define MF_OWNERDRAW __MSABI_LONG(0x00000100) 936#define MF_USECHECKBITMAPS __MSABI_LONG(0x00000200) 937#define MF_BYCOMMAND __MSABI_LONG(0x00000000) 938#define MF_BYPOSITION __MSABI_LONG(0x00000400) 939#define MF_SEPARATOR __MSABI_LONG(0x00000800) 940#define MF_DEFAULT __MSABI_LONG(0x00001000) 941#define MF_SYSMENU __MSABI_LONG(0x00002000) 942#define MF_HELP __MSABI_LONG(0x00004000) 943#define MF_RIGHTJUSTIFY __MSABI_LONG(0x00004000) 944#define MF_MOUSESELECT __MSABI_LONG(0x00008000) 945 946/* Flags for extended menu item types */ 947#define MFT_STRING MF_STRING 948#define MFT_BITMAP MF_BITMAP 949#define MFT_MENUBARBREAK MF_MENUBARBREAK 950#define MFT_MENUBREAK MF_MENUBREAK 951#define MFT_OWNERDRAW MF_OWNERDRAW 952#define MFT_RADIOCHECK __MSABI_LONG(0x00000200) 953#define MFT_SEPARATOR MF_SEPARATOR 954#define MFT_RIGHTORDER __MSABI_LONG(0x00002000) 955#define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY 956 957/* Flags for extended menu item states */ 958#define MFS_GRAYED __MSABI_LONG(0x00000003) 959#define MFS_DISABLED MFS_GRAYED 960#define MFS_CHECKED MF_CHECKED 961#define MFS_HILITE MF_HILITE 962#define MFS_ENABLED MF_ENABLED 963#define MFS_UNCHECKED MF_UNCHECKED 964#define MFS_UNHILITE MF_UNHILITE 965#define MFS_DEFAULT MF_DEFAULT 966 967/* DDK / Win16 defines */ 968#define MFS_MASK __MSABI_LONG(0x0000108B) 969#define MFS_HOTTRACKDRAWN __MSABI_LONG(0x10000000) 970#define MFS_CACHEDBMP __MSABI_LONG(0x20000000) 971#define MFS_BOTTOMGAPDROP __MSABI_LONG(0x40000000) 972#define MFS_TOPGAPDROP __MSABI_LONG(0x80000000) 973#define MFS_GAPDROP (MFS_BOTTOMGAPDROP | MFS_TOPGAPDROP) 974#endif /* NOMENUS */ 975 976 977/*** WM_SYSCOMMAND parameters ***/ 978#ifndef NOSYSCOMMANDS 979/* At least HP-UX defines it in /usr/include/sys/signal.h */ 980# ifdef SC_SIZE 981# undef SC_SIZE 982# endif 983#define SC_SIZE 0xf000 984#define SC_MOVE 0xf010 985#define SC_MINIMIZE 0xf020 986#define SC_MAXIMIZE 0xf030 987#define SC_NEXTWINDOW 0xf040 988#define SC_PREVWINDOW 0xf050 989#define SC_CLOSE 0xf060 990#define SC_VSCROLL 0xf070 991#define SC_HSCROLL 0xf080 992#define SC_MOUSEMENU 0xf090 993#define SC_KEYMENU 0xf100 994#define SC_ARRANGE 0xf110 995#define SC_RESTORE 0xf120 996#define SC_TASKLIST 0xf130 997#define SC_SCREENSAVE 0xf140 998#define SC_HOTKEY 0xf150 999 1000/* Win32 4.0 */ 1001#define SC_DEFAULT 0xf160 1002#define SC_MONITORPOWER 0xf170 1003#define SC_CONTEXTHELP 0xf180 1004#define SC_SEPARATOR 0xf00f 1005 1006#define GET_SC_WPARAM(wParam) ((int)wParam & 0xfff0) 1007#define SCF_ISSECURE 0x0001 1008 1009/* Obsolete names */ 1010#define SC_ICON SC_MINIMIZE 1011#define SC_ZOOM SC_MAXIMIZE 1012#endif /* NOSYSCOMMANDS */ 1013 1014 1015/*** OEM Resource Ordinal Numbers ***/ 1016#ifdef OEMRESOURCE 1017#define OBM_RDRVERT 32559 1018#define OBM_RDRHORZ 32660 1019#define OBM_RDR2DIM 32661 1020#define OBM_TRTYPE 32732 /* FIXME: Wine-only */ 1021#define OBM_LFARROWI 32734 1022#define OBM_RGARROWI 32735 1023#define OBM_DNARROWI 32736 1024#define OBM_UPARROWI 32737 1025#define OBM_COMBO 32738 1026#define OBM_MNARROW 32739 1027#define OBM_LFARROWD 32740 1028#define OBM_RGARROWD 32741 1029#define OBM_DNARROWD 32742 1030#define OBM_UPARROWD 32743 1031#define OBM_RESTORED 32744 1032#define OBM_ZOOMD 32745 1033#define OBM_REDUCED 32746 1034#define OBM_RESTORE 32747 1035#define OBM_ZOOM 32748 1036#define OBM_REDUCE 32749 1037#define OBM_LFARROW 32750 1038#define OBM_RGARROW 32751 1039#define OBM_DNARROW 32752 1040#define OBM_UPARROW 32753 1041#define OBM_CLOSE 32754 1042#define OBM_OLD_RESTORE 32755 1043#define OBM_OLD_ZOOM 32756 1044#define OBM_OLD_REDUCE 32757 1045#define OBM_BTNCORNERS 32758 1046#define OBM_CHECKBOXES 32759 1047#define OBM_CHECK 32760 1048#define OBM_BTSIZE 32761 1049#define OBM_OLD_LFARROW 32762 1050#define OBM_OLD_RGARROW 32763 1051#define OBM_OLD_DNARROW 32764 1052#define OBM_OLD_UPARROW 32765 1053#define OBM_SIZE 32766 1054#define OBM_OLD_CLOSE 32767 1055 1056#define OCR_NORMAL 32512 1057#define OCR_IBEAM 32513 1058#define OCR_WAIT 32514 1059#define OCR_CROSS 32515 1060#define OCR_UP 32516 1061#define OCR_PEN 32631 1062#define OCR_SIZE 32640 1063#define OCR_ICON 32641 1064#define OCR_SIZENWSE 32642 1065#define OCR_SIZENESW 32643 1066#define OCR_SIZEWE 32644 1067#define OCR_SIZENS 32645 1068#define OCR_SIZEALL 32646 1069#define OCR_ICOCUR 32647 1070#define OCR_NO 32648 1071#define OCR_HAND 32649 1072#define OCR_APPSTARTING 32650 1073#define OCR_HELP 32651 /* DDK / Win16 */ 1074#define OCR_RDRVERT 32652 /* DDK / Win16 */ 1075#define OCR_RDRHORZ 32653 /* DDK / Win16 */ 1076#define OCR_RDR2DIM 32654 /* DDK / Win16 */ 1077#define OCR_RDRNORTH 32655 /* DDK / Win16 */ 1078#define OCR_RDRSOUTH 32656 /* DDK / Win16 */ 1079#define OCR_RDRWEST 32657 /* DDK / Win16 */ 1080#define OCR_RDREAST 32658 /* DDK / Win16 */ 1081#define OCR_RDRNORTHWEST 32659 /* DDK / Win16 */ 1082#define OCR_RDRNORTHEAST 32660 /* DDK / Win16 */ 1083#define OCR_RDRSOUTHWEST 32661 /* DDK / Win16 */ 1084#define OCR_RDRSOUTHEAST 32662 /* DDK / Win16 */ 1085 1086#define OIC_SAMPLE 32512 1087#define OIC_HAND 32513 1088#define OIC_ERROR OIC_HAND 1089#define OIC_QUES 32514 1090#define OIC_BANG 32515 1091#define OIC_WARNING OIC_BANG 1092#define OIC_NOTE 32516 1093#define OIC_INFORMATION OIC_NOTE 1094#define OIC_WINLOGO 32517 1095#define OIC_SHIELD 32518 1096#endif /* OEMRESOURCE */ 1097 1098 1099/*** Predefined resources ***/ 1100#ifndef NOICONS 1101#define IDI_APPLICATION MAKEINTRESOURCE(32512) 1102#define IDI_HAND MAKEINTRESOURCE(32513) 1103#define IDI_QUESTION MAKEINTRESOURCE(32514) 1104#define IDI_EXCLAMATION MAKEINTRESOURCE(32515) 1105#define IDI_ASTERISK MAKEINTRESOURCE(32516) 1106#define IDI_WINLOGO MAKEINTRESOURCE(32517) 1107#define IDI_SHIELD MAKEINTRESOURCE(32518) 1108 1109#define IDI_WARNING IDI_EXCLAMATION 1110#define IDI_ERROR IDI_HAND 1111#define IDI_INFORMATION IDI_ASTERISK 1112#endif /* NOICONS */ 1113 1114 1115/*** Standard dialog button IDs ***/ 1116#define IDOK 1 1117#define IDCANCEL 2 1118#define IDABORT 3 1119#define IDRETRY 4 1120#define IDIGNORE 5 1121#define IDYES 6 1122#define IDNO 7 1123#define IDCLOSE 8 1124#define IDHELP 9 1125#define IDTRYAGAIN 10 1126#define IDCONTINUE 11 1127#ifndef IDTIMEOUT 1128#define IDTIMEOUT 32000 1129#endif 1130 1131 1132/*** Edit control styles ***/ 1133#ifndef NOWINSTYLES 1134#define ES_LEFT __MSABI_LONG(0x00000000) 1135#define ES_CENTER __MSABI_LONG(0x00000001) 1136#define ES_RIGHT __MSABI_LONG(0x00000002) 1137#define ES_MULTILINE __MSABI_LONG(0x00000004) 1138#define ES_UPPERCASE __MSABI_LONG(0x00000008) 1139#define ES_LOWERCASE __MSABI_LONG(0x00000010) 1140#define ES_PASSWORD __MSABI_LONG(0x00000020) 1141#define ES_AUTOVSCROLL __MSABI_LONG(0x00000040) 1142#define ES_AUTOHSCROLL __MSABI_LONG(0x00000080) 1143#define ES_NOHIDESEL __MSABI_LONG(0x00000100) 1144#define ES_COMBO __MSABI_LONG(0x00000200) /* Undocumented. Parent is a combobox */ 1145#define ES_OEMCONVERT __MSABI_LONG(0x00000400) 1146#define ES_READONLY __MSABI_LONG(0x00000800) 1147#define ES_WANTRETURN __MSABI_LONG(0x00001000) 1148#define ES_NUMBER __MSABI_LONG(0x00002000) 1149#endif /* NOWINSTYLES */ 1150 1151 1152/*** Edit control messages ***/ 1153#ifndef NOWINMESSAGES 1154#define EM_GETSEL 0x00b0 1155#define EM_SETSEL 0x00b1 1156#define EM_GETRECT 0x00b2 1157#define EM_SETRECT 0x00b3 1158#define EM_SETRECTNP 0x00b4 1159#define EM_SCROLL 0x00b5 1160#define EM_LINESCROLL 0x00b6 1161#define EM_SCROLLCARET 0x00b7 1162#define EM_GETMODIFY 0x00b8 1163#define EM_SETMODIFY 0x00b9 1164#define EM_GETLINECOUNT 0x00ba 1165#define EM_LINEINDEX 0x00bb 1166#define EM_SETHANDLE 0x00bc 1167#define EM_GETHANDLE 0x00bd 1168#define EM_GETTHUMB 0x00be 1169/* Unassigned 0x00bf and 0x00c0 */ 1170#define EM_LINELENGTH 0x00c1 1171#define EM_REPLACESEL 0x00c2 1172#define EM_SETFONT 0x00c3 /* DDK / Win16 */ 1173#define EM_GETLINE 0x00c4 1174#define EM_LIMITTEXT 0x00c5 1175#define EM_SETLIMITTEXT EM_LIMITTEXT 1176#define EM_CANUNDO 0x00c6 1177#define EM_UNDO 0x00c7 1178#define EM_FMTLINES 0x00c8 1179#define EM_LINEFROMCHAR 0x00c9 1180#define EM_SETWORDBREAK 0x00ca /* DDK / Win16 */ 1181#define EM_SETTABSTOPS 0x00cb 1182#define EM_SETPASSWORDCHAR 0x00cc 1183#define EM_EMPTYUNDOBUFFER 0x00cd 1184#define EM_GETFIRSTVISIBLELINE 0x00ce 1185#define EM_SETREADONLY 0x00cf 1186#define EM_SETWORDBREAKPROC 0x00d0 1187#define EM_GETWORDBREAKPROC 0x00d1 1188#define EM_GETPASSWORDCHAR 0x00d2 1189#define EM_SETMARGINS 0x00d3 1190#define EM_GETMARGINS 0x00d4 1191#define EM_GETLIMITTEXT 0x00d5 1192#define EM_POSFROMCHAR 0x00d6 1193#define EM_CHARFROMPOS 0x00d7 1194#define EM_SETIMESTATUS 0x00d8 1195#define EM_GETIMESTATUS 0x00d9 1196#endif /* NOWINMESSAGES */ 1197 1198 1199/*** Button control styles ***/ 1200#define BS_PUSHBUTTON __MSABI_LONG(0x00000000) 1201#define BS_DEFPUSHBUTTON __MSABI_LONG(0x00000001) 1202#define BS_CHECKBOX __MSABI_LONG(0x00000002) 1203#define BS_AUTOCHECKBOX __MSABI_LONG(0x00000003) 1204#define BS_RADIOBUTTON __MSABI_LONG(0x00000004) 1205#define BS_3STATE __MSABI_LONG(0x00000005) 1206#define BS_AUTO3STATE __MSABI_LONG(0x00000006) 1207#define BS_GROUPBOX __MSABI_LONG(0x00000007) 1208#define BS_USERBUTTON __MSABI_LONG(0x00000008) 1209#define BS_AUTORADIOBUTTON __MSABI_LONG(0x00000009) 1210#define BS_PUSHBOX __MSABI_LONG(0x0000000A) 1211#define BS_OWNERDRAW __MSABI_LONG(0x0000000B) 1212#define BS_TYPEMASK __MSABI_LONG(0x0000000F) 1213#define BS_LEFTTEXT __MSABI_LONG(0x00000020) 1214#define BS_RIGHTBUTTON BS_LEFTTEXT 1215 1216#define BS_TEXT __MSABI_LONG(0x00000000) 1217#define BS_ICON __MSABI_LONG(0x00000040) 1218#define BS_BITMAP __MSABI_LONG(0x00000080) 1219#define BS_LEFT __MSABI_LONG(0x00000100) 1220#define BS_RIGHT __MSABI_LONG(0x00000200) 1221#define BS_CENTER __MSABI_LONG(0x00000300) 1222#define BS_TOP __MSABI_LONG(0x00000400) 1223#define BS_BOTTOM __MSABI_LONG(0x00000800) 1224#define BS_VCENTER __MSABI_LONG(0x00000C00) 1225#define BS_PUSHLIKE __MSABI_LONG(0x00001000) 1226#define BS_MULTILINE __MSABI_LONG(0x00002000) 1227#define BS_NOTIFY __MSABI_LONG(0x00004000) 1228#define BS_FLAT __MSABI_LONG(0x00008000) 1229 1230 1231/*** Button notification codes ***/ 1232#define BN_CLICKED 0 1233#define BN_PAINT 1 1234#define BN_HILITE 2 1235#define BN_PUSHED BN_HILITE 1236#define BN_UNHILITE 3 1237#define BN_UNPUSHED BN_UNHILITE 1238#define BN_DISABLE 4 1239#define BN_DOUBLECLICKED 5 1240#define BN_DBLCLK BN_DOUBLECLICKED 1241#define BN_SETFOCUS 6 1242#define BN_KILLFOCUS 7 1243 1244 1245/*** Win32 button control messages ***/ 1246#define BM_GETCHECK 0x00f0 1247#define BM_SETCHECK 0x00f1 1248#define BM_GETSTATE 0x00f2 1249#define BM_SETSTATE 0x00f3 1250#define BM_SETSTYLE 0x00f4 1251#define BM_CLICK 0x00f5 1252#define BM_GETIMAGE 0x00f6 1253#define BM_SETIMAGE 0x00f7 1254#define BM_SETDONTCLICK 0x00f8 1255 1256/* Button states */ 1257#define BST_UNCHECKED 0x0000 1258#define BST_CHECKED 0x0001 1259#define BST_INDETERMINATE 0x0002 1260#define BST_PUSHED 0x0004 1261#define BST_FOCUS 0x0008 1262 1263/*** Static Control Styles ***/ 1264#define SS_LEFT __MSABI_LONG(0x00000000) 1265#define SS_CENTER __MSABI_LONG(0x00000001) 1266#define SS_RIGHT __MSABI_LONG(0x00000002) 1267#define SS_ICON __MSABI_LONG(0x00000003) 1268#define SS_BLACKRECT __MSABI_LONG(0x00000004) 1269#define SS_GRAYRECT __MSABI_LONG(0x00000005) 1270#define SS_WHITERECT __MSABI_LONG(0x00000006) 1271#define SS_BLACKFRAME __MSABI_LONG(0x00000007) 1272#define SS_GRAYFRAME __MSABI_LONG(0x00000008) 1273#define SS_WHITEFRAME __MSABI_LONG(0x00000009) 1274#define SS_USERITEM __MSABI_LONG(0x0000000A) 1275#define SS_SIMPLE __MSABI_LONG(0x0000000B) 1276#define SS_LEFTNOWORDWRAP __MSABI_LONG(0x0000000C) 1277#define SS_OWNERDRAW __MSABI_LONG(0x0000000D) 1278#define SS_BITMAP __MSABI_LONG(0x0000000E) 1279#define SS_ENHMETAFILE __MSABI_LONG(0x0000000F) 1280#define SS_ETCHEDHORZ __MSABI_LONG(0x00000010) 1281#define SS_ETCHEDVERT __MSABI_LONG(0x00000011) 1282#define SS_ETCHEDFRAME __MSABI_LONG(0x00000012) 1283#define SS_TYPEMASK __MSABI_LONG(0x0000001F) 1284 1285#define SS_REALSIZECONTROL __MSABI_LONG(0x00000040) 1286#define SS_NOPREFIX __MSABI_LONG(0x00000080) 1287#define SS_NOTIFY __MSABI_LONG(0x00000100) 1288#define SS_CENTERIMAGE __MSABI_LONG(0x00000200) 1289#define SS_RIGHTJUST __MSABI_LONG(0x00000400) 1290#define SS_REALSIZEIMAGE __MSABI_LONG(0x00000800) 1291#define SS_SUNKEN __MSABI_LONG(0x00001000) 1292#define SS_EDITCONTROL __MSABI_LONG(0x00002000) 1293#define SS_ENDELLIPSIS __MSABI_LONG(0x00004000) 1294#define SS_PATHELLIPSIS __MSABI_LONG(0x00008000) 1295#define SS_WORDELLIPSIS __MSABI_LONG(0x0000C000) 1296#define SS_ELLIPSISMASK SS_WORDELLIPSIS 1297 1298 1299/*** Dialog styles ***/ 1300#define DS_ABSALIGN __MSABI_LONG(0x00000001) 1301#define DS_SYSMODAL __MSABI_LONG(0x00000002) 1302#define DS_3DLOOK __MSABI_LONG(0x00000004) /* win95 */ 1303#define DS_FIXEDSYS __MSABI_LONG(0x00000008) /* win95 */ 1304#define DS_NOFAILCREATE __MSABI_LONG(0x00000010) /* win95 */ 1305#define DS_LOCALEDIT __MSABI_LONG(0x00000020) 1306#define DS_SETFONT __MSABI_LONG(0x00000040) 1307#define DS_MODALFRAME __MSABI_LONG(0x00000080) 1308#define DS_NOIDLEMSG __MSABI_LONG(0x00000100) 1309#define DS_SETFOREGROUND __MSABI_LONG(0x00000200) /* win95 */ 1310#define DS_CONTROL __MSABI_LONG(0x00000400) /* win95 */ 1311#define DS_CENTER __MSABI_LONG(0x00000800) /* win95 */ 1312#define DS_CENTERMOUSE __MSABI_LONG(0x00001000) /* win95 */ 1313#define DS_CONTEXTHELP __MSABI_LONG(0x00002000) /* win95 */ 1314#define DS_USEPIXELS __MSABI_LONG(0x00008000) 1315#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS) 1316 1317 1318/*** Listbox styles ***/ 1319#ifndef NOWINSTYLES 1320#define LBS_NOTIFY __MSABI_LONG(0x00000001) 1321#define LBS_SORT __MSABI_LONG(0x00000002) 1322#define LBS_NOREDRAW __MSABI_LONG(0x00000004) 1323#define LBS_MULTIPLESEL __MSABI_LONG(0x00000008) 1324#define LBS_OWNERDRAWFIXED __MSABI_LONG(0x00000010) 1325#define LBS_OWNERDRAWVARIABLE __MSABI_LONG(0x00000020) 1326#define LBS_HASSTRINGS __MSABI_LONG(0x00000040) 1327#define LBS_USETABSTOPS __MSABI_LONG(0x00000080) 1328#define LBS_NOINTEGRALHEIGHT __MSABI_LONG(0x00000100) 1329#define LBS_MULTICOLUMN __MSABI_LONG(0x00000200) 1330#define LBS_WANTKEYBOARDINPUT __MSABI_LONG(0x00000400) 1331#define LBS_EXTENDEDSEL __MSABI_LONG(0x00000800) 1332#define LBS_DISABLENOSCROLL __MSABI_LONG(0x00001000) 1333#define LBS_NODATA __MSABI_LONG(0x00002000) 1334#define LBS_NOSEL __MSABI_LONG(0x00004000) 1335#define LBS_COMBOBOX __MSABI_LONG(0x00008000) 1336#define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER) 1337#endif /* NOWINSTYLES */ 1338 1339/*** Combo box styles ***/ 1340#ifndef NOWINSTYLES 1341#define CBS_SIMPLE __MSABI_LONG(0x00000001) 1342#define CBS_DROPDOWN __MSABI_LONG(0x00000002) 1343#define CBS_DROPDOWNLIST __MSABI_LONG(0x00000003) 1344#define CBS_OWNERDRAWFIXED __MSABI_LONG(0x00000010) 1345#define CBS_OWNERDRAWVARIABLE __MSABI_LONG(0x00000020) 1346#define CBS_AUTOHSCROLL __MSABI_LONG(0x00000040) 1347#define CBS_OEMCONVERT __MSABI_LONG(0x00000080) 1348#define CBS_SORT __MSABI_LONG(0x00000100) 1349#define CBS_HASSTRINGS __MSABI_LONG(0x00000200) 1350#define CBS_NOINTEGRALHEIGHT __MSABI_LONG(0x00000400) 1351#define CBS_DISABLENOSCROLL __MSABI_LONG(0x00000800) 1352 1353#define CBS_UPPERCASE __MSABI_LONG(0x00002000) 1354#define CBS_LOWERCASE __MSABI_LONG(0x00004000) 1355#endif /* NOWINSTYLES */ 1356 1357 1358/*** Scrollbar styles ***/ 1359#ifndef NOWINSTYLES 1360#define SBS_HORZ __MSABI_LONG(0x00000000) 1361#define SBS_VERT __MSABI_LONG(0x00000001) 1362#define SBS_TOPALIGN __MSABI_LONG(0x00000002) 1363#define SBS_LEFTALIGN __MSABI_LONG(0x00000002) 1364#define SBS_BOTTOMALIGN __MSABI_LONG(0x00000004) 1365#define SBS_RIGHTALIGN __MSABI_LONG(0x00000004) 1366#define SBS_SIZEBOXTOPLEFTALIGN __MSABI_LONG(0x00000002) 1367#define SBS_SIZEBOXBOTTOMRIGHTALIGN __MSABI_LONG(0x00000004) 1368#define SBS_SIZEBOX __MSABI_LONG(0x00000008) 1369#define SBS_SIZEGRIP __MSABI_LONG(0x00000010) 1370#endif /* NOWINSTYLES */ 1371 1372/*** WinHelp commands ***/ 1373#define HELP_CONTEXT __MSABI_LONG(0x00000001) 1374#define HELP_QUIT __MSABI_LONG(0x00000002) 1375#define HELP_INDEX __MSABI_LONG(0x00000003) 1376#define HELP_CONTENTS HELP_INDEX 1377#define HELP_HELPONHELP __MSABI_LONG(0x00000004) 1378#define HELP_SETINDEX __MSABI_LONG(0x00000005) 1379#define HELP_SETCONTENTS HELP_SETINDEX 1380#define HELP_CONTEXTPOPUP __MSABI_LONG(0x00000008) 1381#define HELP_FORCEFILE __MSABI_LONG(0x00000009) 1382#define HELP_KEY __MSABI_LONG(0x00000101) 1383#define HELP_COMMAND __MSABI_LONG(0x00000102) 1384#define HELP_PARTIALKEY __MSABI_LONG(0x00000105) 1385#define HELP_MULTIKEY __MSABI_LONG(0x00000201) 1386#define HELP_SETWINPOS __MSABI_LONG(0x00000203) 1387 1388#define HELP_CONTEXTMENU 0x000a 1389#define HELP_FINDER 0x000b 1390#define HELP_WM_HELP 0x000c 1391#define HELP_SETPOPUP_POS 0x000d 1392#define HELP_TCARD_DATA 0x0010 1393#define HELP_TCARD_OTHER_CALLER 0x0011 1394#define HELP_TCARD 0x8000 1395 1396#define IDH_NO_HELP 28440 1397#define IDH_MISSING_CONTEXT 28441 1398#define IDH_GENERIC_HELP_BUTTON 28442 1399#define IDH_OK 28443 1400#define IDH_CANCEL 28444 1401#define IDH_HELP 28445 1402