home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / winuser.rh < prev    next >
Text File  |  1998-04-25  |  42KB  |  1,309 lines

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