home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / winuser.rh < prev    next >
Text File  |  2000-02-01  |  48KB  |  1,541 lines

  1.  
  2.  
  3. /*++ BUILD Version: 0000     Increment this if a change has global effects
  4.  
  5. Copyright (c) 1985-1999, Microsoft Corporation
  6.  
  7. Module Name:
  8.  
  9.     winuser.rh
  10.  
  11. Abstract:
  12.  
  13.     This module defines the 32-Bit Windows resource codes from winuser.h.
  14.  
  15. Revision History:
  16.  
  17. --*/
  18.  
  19.  
  20. /*
  21.  * ShowWindow() Commands
  22.  */
  23. #define SW_HIDE             0
  24. #define SW_SHOWNORMAL       1
  25. #define SW_NORMAL           1
  26. #define SW_SHOWMINIMIZED    2
  27. #define SW_SHOWMAXIMIZED    3
  28. #define SW_MAXIMIZE         3
  29. #define SW_SHOWNOACTIVATE   4
  30. #define SW_SHOW             5
  31. #define SW_MINIMIZE         6
  32. #define SW_SHOWMINNOACTIVE  7
  33. #define SW_SHOWNA           8
  34. #define SW_RESTORE          9
  35. #define SW_SHOWDEFAULT      10
  36. #define SW_FORCEMINIMIZE    11
  37. #define SW_MAX              11
  38.  
  39. /*
  40.  * Old ShowWindow() Commands
  41.  */
  42. #define HIDE_WINDOW         0
  43. #define SHOW_OPENWINDOW     1
  44. #define SHOW_ICONWINDOW     2
  45. #define SHOW_FULLSCREEN     3
  46. #define SHOW_OPENNOACTIVATE 4
  47.  
  48. /*
  49.  * Identifiers for the WM_SHOWWINDOW message
  50.  */
  51. #define SW_PARENTCLOSING    1
  52. #define SW_OTHERZOOM        2
  53. #define SW_PARENTOPENING    3
  54. #define SW_OTHERUNZOOM      4
  55.  
  56.  
  57. /*
  58.  * Virtual Keys, Standard Set
  59.  */
  60. #define VK_LBUTTON        0x01
  61. #define VK_RBUTTON        0x02
  62. #define VK_CANCEL         0x03
  63. #define VK_MBUTTON        0x04    /* NOT contiguous with L & RBUTTON */
  64.  
  65. #if(_WIN32_WINNT >= 0x0500)
  66. #define VK_XBUTTON1       0x05    /* NOT contiguous with L & RBUTTON */
  67. #define VK_XBUTTON2       0x06    /* NOT contiguous with L & RBUTTON */
  68. #endif /* _WIN32_WINNT >= 0x0500 */
  69.  
  70. /*
  71.  * 0x07 : unassigned
  72.  */
  73.  
  74. #define VK_BACK           0x08
  75. #define VK_TAB            0x09
  76.  
  77. /*
  78.  * 0x0A - 0x0B : reserved
  79.  */
  80.  
  81. #define VK_CLEAR          0x0C
  82. #define VK_RETURN         0x0D
  83.  
  84. #define VK_SHIFT          0x10
  85. #define VK_CONTROL        0x11
  86. #define VK_MENU           0x12
  87. #define VK_PAUSE          0x13
  88. #define VK_CAPITAL        0x14
  89.  
  90. #define VK_KANA           0x15
  91. #define VK_HANGEUL        0x15  /* old name - should be here for compatibility */
  92. #define VK_HANGUL         0x15
  93. #define VK_JUNJA          0x17
  94. #define VK_FINAL          0x18
  95. #define VK_HANJA          0x19
  96. #define VK_KANJI          0x19
  97.  
  98. #define VK_ESCAPE         0x1B
  99.  
  100. #define VK_CONVERT        0x1C
  101. #define VK_NONCONVERT     0x1D
  102. #define VK_ACCEPT         0x1E
  103. #define VK_MODECHANGE     0x1F
  104.  
  105. #define VK_SPACE          0x20
  106. #define VK_PRIOR          0x21
  107. #define VK_NEXT           0x22
  108. #define VK_END            0x23
  109. #define VK_HOME           0x24
  110. #define VK_LEFT           0x25
  111. #define VK_UP             0x26
  112. #define VK_RIGHT          0x27
  113. #define VK_DOWN           0x28
  114. #define VK_SELECT         0x29
  115. #define VK_PRINT          0x2A
  116. #define VK_EXECUTE        0x2B
  117. #define VK_SNAPSHOT       0x2C
  118. #define VK_INSERT         0x2D
  119. #define VK_DELETE         0x2E
  120. #define VK_HELP           0x2F
  121.  
  122. /*
  123.  * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
  124.  * 0x40 : unassigned
  125.  * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
  126.  */
  127.  
  128. #define VK_LWIN           0x5B
  129. #define VK_RWIN           0x5C
  130. #define VK_APPS           0x5D
  131.  
  132. /*
  133.  * 0x5E : reserved
  134.  */
  135.  
  136. #define VK_SLEEP          0x5F
  137.  
  138. #define VK_NUMPAD0        0x60
  139. #define VK_NUMPAD1        0x61
  140. #define VK_NUMPAD2        0x62
  141. #define VK_NUMPAD3        0x63
  142. #define VK_NUMPAD4        0x64
  143. #define VK_NUMPAD5        0x65
  144. #define VK_NUMPAD6        0x66
  145. #define VK_NUMPAD7        0x67
  146. #define VK_NUMPAD8        0x68
  147. #define VK_NUMPAD9        0x69
  148. #define VK_MULTIPLY       0x6A
  149. #define VK_ADD            0x6B
  150. #define VK_SEPARATOR      0x6C
  151. #define VK_SUBTRACT       0x6D
  152. #define VK_DECIMAL        0x6E
  153. #define VK_DIVIDE         0x6F
  154. #define VK_F1             0x70
  155. #define VK_F2             0x71
  156. #define VK_F3             0x72
  157. #define VK_F4             0x73
  158. #define VK_F5             0x74
  159. #define VK_F6             0x75
  160. #define VK_F7             0x76
  161. #define VK_F8             0x77
  162. #define VK_F9             0x78
  163. #define VK_F10            0x79
  164. #define VK_F11            0x7A
  165. #define VK_F12            0x7B
  166. #define VK_F13            0x7C
  167. #define VK_F14            0x7D
  168. #define VK_F15            0x7E
  169. #define VK_F16            0x7F
  170. #define VK_F17            0x80
  171. #define VK_F18            0x81
  172. #define VK_F19            0x82
  173. #define VK_F20            0x83
  174. #define VK_F21            0x84
  175. #define VK_F22            0x85
  176. #define VK_F23            0x86
  177. #define VK_F24            0x87
  178.  
  179. /*
  180.  * 0x88 - 0x8F : unassigned
  181.  */
  182.  
  183. #define VK_NUMLOCK        0x90
  184. #define VK_SCROLL         0x91
  185.  
  186. /*
  187.  * NEC PC-9800 kbd definitions
  188.  */
  189. #define VK_OEM_NEC_EQUAL  0x92   // '=' key on numpad
  190.  
  191. /*
  192.  * Fujitsu/OASYS kbd definitions
  193.  */
  194. #define VK_OEM_FJ_JISHO   0x92   // 'Dictionary' key
  195. #define VK_OEM_FJ_MASSHOU 0x93   // 'Unregister word' key
  196. #define VK_OEM_FJ_TOUROKU 0x94   // 'Register word' key
  197. #define VK_OEM_FJ_LOYA    0x95   // 'Left OYAYUBI' key
  198. #define VK_OEM_FJ_ROYA    0x96   // 'Right OYAYUBI' key
  199.  
  200. /*
  201.  * 0x97 - 0x9F : unassigned
  202.  */
  203.  
  204. /*
  205.  * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
  206.  * Used only as parameters to GetAsyncKeyState() and GetKeyState().
  207.  * No other API or message will distinguish left and right keys in this way.
  208.  */
  209. #define VK_LSHIFT         0xA0
  210. #define VK_RSHIFT         0xA1
  211. #define VK_LCONTROL       0xA2
  212. #define VK_RCONTROL       0xA3
  213. #define VK_LMENU          0xA4
  214. #define VK_RMENU          0xA5
  215.  
  216. #if(_WIN32_WINNT >= 0x0500)
  217. #define VK_BROWSER_BACK        0xA6
  218. #define VK_BROWSER_FORWARD     0xA7
  219. #define VK_BROWSER_REFRESH     0xA8
  220. #define VK_BROWSER_STOP        0xA9
  221. #define VK_BROWSER_SEARCH      0xAA
  222. #define VK_BROWSER_FAVORITES   0xAB
  223. #define VK_BROWSER_HOME        0xAC
  224.  
  225. #define VK_VOLUME_MUTE         0xAD
  226. #define VK_VOLUME_DOWN         0xAE
  227. #define VK_VOLUME_UP           0xAF
  228. #define VK_MEDIA_NEXT_TRACK    0xB0
  229. #define VK_MEDIA_PREV_TRACK    0xB1
  230. #define VK_MEDIA_STOP          0xB2
  231. #define VK_MEDIA_PLAY_PAUSE    0xB3
  232. #define VK_LAUNCH_MAIL         0xB4
  233.  
  234. #define VK_LAUNCH_MEDIA_SELECT 0xB5
  235. #define VK_LAUNCH_APP1         0xB6
  236. #define VK_LAUNCH_APP2         0xB7
  237. #endif /* _WIN32_WINNT >= 0x0500 */
  238.  
  239. /*
  240.  * 0xB8 - 0xB9 : reserved
  241.  */
  242.  
  243. #define VK_OEM_1          0xBA   // ';:' for US
  244. #define VK_OEM_PLUS       0xBB   // '+' any country
  245. #define VK_OEM_COMMA      0xBC   // ',' any country
  246. #define VK_OEM_MINUS      0xBD   // '-' any country
  247. #define VK_OEM_PERIOD     0xBE   // '.' any country
  248. #define VK_OEM_2          0xBF   // '/?' for US
  249. #define VK_OEM_3          0xC0   // '`~' for US
  250.  
  251. /*
  252.  * 0xC1 - 0xD7 : reserved
  253.  */
  254.  
  255. /*
  256.  * 0xD8 - 0xDA : unassigned
  257.  */
  258.  
  259. #define VK_OEM_4          0xDB  //  '[{' for US
  260. #define VK_OEM_5          0xDC  //  '\|' for US
  261. #define VK_OEM_6          0xDD  //  ']}' for US
  262. #define VK_OEM_7          0xDE  //  ''"' for US
  263. #define VK_OEM_8          0xDF
  264.  
  265. /*
  266.  * 0xE0 : reserved
  267.  */
  268.  
  269. /*
  270.  * Various extended or enhanced keyboards
  271.  */
  272. #define VK_OEM_AX         0xE1  //  'AX' key on Japanese AX kbd
  273. #define VK_OEM_102        0xE2  //  "<>" or "\|" on RT 102-key kbd.
  274. #define VK_ICO_HELP       0xE3  //  Help key on ICO
  275. #define VK_ICO_00         0xE4  //  00 key on ICO
  276.  
  277. #if(WINVER >= 0x0400)
  278. #define VK_PROCESSKEY     0xE5
  279. #endif /* WINVER >= 0x0400 */
  280.  
  281. #define VK_ICO_CLEAR      0xE6
  282.  
  283.  
  284. #if(_WIN32_WINNT >= 0x0500)
  285. #define VK_PACKET         0xE7
  286. #endif /* _WIN32_WINNT >= 0x0500 */
  287.  
  288. /*
  289.  * 0xE8 : unassigned
  290.  */
  291.  
  292. /*
  293.  * Nokia/Ericsson definitions
  294.  */
  295. #define VK_OEM_RESET      0xE9
  296. #define VK_OEM_JUMP       0xEA
  297. #define VK_OEM_PA1        0xEB
  298. #define VK_OEM_PA2        0xEC
  299. #define VK_OEM_PA3        0xED
  300. #define VK_OEM_WSCTRL     0xEE
  301. #define VK_OEM_CUSEL      0xEF
  302. #define VK_OEM_ATTN       0xF0
  303. #define VK_OEM_FINISH     0xF1
  304. #define VK_OEM_COPY       0xF2
  305. #define VK_OEM_AUTO       0xF3
  306. #define VK_OEM_ENLW       0xF4
  307. #define VK_OEM_BACKTAB    0xF5
  308.  
  309. #define VK_ATTN           0xF6
  310. #define VK_CRSEL          0xF7
  311. #define VK_EXSEL          0xF8
  312. #define VK_EREOF          0xF9
  313. #define VK_PLAY           0xFA
  314. #define VK_ZOOM           0xFB
  315. #define VK_NONAME         0xFC
  316. #define VK_PA1            0xFD
  317. #define VK_OEM_CLEAR      0xFE
  318.  
  319. /*
  320.  * 0xFF : reserved
  321.  */
  322.  
  323.  
  324. /*
  325.  * Window Messages
  326.  */
  327.  
  328. #define WM_NULL                         0x0000
  329. #define WM_CREATE                       0x0001
  330. #define WM_DESTROY                      0x0002
  331. #define WM_MOVE                         0x0003
  332. #define WM_SIZE                         0x0005
  333.  
  334. #define WM_ACTIVATE                     0x0006
  335. /*
  336.  * WM_ACTIVATE state values
  337.  */
  338. #define     WA_INACTIVE     0
  339. #define     WA_ACTIVE       1
  340. #define     WA_CLICKACTIVE  2
  341.  
  342. #define WM_SETFOCUS                     0x0007
  343. #define WM_KILLFOCUS                    0x0008
  344. #define WM_ENABLE                       0x000A
  345. #define WM_SETREDRAW                    0x000B
  346. #define WM_SETTEXT                      0x000C
  347. #define WM_GETTEXT                      0x000D
  348. #define WM_GETTEXTLENGTH                0x000E
  349. #define WM_PAINT                        0x000F
  350. #define WM_CLOSE                        0x0010
  351. #ifndef _WIN32_WCE
  352. #define WM_QUERYENDSESSION              0x0011
  353. #define WM_QUERYOPEN                    0x0013
  354. #define WM_ENDSESSION                   0x0016
  355. #endif
  356. #define WM_QUIT                         0x0012
  357. #define WM_ERASEBKGND                   0x0014
  358. #define WM_SYSCOLORCHANGE               0x0015
  359. #define WM_SHOWWINDOW                   0x0018
  360. #define WM_WININICHANGE                 0x001A
  361. #if(WINVER >= 0x0400)
  362. #define WM_SETTINGCHANGE                WM_WININICHANGE
  363. #endif /* WINVER >= 0x0400 */
  364.  
  365.  
  366. #define WM_DEVMODECHANGE                0x001B
  367. #define WM_ACTIVATEAPP                  0x001C
  368. #define WM_FONTCHANGE                   0x001D
  369. #define WM_TIMECHANGE                   0x001E
  370. #define WM_CANCELMODE                   0x001F
  371. #define WM_SETCURSOR                    0x0020
  372. #define WM_MOUSEACTIVATE                0x0021
  373. #define WM_CHILDACTIVATE                0x0022
  374. #define WM_QUEUESYNC                    0x0023
  375.  
  376. #define WM_GETMINMAXINFO                0x0024
  377. #define WM_PAINTICON                    0x0026
  378. #define WM_ICONERASEBKGND               0x0027
  379. #define WM_NEXTDLGCTL                   0x0028
  380. #define WM_SPOOLERSTATUS                0x002A
  381. #define WM_DRAWITEM                     0x002B
  382. #define WM_MEASUREITEM                  0x002C
  383. #define WM_DELETEITEM                   0x002D
  384. #define WM_VKEYTOITEM                   0x002E
  385. #define WM_CHARTOITEM                   0x002F
  386. #define WM_SETFONT                      0x0030
  387. #define WM_GETFONT                      0x0031
  388. #define WM_SETHOTKEY                    0x0032
  389. #define WM_GETHOTKEY                    0x0033
  390. #define WM_QUERYDRAGICON                0x0037
  391. #define WM_COMPAREITEM                  0x0039
  392. #if(WINVER >= 0x0500)
  393. #ifndef _WIN32_WCE
  394. #define WM_GETOBJECT                    0x003D
  395. #endif
  396. #endif /* WINVER >= 0x0500 */
  397. #define WM_COMPACTING                   0x0041
  398. #define WM_COMMNOTIFY                   0x0044  /* no longer suported */
  399. #define WM_WINDOWPOSCHANGING            0x0046
  400. #define WM_WINDOWPOSCHANGED             0x0047
  401.  
  402. #define WM_POWER                        0x0048
  403. /*
  404.  * wParam for WM_POWER window message and DRV_POWER driver notification
  405.  */
  406. #define PWR_OK              1
  407. #define PWR_FAIL            (-1)
  408. #define PWR_SUSPENDREQUEST  1
  409. #define PWR_SUSPENDRESUME   2
  410. #define PWR_CRITICALRESUME  3
  411.  
  412. #define WM_COPYDATA                     0x004A
  413. #define WM_CANCELJOURNAL                0x004B
  414.  
  415.  
  416. #if(WINVER >= 0x0400)
  417. #define WM_NOTIFY                       0x004E
  418. #define WM_INPUTLANGCHANGEREQUEST       0x0050
  419. #define WM_INPUTLANGCHANGE              0x0051
  420. #define WM_TCARD                        0x0052
  421. #define WM_HELP                         0x0053
  422. #define WM_USERCHANGED                  0x0054
  423. #define WM_NOTIFYFORMAT                 0x0055
  424.  
  425. #define NFR_ANSI                             1
  426. #define NFR_UNICODE                          2
  427. #define NF_QUERY                             3
  428. #define NF_REQUERY                           4
  429.  
  430. #define WM_CONTEXTMENU                  0x007B
  431. #define WM_STYLECHANGING                0x007C
  432. #define WM_STYLECHANGED                 0x007D
  433. #define WM_DISPLAYCHANGE                0x007E
  434. #define WM_GETICON                      0x007F
  435. #define WM_SETICON                      0x0080
  436. #endif /* WINVER >= 0x0400 */
  437.  
  438. #define WM_NCCREATE                     0x0081
  439. #define WM_NCDESTROY                    0x0082
  440. #define WM_NCCALCSIZE                   0x0083
  441. #define WM_NCHITTEST                    0x0084
  442. #define WM_NCPAINT                      0x0085
  443. #define WM_NCACTIVATE                   0x0086
  444. #define WM_GETDLGCODE                   0x0087
  445. #ifndef _WIN32_WCE
  446. #define WM_SYNCPAINT                    0x0088
  447. #endif
  448. #define WM_NCMOUSEMOVE                  0x00A0
  449. #define WM_NCLBUTTONDOWN                0x00A1
  450. #define WM_NCLBUTTONUP                  0x00A2
  451. #define WM_NCLBUTTONDBLCLK              0x00A3
  452. #define WM_NCRBUTTONDOWN                0x00A4
  453. #define WM_NCRBUTTONUP                  0x00A5
  454. #define WM_NCRBUTTONDBLCLK              0x00A6
  455. #define WM_NCMBUTTONDOWN                0x00A7
  456. #define WM_NCMBUTTONUP                  0x00A8
  457. #define WM_NCMBUTTONDBLCLK              0x00A9
  458.  
  459.  
  460. #if(_WIN32_WINNT >= 0x0500)
  461. #define WM_NCXBUTTONDOWN                0x00AB
  462. #define WM_NCXBUTTONUP                  0x00AC
  463. #define WM_NCXBUTTONDBLCLK              0x00AD
  464. #endif /* _WIN32_WINNT >= 0x0500 */
  465.  
  466.  
  467. #define WM_KEYFIRST                     0x0100
  468. #define WM_KEYDOWN                      0x0100
  469. #define WM_KEYUP                        0x0101
  470. #define WM_CHAR                         0x0102
  471. #define WM_DEADCHAR                     0x0103
  472. #define WM_SYSKEYDOWN                   0x0104
  473. #define WM_SYSKEYUP                     0x0105
  474. #define WM_SYSCHAR                      0x0106
  475. #define WM_SYSDEADCHAR                  0x0107
  476. #define WM_KEYLAST                      0x0108
  477.  
  478. #if(WINVER >= 0x0400)
  479. #define WM_IME_STARTCOMPOSITION         0x010D
  480. #define WM_IME_ENDCOMPOSITION           0x010E
  481. #define WM_IME_COMPOSITION              0x010F
  482. #define WM_IME_KEYLAST                  0x010F
  483. #endif /* WINVER >= 0x0400 */
  484.  
  485. #define WM_INITDIALOG                   0x0110
  486. #define WM_COMMAND                      0x0111
  487. #define WM_SYSCOMMAND                   0x0112
  488. #define WM_TIMER                        0x0113
  489. #define WM_HSCROLL                      0x0114
  490. #define WM_VSCROLL                      0x0115
  491. #define WM_INITMENU                     0x0116
  492. #define WM_INITMENUPOPUP                0x0117
  493. #define WM_MENUSELECT                   0x011F
  494. #define WM_MENUCHAR                     0x0120
  495. #define WM_ENTERIDLE                    0x0121
  496. #if(WINVER >= 0x0500)
  497. #ifndef _WIN32_WCE
  498. #define WM_MENURBUTTONUP                0x0122
  499. #define WM_MENUDRAG                     0x0123
  500. #define WM_MENUGETOBJECT                0x0124
  501. #define WM_UNINITMENUPOPUP              0x0125
  502. #define WM_MENUCOMMAND                  0x0126
  503.  
  504. #ifndef _WIN32_WCE
  505. #if(_WIN32_WINNT >= 0x0500)
  506. #define WM_CHANGEUISTATE                0x0127
  507. #define WM_UPDATEUISTATE                0x0128
  508. #define WM_QUERYUISTATE                 0x0129
  509.  
  510. /*
  511.  * LOWORD(wParam) values in WM_*UISTATE*
  512.  */
  513. #define UIS_SET         1
  514. #define UIS_CLEAR       2
  515. #define UIS_INITIALIZE  3
  516.  
  517. /*
  518.  * HIWORD(wParam) values in WM_*UISTATE*
  519.  */
  520. #define UISF_HIDEFOCUS   0x1
  521. #define UISF_HIDEACCEL   0x2
  522. #endif /* _WIN32_WINNT >= 0x0500 */
  523. #endif
  524.  
  525. #endif
  526. #endif /* WINVER >= 0x0500 */
  527.  
  528.  
  529. #define WM_CTLCOLORMSGBOX               0x0132
  530. #define WM_CTLCOLOREDIT                 0x0133
  531. #define WM_CTLCOLORLISTBOX              0x0134
  532. #define WM_CTLCOLORBTN                  0x0135
  533. #define WM_CTLCOLORDLG                  0x0136
  534. #define WM_CTLCOLORSCROLLBAR            0x0137
  535. #define WM_CTLCOLORSTATIC               0x0138
  536.  
  537.  
  538. #define WM_MOUSEFIRST                   0x0200
  539. #define WM_MOUSEMOVE                    0x0200
  540. #define WM_LBUTTONDOWN                  0x0201
  541. #define WM_LBUTTONUP                    0x0202
  542. #define WM_LBUTTONDBLCLK                0x0203
  543. #define WM_RBUTTONDOWN                  0x0204
  544. #define WM_RBUTTONUP                    0x0205
  545. #define WM_RBUTTONDBLCLK                0x0206
  546. #define WM_MBUTTONDOWN                  0x0207
  547. #define WM_MBUTTONUP                    0x0208
  548. #define WM_MBUTTONDBLCLK                0x0209
  549. #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
  550. #define WM_MOUSEWHEEL                   0x020A
  551. #endif
  552. #if (_WIN32_WINNT >= 0x0500)
  553. #define WM_XBUTTONDOWN                  0x020B
  554. #define WM_XBUTTONUP                    0x020C
  555. #define WM_XBUTTONDBLCLK                0x020D
  556. #endif
  557. #if (_WIN32_WINNT >= 0x0500)
  558. #define WM_MOUSELAST                    0x020D
  559. #elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
  560. #define WM_MOUSELAST                    0x020A
  561. #else
  562. #define WM_MOUSELAST                    0x0209
  563. #endif /* (_WIN32_WINNT >= 0x0500) */
  564.  
  565.  
  566. #if(_WIN32_WINNT >= 0x0400)
  567. /* Value for rolling one detent */
  568. #define WHEEL_DELTA                     120
  569. #define GET_WHEEL_DELTA_WPARAM(wParam)  ((short)HIWORD(wParam))
  570.  
  571. /* Setting to scroll one page for SPI_GET/SETWHEELSCROLLLINES */
  572. #define WHEEL_PAGESCROLL                (UINT_MAX)
  573. #endif /* _WIN32_WINNT >= 0x0400 */
  574.  
  575. #if(_WIN32_WINNT >= 0x0500)
  576. #define GET_KEYSTATE_WPARAM(wParam)     (LOWORD(wParam))
  577. #define GET_NCHITTEST_WPARAM(wParam)    ((short)LOWORD(wParam))
  578. #define GET_XBUTTON_WPARAM(wParam)      (HIWORD(wParam))
  579.  
  580. /* XButton values are WORD flags */
  581. #define XBUTTON1      0x0001
  582. #define XBUTTON2      0x0002
  583. /* Were there to be an XBUTTON3, it's value would be 0x0004 */
  584. #endif /* _WIN32_WINNT >= 0x0500 */
  585.  
  586. #define WM_PARENTNOTIFY                 0x0210
  587. #define WM_ENTERMENULOOP                0x0211
  588. #define WM_EXITMENULOOP                 0x0212
  589.  
  590. #if(WINVER >= 0x0400)
  591. #define WM_NEXTMENU                     0x0213
  592. #define WM_SIZING                       0x0214
  593. #define WM_CAPTURECHANGED               0x0215
  594. #define WM_MOVING                       0x0216
  595. #define WM_POWERBROADCAST               0x0218
  596. #endif /* WINVER >= 0x0400 */
  597. #if(WINVER >= 0x0400)
  598. #define WM_DEVICECHANGE                 0x0219
  599. #endif /* WINVER >= 0x0400 */
  600.  
  601. #define WM_MDICREATE                    0x0220
  602. #define WM_MDIDESTROY                   0x0221
  603. #define WM_MDIACTIVATE                  0x0222
  604. #define WM_MDIRESTORE                   0x0223
  605. #define WM_MDINEXT                      0x0224
  606. #define WM_MDIMAXIMIZE                  0x0225
  607. #define WM_MDITILE                      0x0226
  608. #define WM_MDICASCADE                   0x0227
  609. #define WM_MDIICONARRANGE               0x0228
  610. #define WM_MDIGETACTIVE                 0x0229
  611.  
  612.  
  613. #define WM_MDISETMENU                   0x0230
  614. #define WM_ENTERSIZEMOVE                0x0231
  615. #define WM_EXITSIZEMOVE                 0x0232
  616. #define WM_DROPFILES                    0x0233
  617. #define WM_MDIREFRESHMENU               0x0234
  618.  
  619.  
  620. #if(WINVER >= 0x0400)
  621. #define WM_IME_SETCONTEXT               0x0281
  622. #define WM_IME_NOTIFY                   0x0282
  623. #define WM_IME_CONTROL                  0x0283
  624. #define WM_IME_COMPOSITIONFULL          0x0284
  625. #define WM_IME_SELECT                   0x0285
  626. #define WM_IME_CHAR                     0x0286
  627. #endif /* WINVER >= 0x0400 */
  628. #if(WINVER >= 0x0500)
  629. #define WM_IME_REQUEST                  0x0288
  630. #endif /* WINVER >= 0x0500 */
  631. #if(WINVER >= 0x0400)
  632. #define WM_IME_KEYDOWN                  0x0290
  633. #define WM_IME_KEYUP                    0x0291
  634. #endif /* WINVER >= 0x0400 */
  635.  
  636. #if((_WIN32_WINNT >= 0x0400) || (WINVER >= 0x0500))
  637. #define WM_MOUSEHOVER                   0x02A1
  638. #define WM_MOUSELEAVE                   0x02A3
  639. #endif
  640. #if(WINVER >= 0x0500)
  641. #define WM_NCMOUSEHOVER                 0x02A0
  642. #define WM_NCMOUSELEAVE                 0x02A2
  643. #endif /* WINVER >= 0x0500 */
  644.  
  645. #define WM_CUT                          0x0300
  646. #define WM_COPY                         0x0301
  647. #define WM_PASTE                        0x0302
  648. #define WM_CLEAR                        0x0303
  649. #define WM_UNDO                         0x0304
  650. #define WM_RENDERFORMAT                 0x0305
  651. #define WM_RENDERALLFORMATS             0x0306
  652. #define WM_DESTROYCLIPBOARD             0x0307
  653. #define WM_DRAWCLIPBOARD                0x0308
  654. #define WM_PAINTCLIPBOARD               0x0309
  655. #define WM_VSCROLLCLIPBOARD             0x030A
  656. #define WM_SIZECLIPBOARD                0x030B
  657. #define WM_ASKCBFORMATNAME              0x030C
  658. #define WM_CHANGECBCHAIN                0x030D
  659. #define WM_HSCROLLCLIPBOARD             0x030E
  660. #define WM_QUERYNEWPALETTE              0x030F
  661. #define WM_PALETTEISCHANGING            0x0310
  662. #define WM_PALETTECHANGED               0x0311
  663. #define WM_HOTKEY                       0x0312
  664.  
  665. #if(WINVER >= 0x0400)
  666. #define WM_PRINT                        0x0317
  667. #define WM_PRINTCLIENT                  0x0318
  668. #endif /* WINVER >= 0x0400 */
  669.  
  670. #if(_WIN32_WINNT >= 0x0500)
  671. #define WM_APPCOMMAND                   0x0319
  672. #endif /* _WIN32_WINNT >= 0x0500 */
  673.  
  674. #if(WINVER >= 0x0400)
  675.  
  676. #define WM_HANDHELDFIRST                0x0358
  677. #define WM_HANDHELDLAST                 0x035F
  678.  
  679. #define WM_AFXFIRST                     0x0360
  680. #define WM_AFXLAST                      0x037F
  681. #endif /* WINVER >= 0x0400 */
  682.  
  683. #define WM_PENWINFIRST                  0x0380
  684. #define WM_PENWINLAST                   0x038F
  685.  
  686.  
  687. #if(WINVER >= 0x0400)
  688. #define WM_APP                          0x8000
  689. #endif /* WINVER >= 0x0400 */
  690.  
  691.  
  692. /*
  693.  * NOTE: All Message Numbers below 0x0400 are RESERVED.
  694.  *
  695.  * Private Window Messages Start Here:
  696.  */
  697. #define WM_USER                         0x0400
  698.  
  699. #if(WINVER >= 0x0400)
  700.  
  701. /*  wParam for WM_SIZING message  */
  702. #define WMSZ_LEFT           1
  703. #define WMSZ_RIGHT          2
  704. #define WMSZ_TOP            3
  705. #define WMSZ_TOPLEFT        4
  706. #define WMSZ_TOPRIGHT       5
  707. #define WMSZ_BOTTOM         6
  708. #define WMSZ_BOTTOMLEFT     7
  709. #define WMSZ_BOTTOMRIGHT    8
  710. #endif /* WINVER >= 0x0400 */
  711.  
  712. #ifndef NONCMESSAGES
  713.  
  714. /*
  715.  * WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes
  716.  */
  717. #define HTERROR             (-2)
  718. #define HTTRANSPARENT       (-1)
  719. #define HTNOWHERE           0
  720. #define HTCLIENT            1
  721. #define HTCAPTION           2
  722. #define HTSYSMENU           3
  723. #define HTGROWBOX           4
  724. #define HTSIZE              HTGROWBOX
  725. #define HTMENU              5
  726. #define HTHSCROLL           6
  727. #define HTVSCROLL           7
  728. #define HTMINBUTTON         8
  729. #define HTMAXBUTTON         9
  730. #define HTLEFT              10
  731. #define HTRIGHT             11
  732. #define HTTOP               12
  733. #define HTTOPLEFT           13
  734. #define HTTOPRIGHT          14
  735. #define HTBOTTOM            15
  736. #define HTBOTTOMLEFT        16
  737. #define HTBOTTOMRIGHT       17
  738. #define HTBORDER            18
  739. #define HTREDUCE            HTMINBUTTON
  740. #define HTZOOM              HTMAXBUTTON
  741. #define HTSIZEFIRST         HTLEFT
  742. #define HTSIZELAST          HTBOTTOMRIGHT
  743. #if(WINVER >= 0x0400)
  744. #define HTOBJECT            19
  745. #define HTCLOSE             20
  746. #define HTHELP              21
  747. #endif /* WINVER >= 0x0400 */
  748.  
  749. /*
  750.  * SendMessageTimeout values
  751.  */
  752. #define SMTO_NORMAL         0x0000
  753. #define SMTO_BLOCK          0x0001
  754. #define SMTO_ABORTIFHUNG    0x0002
  755. #if(WINVER >= 0x0500)
  756. #define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
  757. #endif /* WINVER >= 0x0500 */
  758. #endif /* !NONCMESSAGES */
  759.  
  760. /*
  761.  * WM_MOUSEACTIVATE Return Codes
  762.  */
  763. #define MA_ACTIVATE         1
  764. #define MA_ACTIVATEANDEAT   2
  765. #define MA_NOACTIVATE       3
  766. #define MA_NOACTIVATEANDEAT 4
  767.  
  768. /*
  769.  * WM_SETICON / WM_GETICON Type Codes
  770.  */
  771. #define ICON_SMALL          0
  772. #define ICON_BIG            1
  773.  
  774.  
  775. /*
  776.  * WM_SIZE message wParam values
  777.  */
  778. #define SIZE_RESTORED       0
  779. #define SIZE_MINIMIZED      1
  780. #define SIZE_MAXIMIZED      2
  781. #define SIZE_MAXSHOW        3
  782. #define SIZE_MAXHIDE        4
  783.  
  784. /*
  785.  * Obsolete constant names
  786.  */
  787. #define SIZENORMAL          SIZE_RESTORED
  788. #define SIZEICONIC          SIZE_MINIMIZED
  789. #define SIZEFULLSCREEN      SIZE_MAXIMIZED
  790. #define SIZEZOOMSHOW        SIZE_MAXSHOW
  791. #define SIZEZOOMHIDE        SIZE_MAXHIDE
  792.  
  793. /*
  794.  * WM_NCCALCSIZE "window valid rect" return values
  795.  */
  796. #define WVR_ALIGNTOP        0x0010
  797. #define WVR_ALIGNLEFT       0x0020
  798. #define WVR_ALIGNBOTTOM     0x0040
  799. #define WVR_ALIGNRIGHT      0x0080
  800. #define WVR_HREDRAW         0x0100
  801. #define WVR_VREDRAW         0x0200
  802. #define WVR_REDRAW         (WVR_HREDRAW | \
  803.                             WVR_VREDRAW)
  804. #define WVR_VALIDRECTS      0x0400
  805.  
  806.  
  807. #ifndef NOKEYSTATES
  808.  
  809. /*
  810.  * Key State Masks for Mouse Messages
  811.  */
  812. #define MK_LBUTTON          0x0001
  813. #define MK_RBUTTON          0x0002
  814. #define MK_SHIFT            0x0004
  815. #define MK_CONTROL          0x0008
  816. #define MK_MBUTTON          0x0010
  817. #if(_WIN32_WINNT >= 0x0500)
  818. #define MK_XBUTTON1         0x0020
  819. #define MK_XBUTTON2         0x0040
  820. #endif /* _WIN32_WINNT >= 0x0500 */
  821.  
  822. #endif /* !NOKEYSTATES */
  823.  
  824.  
  825. #if(_WIN32_WINNT >= 0x0400)
  826. #ifndef NOTRACKMOUSEEVENT
  827.  
  828. #define TME_HOVER       0x00000001
  829. #define TME_LEAVE       0x00000002
  830. #if(WINVER >= 0x0500)
  831. #define TME_NONCLIENT   0x00000010
  832. #endif /* WINVER >= 0x0500 */
  833. #define TME_QUERY       0x40000000
  834. #define TME_CANCEL      0x80000000
  835.  
  836.  
  837. #define HOVER_DEFAULT   0xFFFFFFFF
  838. #endif /* _WIN32_WINNT >= 0x0400 */
  839. #if(_WIN32_WINNT >= 0x0400)
  840.  
  841. #endif /* !NOTRACKMOUSEEVENT */
  842. #endif /* _WIN32_WINNT >= 0x0400 */
  843.  
  844.  
  845. /*
  846.  * Window Styles
  847.  */
  848. #define WS_OVERLAPPED       0x00000000L
  849. #define WS_POPUP            0x80000000L
  850. #define WS_CHILD            0x40000000L
  851. #define WS_MINIMIZE         0x20000000L
  852. #define WS_VISIBLE          0x10000000L
  853. #define WS_DISABLED         0x08000000L
  854. #define WS_CLIPSIBLINGS     0x04000000L
  855. #define WS_CLIPCHILDREN     0x02000000L
  856. #define WS_MAXIMIZE         0x01000000L
  857. #define WS_CAPTION          0x00C00000L     /* WS_BORDER | WS_DLGFRAME  */
  858. #define WS_BORDER           0x00800000L
  859. #define WS_DLGFRAME         0x00400000L
  860. #define WS_VSCROLL          0x00200000L
  861. #define WS_HSCROLL          0x00100000L
  862. #define WS_SYSMENU          0x00080000L
  863. #define WS_THICKFRAME       0x00040000L
  864. #define WS_GROUP            0x00020000L
  865. #define WS_TABSTOP          0x00010000L
  866.  
  867. #define WS_MINIMIZEBOX      0x00020000L
  868. #define WS_MAXIMIZEBOX      0x00010000L
  869.  
  870.  
  871. #define WS_TILED            WS_OVERLAPPED
  872. #define WS_ICONIC           WS_MINIMIZE
  873. #define WS_SIZEBOX          WS_THICKFRAME
  874. #define WS_TILEDWINDOW      WS_OVERLAPPEDWINDOW
  875.  
  876. /*
  877.  * Common Window Styles
  878.  */
  879. #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED     | \
  880.                              WS_CAPTION        | \
  881.                              WS_SYSMENU        | \
  882.                              WS_THICKFRAME     | \
  883.                              WS_MINIMIZEBOX    | \
  884.                              WS_MAXIMIZEBOX)
  885.  
  886. #define WS_POPUPWINDOW      (WS_POPUP          | \
  887.                              WS_BORDER         | \
  888.                              WS_SYSMENU)
  889.  
  890. #define WS_CHILDWINDOW      (WS_CHILD)
  891.  
  892. /*
  893.  * Extended Window Styles
  894.  */
  895. #define WS_EX_DLGMODALFRAME     0x00000001L
  896. #define WS_EX_NOPARENTNOTIFY    0x00000004L
  897. #define WS_EX_TOPMOST           0x00000008L
  898. #define WS_EX_ACCEPTFILES       0x00000010L
  899. #define WS_EX_TRANSPARENT       0x00000020L
  900. #if(WINVER >= 0x0400)
  901. #define WS_EX_MDICHILD          0x00000040L
  902. #define WS_EX_TOOLWINDOW        0x00000080L
  903. #define WS_EX_WINDOWEDGE        0x00000100L
  904. #define WS_EX_CLIENTEDGE        0x00000200L
  905. #define WS_EX_CONTEXTHELP       0x00000400L
  906.  
  907. #define WS_EX_RIGHT             0x00001000L
  908. #define WS_EX_LEFT              0x00000000L
  909. #define WS_EX_RTLREADING        0x00002000L
  910. #define WS_EX_LTRREADING        0x00000000L
  911. #define WS_EX_LEFTSCROLLBAR     0x00004000L
  912. #define WS_EX_RIGHTSCROLLBAR    0x00000000L
  913.  
  914. #define WS_EX_CONTROLPARENT     0x00010000L
  915. #define WS_EX_STATICEDGE        0x00020000L
  916. #define WS_EX_APPWINDOW         0x00040000L
  917.  
  918.  
  919. #define WS_EX_OVERLAPPEDWINDOW  (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
  920. #define WS_EX_PALETTEWINDOW     (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
  921.  
  922. #endif /* WINVER >= 0x0400 */
  923.  
  924. #if(_WIN32_WINNT >= 0x0500)
  925. #define WS_EX_LAYERED           0x00080000
  926. #endif /* _WIN32_WINNT >= 0x0500 */
  927.  
  928.  
  929. #if(WINVER >= 0x0500)
  930. #define WS_EX_NOINHERITLAYOUT   0x00100000L // Disable inheritence of mirroring by children
  931. #define WS_EX_LAYOUTRTL         0x00400000L // Right to left mirroring
  932. #endif /* WINVER >= 0x0500 */
  933.  
  934. #if(_WIN32_WINNT >= 0x0500)
  935. #define WS_EX_NOACTIVATE        0x08000000L
  936. #endif /* _WIN32_WINNT >= 0x0500 */
  937.  
  938.  
  939. /*
  940.  * Class styles
  941.  */
  942. #define CS_VREDRAW          0x0001
  943. #define CS_HREDRAW          0x0002
  944. #define CS_DBLCLKS          0x0008
  945. #define CS_OWNDC            0x0020
  946. #define CS_CLASSDC          0x0040
  947. #define CS_PARENTDC         0x0080
  948. #define CS_NOCLOSE          0x0200
  949. #define CS_SAVEBITS         0x0800
  950. #define CS_BYTEALIGNCLIENT  0x1000
  951. #define CS_BYTEALIGNWINDOW  0x2000
  952. #define CS_GLOBALCLASS      0x4000
  953.  
  954. #define CS_IME              0x00010000
  955.  
  956.  
  957.  
  958. /*
  959.  * Predefined Clipboard Formats
  960.  */
  961. #define CF_TEXT             1
  962. #define CF_BITMAP           2
  963. #define CF_METAFILEPICT     3
  964. #define CF_SYLK             4
  965. #define CF_DIF              5
  966. #define CF_TIFF             6
  967. #define CF_OEMTEXT          7
  968. #define CF_DIB              8
  969. #define CF_PALETTE          9
  970. #define CF_PENDATA          10
  971. #define CF_RIFF             11
  972. #define CF_WAVE             12
  973. #define CF_UNICODETEXT      13
  974. #define CF_ENHMETAFILE      14
  975. #if(WINVER >= 0x0400)
  976. #define CF_HDROP            15
  977. #define CF_LOCALE           16
  978. #endif /* WINVER >= 0x0400 */
  979. #if(WINVER >= 0x0500)
  980. #define CF_DIBV5            17
  981. #endif /* WINVER >= 0x0500 */
  982.  
  983. #if(WINVER >= 0x0500)
  984. #define CF_MAX              18
  985. #elif(WINVER >= 0x0400)
  986. #define CF_MAX              17
  987. #else
  988. #define CF_MAX              15
  989. #endif
  990.  
  991. #define CF_OWNERDISPLAY     0x0080
  992. #define CF_DSPTEXT          0x0081
  993. #define CF_DSPBITMAP        0x0082
  994. #define CF_DSPMETAFILEPICT  0x0083
  995. #define CF_DSPENHMETAFILE   0x008E
  996.  
  997. /*
  998.  * "Private" formats don't get GlobalFree()'d
  999.  */
  1000. #define CF_PRIVATEFIRST     0x0200
  1001. #define CF_PRIVATELAST      0x02FF
  1002.  
  1003. /*
  1004.  * "GDIOBJ" formats do get DeleteObject()'d
  1005.  */
  1006. #define CF_GDIOBJFIRST      0x0300
  1007. #define CF_GDIOBJLAST       0x03FF
  1008.  
  1009.  
  1010. /* ;win40  -- A lot of MF_* flags have been renamed as MFT_* and MFS_* flags */
  1011. /*
  1012.  * Menu flags for Add/Check/EnableMenuItem()
  1013.  */
  1014. #define MF_INSERT           0x00000000L
  1015. #define MF_CHANGE           0x00000080L
  1016. #define MF_APPEND           0x00000100L
  1017. #define MF_DELETE           0x00000200L
  1018. #define MF_REMOVE           0x00001000L
  1019.  
  1020. #define MF_BYCOMMAND        0x00000000L
  1021. #define MF_BYPOSITION       0x00000400L
  1022.  
  1023. #define MF_SEPARATOR        0x00000800L
  1024.  
  1025. #define MF_ENABLED          0x00000000L
  1026. #define MF_GRAYED           0x00000001L
  1027. #define MF_DISABLED         0x00000002L
  1028.  
  1029. #define MF_UNCHECKED        0x00000000L
  1030. #define MF_CHECKED          0x00000008L
  1031. #define MF_USECHECKBITMAPS  0x00000200L
  1032.  
  1033. #define MF_STRING           0x00000000L
  1034. #define MF_BITMAP           0x00000004L
  1035. #define MF_OWNERDRAW        0x00000100L
  1036.  
  1037. #define MF_POPUP            0x00000010L
  1038. #define MF_MENUBARBREAK     0x00000020L
  1039. #define MF_MENUBREAK        0x00000040L
  1040.  
  1041. #define MF_UNHILITE         0x00000000L
  1042. #define MF_HILITE           0x00000080L
  1043.  
  1044. #if(WINVER >= 0x0400)
  1045. #define MF_DEFAULT          0x00001000L
  1046. #endif /* WINVER >= 0x0400 */
  1047. #define MF_SYSMENU          0x00002000L
  1048. #define MF_HELP             0x00004000L
  1049. #if(WINVER >= 0x0400)
  1050. #define MF_RIGHTJUSTIFY     0x00004000L
  1051. #endif /* WINVER >= 0x0400 */
  1052.  
  1053. #define MF_MOUSESELECT      0x00008000L
  1054. #if(WINVER >= 0x0400)
  1055. #define MF_END              0x00000080L  /* Obsolete -- only used by old RES files */
  1056. #endif /* WINVER >= 0x0400 */
  1057.  
  1058.  
  1059. #if(WINVER >= 0x0400)
  1060. #define MFT_STRING          MF_STRING
  1061. #define MFT_BITMAP          MF_BITMAP
  1062. #define MFT_MENUBARBREAK    MF_MENUBARBREAK
  1063. #define MFT_MENUBREAK       MF_MENUBREAK
  1064. #define MFT_OWNERDRAW       MF_OWNERDRAW
  1065. #define MFT_RADIOCHECK      0x00000200L
  1066. #define MFT_SEPARATOR       MF_SEPARATOR
  1067. #define MFT_RIGHTORDER      0x00002000L
  1068. #define MFT_RIGHTJUSTIFY    MF_RIGHTJUSTIFY
  1069.  
  1070. /* Menu flags for Add/Check/EnableMenuItem() */
  1071. #define MFS_GRAYED          0x00000003L
  1072. #define MFS_DISABLED        MFS_GRAYED
  1073. #define MFS_CHECKED         MF_CHECKED
  1074. #define MFS_HILITE          MF_HILITE
  1075. #define MFS_ENABLED         MF_ENABLED
  1076. #define MFS_UNCHECKED       MF_UNCHECKED
  1077. #define MFS_UNHILITE        MF_UNHILITE
  1078. #define MFS_DEFAULT         MF_DEFAULT
  1079. #endif /* WINVER >= 0x0400 */
  1080.  
  1081. #define MF_END             0x00000080L
  1082. /*
  1083.  * System Menu Command Values
  1084.  */
  1085. #define SC_SIZE         0xF000
  1086. #define SC_MOVE         0xF010
  1087. #define SC_MINIMIZE     0xF020
  1088. #define SC_MAXIMIZE     0xF030
  1089. #define SC_NEXTWINDOW   0xF040
  1090. #define SC_PREVWINDOW   0xF050
  1091. #define SC_CLOSE        0xF060
  1092. #define SC_VSCROLL      0xF070
  1093. #define SC_HSCROLL      0xF080
  1094. #define SC_MOUSEMENU    0xF090
  1095. #define SC_KEYMENU      0xF100
  1096. #define SC_ARRANGE      0xF110
  1097. #define SC_RESTORE      0xF120
  1098. #define SC_TASKLIST     0xF130
  1099. #define SC_SCREENSAVE   0xF140
  1100. #define SC_HOTKEY       0xF150
  1101. #if(WINVER >= 0x0400)
  1102. #define SC_DEFAULT      0xF160
  1103. #define SC_MONITORPOWER 0xF170
  1104. #define SC_CONTEXTHELP  0xF180
  1105. #define SC_SEPARATOR    0xF00F
  1106. #endif /* WINVER >= 0x0400 */
  1107. /*
  1108.  * Obsolete names
  1109.  */
  1110. #define SC_ICON         SC_MINIMIZE
  1111. #define SC_ZOOM         SC_MAXIMIZE
  1112.  
  1113.  
  1114. /*
  1115.  * OEM Resource Ordinal Numbers
  1116.  */
  1117. #define OBM_CLOSE           32754
  1118. #define OBM_UPARROW         32753
  1119. #define OBM_DNARROW         32752
  1120. #define OBM_RGARROW         32751
  1121. #define OBM_LFARROW         32750
  1122. #define OBM_REDUCE          32749
  1123. #define OBM_ZOOM            32748
  1124. #define OBM_RESTORE         32747
  1125. #define OBM_REDUCED         32746
  1126. #define OBM_ZOOMD           32745
  1127. #define OBM_RESTORED        32744
  1128. #define OBM_UPARROWD        32743
  1129. #define OBM_DNARROWD        32742
  1130. #define OBM_RGARROWD        32741
  1131. #define OBM_LFARROWD        32740
  1132. #define OBM_MNARROW         32739
  1133. #define OBM_COMBO           32738
  1134. #define OBM_UPARROWI        32737
  1135. #define OBM_DNARROWI        32736
  1136. #define OBM_RGARROWI        32735
  1137. #define OBM_LFARROWI        32734
  1138.  
  1139. #define OBM_OLD_CLOSE       32767
  1140. #define OBM_SIZE            32766
  1141. #define OBM_OLD_UPARROW     32765
  1142. #define OBM_OLD_DNARROW     32764
  1143. #define OBM_OLD_RGARROW     32763
  1144. #define OBM_OLD_LFARROW     32762
  1145. #define OBM_BTSIZE          32761
  1146. #define OBM_CHECK           32760
  1147. #define OBM_CHECKBOXES      32759
  1148. #define OBM_BTNCORNERS      32758
  1149. #define OBM_OLD_REDUCE      32757
  1150. #define OBM_OLD_ZOOM        32756
  1151. #define OBM_OLD_RESTORE     32755
  1152.  
  1153.  
  1154. #define OCR_NORMAL          32512
  1155. #define OCR_IBEAM           32513
  1156. #define OCR_WAIT            32514
  1157. #define OCR_CROSS           32515
  1158. #define OCR_UP              32516
  1159. #define OCR_SIZE            32640   /* OBSOLETE: use OCR_SIZEALL */
  1160. #define OCR_ICON            32641   /* OBSOLETE: use OCR_NORMAL */
  1161. #define OCR_SIZENWSE        32642
  1162. #define OCR_SIZENESW        32643
  1163. #define OCR_SIZEWE          32644
  1164. #define OCR_SIZENS          32645
  1165. #define OCR_SIZEALL         32646
  1166. #define OCR_ICOCUR          32647   /* OBSOLETE: use OIC_WINLOGO */
  1167. #define OCR_NO              32648
  1168. #if(WINVER >= 0x0500)
  1169. #define OCR_HAND            32649
  1170. #endif /* WINVER >= 0x0500 */
  1171. #if(WINVER >= 0x0400)
  1172. #define OCR_APPSTARTING     32650
  1173. #endif /* WINVER >= 0x0400 */
  1174.  
  1175.  
  1176. #define OIC_SAMPLE          32512
  1177. #define OIC_HAND            32513
  1178. #define OIC_QUES            32514
  1179. #define OIC_BANG            32515
  1180. #define OIC_NOTE            32516
  1181. #if(WINVER >= 0x0400)
  1182. #define OIC_WINLOGO         32517
  1183. #define OIC_WARNING         OIC_BANG
  1184. #define OIC_ERROR           OIC_HAND
  1185. #define OIC_INFORMATION     OIC_NOTE
  1186. #endif /* WINVER >= 0x0400 */
  1187.  
  1188.  
  1189. /*
  1190.  * Standard Icon IDs
  1191.  */
  1192. #ifdef RC_INVOKED
  1193. #define IDI_APPLICATION     32512
  1194. #define IDI_HAND            32513
  1195. #define IDI_QUESTION        32514
  1196. #define IDI_EXCLAMATION     32515
  1197. #define IDI_ASTERISK        32516
  1198. #if(WINVER >= 0x0400)
  1199. #define IDI_WINLOGO         32517
  1200. #endif /* WINVER >= 0x0400 */
  1201. #else
  1202. #define IDI_APPLICATION     MAKEINTRESOURCE(32512)
  1203. #define IDI_HAND            MAKEINTRESOURCE(32513)
  1204. #define IDI_QUESTION        MAKEINTRESOURCE(32514)
  1205. #define IDI_EXCLAMATION     MAKEINTRESOURCE(32515)
  1206. #define IDI_ASTERISK        MAKEINTRESOURCE(32516)
  1207. #if(WINVER >= 0x0400)
  1208. #define IDI_WINLOGO         MAKEINTRESOURCE(32517)
  1209. #endif /* WINVER >= 0x0400 */
  1210. #endif /* RC_INVOKED */
  1211.  
  1212. #if(WINVER >= 0x0400)
  1213. #define IDI_WARNING     IDI_EXCLAMATION
  1214. #define IDI_ERROR       IDI_HAND
  1215. #define IDI_INFORMATION IDI_ASTERISK
  1216. #endif /* WINVER >= 0x0400 */
  1217.  
  1218.  
  1219. /*
  1220.  * Dialog Box Command IDs
  1221.  */
  1222. #define IDOK                1
  1223. #define IDCANCEL            2
  1224. #define IDABORT             3
  1225. #define IDRETRY             4
  1226. #define IDIGNORE            5
  1227. #define IDYES               6
  1228. #define IDNO                7
  1229. #if(WINVER >= 0x0400)
  1230. #define IDCLOSE         8
  1231. #define IDHELP          9
  1232. #endif /* WINVER >= 0x0400 */
  1233.  
  1234. #if(WINVER >= 0x0500)
  1235. #define IDTRYAGAIN      10
  1236. #define IDCONTINUE      11
  1237. #endif /* WINVER >= 0x0500 */
  1238.  
  1239.  
  1240. /*
  1241.  * Edit Control Styles
  1242.  */
  1243. #define ES_LEFT             0x0000L
  1244. #define ES_CENTER           0x0001L
  1245. #define ES_RIGHT            0x0002L
  1246. #define ES_MULTILINE        0x0004L
  1247. #define ES_UPPERCASE        0x0008L
  1248. #define ES_LOWERCASE        0x0010L
  1249. #define ES_PASSWORD         0x0020L
  1250. #define ES_AUTOVSCROLL      0x0040L
  1251. #define ES_AUTOHSCROLL      0x0080L
  1252. #define ES_NOHIDESEL        0x0100L
  1253. #define ES_OEMCONVERT       0x0400L
  1254. #define ES_READONLY         0x0800L
  1255. #define ES_WANTRETURN       0x1000L
  1256. #if(WINVER >= 0x0400)
  1257. #define ES_NUMBER           0x2000L
  1258. #endif /* WINVER >= 0x0400 */
  1259.  
  1260.  
  1261. /*
  1262.  * Edit Control Messages
  1263.  */
  1264. #define EM_GETSEL               0x00B0
  1265. #define EM_SETSEL               0x00B1
  1266. #define EM_GETRECT              0x00B2
  1267. #define EM_SETRECT              0x00B3
  1268. #define EM_SETRECTNP            0x00B4
  1269. #define EM_SCROLL               0x00B5
  1270. #define EM_LINESCROLL           0x00B6
  1271. #define EM_SCROLLCARET          0x00B7
  1272. #define EM_GETMODIFY            0x00B8
  1273. #define EM_SETMODIFY            0x00B9
  1274. #define EM_GETLINECOUNT         0x00BA
  1275. #define EM_LINEINDEX            0x00BB
  1276. #define EM_SETHANDLE            0x00BC
  1277. #define EM_GETHANDLE            0x00BD
  1278. #define EM_GETTHUMB             0x00BE
  1279. #define EM_LINELENGTH           0x00C1
  1280. #define EM_REPLACESEL           0x00C2
  1281. #define EM_GETLINE              0x00C4
  1282. #define EM_LIMITTEXT            0x00C5
  1283. #define EM_CANUNDO              0x00C6
  1284. #define EM_UNDO                 0x00C7
  1285. #define EM_FMTLINES             0x00C8
  1286. #define EM_LINEFROMCHAR         0x00C9
  1287. #define EM_SETTABSTOPS          0x00CB
  1288. #define EM_SETPASSWORDCHAR      0x00CC
  1289. #define EM_EMPTYUNDOBUFFER      0x00CD
  1290. #define EM_GETFIRSTVISIBLELINE  0x00CE
  1291. #define EM_SETREADONLY          0x00CF
  1292. #define EM_SETWORDBREAKPROC     0x00D0
  1293. #define EM_GETWORDBREAKPROC     0x00D1
  1294. #define EM_GETPASSWORDCHAR      0x00D2
  1295. #if(WINVER >= 0x0400)
  1296. #define EM_SETMARGINS           0x00D3
  1297. #define EM_GETMARGINS           0x00D4
  1298. #define EM_SETLIMITTEXT         EM_LIMITTEXT   /* ;win40 Name change */
  1299. #define EM_GETLIMITTEXT         0x00D5
  1300. #define EM_POSFROMCHAR          0x00D6
  1301. #define EM_CHARFROMPOS          0x00D7
  1302. #endif /* WINVER >= 0x0400 */
  1303.  
  1304. #if(WINVER >= 0x0500)
  1305. #define EM_SETIMESTATUS         0x00D8
  1306. #define EM_GETIMESTATUS         0x00D9
  1307. #endif /* WINVER >= 0x0500 */
  1308.  
  1309.  
  1310.  
  1311. /*
  1312.  * Button Control Styles
  1313.  */
  1314. #define BS_PUSHBUTTON       0x00000000L
  1315. #define BS_DEFPUSHBUTTON    0x00000001L
  1316. #define BS_CHECKBOX         0x00000002L
  1317. #define BS_AUTOCHECKBOX     0x00000003L
  1318. #define BS_RADIOBUTTON      0x00000004L
  1319. #define BS_3STATE           0x00000005L
  1320. #define BS_AUTO3STATE       0x00000006L
  1321. #define BS_GROUPBOX         0x00000007L
  1322. #define BS_USERBUTTON       0x00000008L
  1323. #define BS_AUTORADIOBUTTON  0x00000009L
  1324. #define BS_OWNERDRAW        0x0000000BL
  1325. #define BS_LEFTTEXT         0x00000020L
  1326. #if(WINVER >= 0x0400)
  1327. #define BS_TEXT             0x00000000L
  1328. #define BS_ICON             0x00000040L
  1329. #define BS_BITMAP           0x00000080L
  1330. #define BS_LEFT             0x00000100L
  1331. #define BS_RIGHT            0x00000200L
  1332. #define BS_CENTER           0x00000300L
  1333. #define BS_TOP              0x00000400L
  1334. #define BS_BOTTOM           0x00000800L
  1335. #define BS_VCENTER          0x00000C00L
  1336. #define BS_PUSHLIKE         0x00001000L
  1337. #define BS_MULTILINE        0x00002000L
  1338. #define BS_NOTIFY           0x00004000L
  1339. #define BS_FLAT             0x00008000L
  1340. #define BS_RIGHTBUTTON      BS_LEFTTEXT
  1341. #endif /* WINVER >= 0x0400 */
  1342.  
  1343. /*
  1344.  * User Button Notification Codes
  1345.  */
  1346. #define BN_CLICKED          0
  1347. #define BN_PAINT            1
  1348. #define BN_HILITE           2
  1349. #define BN_UNHILITE         3
  1350. #define BN_DISABLE          4
  1351. #define BN_DOUBLECLICKED    5
  1352. #if(WINVER >= 0x0400)
  1353. #define BN_PUSHED           BN_HILITE
  1354. #define BN_UNPUSHED         BN_UNHILITE
  1355. #define BN_DBLCLK           BN_DOUBLECLICKED
  1356. #define BN_SETFOCUS         6
  1357. #define BN_KILLFOCUS        7
  1358. #endif /* WINVER >= 0x0400 */
  1359.  
  1360. /*
  1361.  * Button Control Messages
  1362.  */
  1363. #define BM_GETCHECK        0x00F0
  1364. #define BM_SETCHECK        0x00F1
  1365. #define BM_GETSTATE        0x00F2
  1366. #define BM_SETSTATE        0x00F3
  1367. #define BM_SETSTYLE        0x00F4
  1368. #if(WINVER >= 0x0400)
  1369. #define BM_CLICK           0x00F5
  1370. #define BM_GETIMAGE        0x00F6
  1371. #define BM_SETIMAGE        0x00F7
  1372.  
  1373. #define BST_UNCHECKED      0x0000
  1374. #define BST_CHECKED        0x0001
  1375. #define BST_INDETERMINATE  0x0002
  1376. #define BST_PUSHED         0x0004
  1377. #define BST_FOCUS          0x0008
  1378. #endif /* WINVER >= 0x0400 */
  1379.  
  1380. /*
  1381.  * Static Control Constants
  1382.  */
  1383. #define SS_LEFT             0x00000000L
  1384. #define SS_CENTER           0x00000001L
  1385. #define SS_RIGHT            0x00000002L
  1386. #define SS_ICON             0x00000003L
  1387. #define SS_BLACKRECT        0x00000004L
  1388. #define SS_GRAYRECT         0x00000005L
  1389. #define SS_WHITERECT        0x00000006L
  1390. #define SS_BLACKFRAME       0x00000007L
  1391. #define SS_GRAYFRAME        0x00000008L
  1392. #define SS_WHITEFRAME       0x00000009L
  1393. #define SS_USERITEM         0x0000000AL
  1394. #define SS_SIMPLE           0x0000000BL
  1395. #define SS_LEFTNOWORDWRAP   0x0000000CL
  1396. #if(WINVER >= 0x0400)
  1397. #define SS_OWNERDRAW        0x0000000DL
  1398. #define SS_BITMAP           0x0000000EL
  1399. #define SS_ENHMETAFILE      0x0000000FL
  1400. #define SS_ETCHEDHORZ       0x00000010L
  1401. #define SS_ETCHEDVERT       0x00000011L
  1402. #define SS_ETCHEDFRAME      0x00000012L
  1403. #define SS_TYPEMASK         0x0000001FL
  1404. #endif /* WINVER >= 0x0400 */
  1405. #define SS_NOPREFIX         0x00000080L /* Don't do "&" character translation */
  1406. #if(WINVER >= 0x0400)
  1407. #define SS_NOTIFY           0x00000100L
  1408. #define SS_CENTERIMAGE      0x00000200L
  1409. #define SS_RIGHTJUST        0x00000400L
  1410. #define SS_REALSIZEIMAGE    0x00000800L
  1411. #define SS_SUNKEN           0x00001000L
  1412. #define SS_ENDELLIPSIS      0x00004000L
  1413. #define SS_PATHELLIPSIS     0x00008000L
  1414. #define SS_WORDELLIPSIS     0x0000C000L
  1415. #define SS_ELLIPSISMASK     0x0000C000L
  1416. #endif /* WINVER >= 0x0400 */
  1417.  
  1418.  
  1419.  
  1420. /*
  1421.  * Dialog Styles
  1422.  */
  1423. #define DS_ABSALIGN         0x01L
  1424. #define DS_SYSMODAL         0x02L
  1425. #define DS_LOCALEDIT        0x20L   /* Edit items get Local storage. */
  1426. #define DS_SETFONT          0x40L   /* User specified font for Dlg controls */
  1427. #define DS_MODALFRAME       0x80L   /* Can be combined with WS_CAPTION  */
  1428. #define DS_NOIDLEMSG        0x100L  /* WM_ENTERIDLE message will not be sent */
  1429. #define DS_SETFOREGROUND    0x200L  /* not in win3.1 */
  1430.  
  1431.  
  1432. #if(WINVER >= 0x0400)
  1433. #define DS_3DLOOK           0x0004L
  1434. #define DS_FIXEDSYS         0x0008L
  1435. #define DS_NOFAILCREATE     0x0010L
  1436. #define DS_CONTROL          0x0400L
  1437. #define DS_CENTER           0x0800L
  1438. #define DS_CENTERMOUSE      0x1000L
  1439. #define DS_CONTEXTHELP      0x2000L
  1440.  
  1441. #define DS_SHELLFONT        (DS_SETFONT | DS_FIXEDSYS)
  1442. #endif /* WINVER >= 0x0400 */
  1443.  
  1444.  
  1445. /*
  1446.  * Listbox Styles
  1447.  */
  1448. #define LBS_NOTIFY            0x0001L
  1449. #define LBS_SORT              0x0002L
  1450. #define LBS_NOREDRAW          0x0004L
  1451. #define LBS_MULTIPLESEL       0x0008L
  1452. #define LBS_OWNERDRAWFIXED    0x0010L
  1453. #define LBS_OWNERDRAWVARIABLE 0x0020L
  1454. #define LBS_HASSTRINGS        0x0040L
  1455. #define LBS_USETABSTOPS       0x0080L
  1456. #define LBS_NOINTEGRALHEIGHT  0x0100L
  1457. #define LBS_MULTICOLUMN       0x0200L
  1458. #define LBS_WANTKEYBOARDINPUT 0x0400L
  1459. #define LBS_EXTENDEDSEL       0x0800L
  1460. #define LBS_DISABLENOSCROLL   0x1000L
  1461. #define LBS_NODATA            0x2000L
  1462. #if(WINVER >= 0x0400)
  1463. #define LBS_NOSEL             0x4000L
  1464. #endif /* WINVER >= 0x0400 */
  1465. #define LBS_STANDARD          (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
  1466.  
  1467.  
  1468. /*
  1469.  * Combo Box styles
  1470.  */
  1471. #define CBS_SIMPLE            0x0001L
  1472. #define CBS_DROPDOWN          0x0002L
  1473. #define CBS_DROPDOWNLIST      0x0003L
  1474. #define CBS_OWNERDRAWFIXED    0x0010L
  1475. #define CBS_OWNERDRAWVARIABLE 0x0020L
  1476. #define CBS_AUTOHSCROLL       0x0040L
  1477. #define CBS_OEMCONVERT        0x0080L
  1478. #define CBS_SORT              0x0100L
  1479. #define CBS_HASSTRINGS        0x0200L
  1480. #define CBS_NOINTEGRALHEIGHT  0x0400L
  1481. #define CBS_DISABLENOSCROLL   0x0800L
  1482. #if(WINVER >= 0x0400)
  1483. #define CBS_UPPERCASE           0x2000L
  1484. #define CBS_LOWERCASE           0x4000L
  1485. #endif /* WINVER >= 0x0400 */
  1486.  
  1487.  
  1488. /*
  1489.  * Scroll Bar Styles
  1490.  */
  1491. #define SBS_HORZ                    0x0000L
  1492. #define SBS_VERT                    0x0001L
  1493. #define SBS_TOPALIGN                0x0002L
  1494. #define SBS_LEFTALIGN               0x0002L
  1495. #define SBS_BOTTOMALIGN             0x0004L
  1496. #define SBS_RIGHTALIGN              0x0004L
  1497. #define SBS_SIZEBOXTOPLEFTALIGN     0x0002L
  1498. #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
  1499. #define SBS_SIZEBOX                 0x0008L
  1500. #if(WINVER >= 0x0400)
  1501. #define SBS_SIZEGRIP                0x0010L
  1502. #endif /* WINVER >= 0x0400 */
  1503.  
  1504.  
  1505. /*
  1506.  * Commands to pass to WinHelp()
  1507.  */
  1508. #define HELP_CONTEXT      0x0001L  /* Display topic in ulTopic */
  1509. #define HELP_QUIT         0x0002L  /* Terminate help */
  1510. #define HELP_INDEX        0x0003L  /* Display index */
  1511. #define HELP_CONTENTS     0x0003L
  1512. #define HELP_HELPONHELP   0x0004L  /* Display help on using help */
  1513. #define HELP_SETINDEX     0x0005L  /* Set current Index for multi index help */
  1514. #define HELP_SETCONTENTS  0x0005L
  1515. #define HELP_CONTEXTPOPUP 0x0008L
  1516. #define HELP_FORCEFILE    0x0009L
  1517. #define HELP_KEY          0x0101L  /* Display topic for keyword in offabData */
  1518. #define HELP_COMMAND      0x0102L
  1519. #define HELP_PARTIALKEY   0x0105L
  1520. #define HELP_MULTIKEY     0x0201L
  1521. #define HELP_SETWINPOS    0x0203L
  1522. #if(WINVER >= 0x0400)
  1523. #define HELP_CONTEXTMENU  0x000a
  1524. #define HELP_FINDER       0x000b
  1525. #define HELP_WM_HELP      0x000c
  1526. #define HELP_SETPOPUP_POS 0x000d
  1527.  
  1528. #define HELP_TCARD              0x8000
  1529. #define HELP_TCARD_DATA         0x0010
  1530. #define HELP_TCARD_OTHER_CALLER 0x0011
  1531.  
  1532. // These are in winhelp.h in Win95.
  1533. #define IDH_NO_HELP                     28440
  1534. #define IDH_MISSING_CONTEXT             28441 // Control doesn't have matching help context
  1535. #define IDH_GENERIC_HELP_BUTTON         28442 // Property sheet help button
  1536. #define IDH_OK                          28443
  1537. #define IDH_CANCEL                      28444
  1538. #define IDH_HELP                        28445
  1539.  
  1540. #endif /* WINVER >= 0x0400 */
  1541.