home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / commctrl.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  117KB  |  3,578 lines

  1. #ifndef _COMMCTRL_H
  2. #define _COMMCTRL_H
  3. #if __GNUC__ >= 3
  4. #pragma GCC system_header
  5. #endif
  6.  
  7. #include <prsht.h>
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. #ifndef _WIN32_IE
  12. /* define _WIN32_IE if you really want it */
  13. #if 0
  14. #define _WIN32_IE    0x0300
  15. #endif
  16. #endif
  17.  
  18. #ifndef SNDMSG
  19. #ifdef __cplusplus
  20. #define SNDMSG ::SendMessage
  21. #else
  22. #define SNDMSG SendMessage
  23. #endif
  24. #endif /* ifndef SNDMSG */
  25.  
  26. #define DRAGLISTMSGSTRING TEXT("commctrl_DragListMsg")
  27. #define HOTKEY_CLASSA    "msctls_hotkey32"
  28. #define HOTKEY_CLASSW    L"msctls_hotkey32"
  29. #define PROGRESS_CLASSA    "msctls_progress32"
  30. #define PROGRESS_CLASSW    L"msctls_progress32"
  31. #define STATUSCLASSNAMEA    "msctls_statusbar32"
  32. #define STATUSCLASSNAMEW    L"msctls_statusbar32"
  33. #define TOOLBARCLASSNAMEA    "ToolbarWindow32"
  34. #define TOOLBARCLASSNAMEW    L"ToolbarWindow32"
  35. #define TOOLTIPS_CLASSA    "tooltips_class32"
  36. #define TOOLTIPS_CLASSW    L"tooltips_class32"
  37. #define TRACKBAR_CLASSA    "msctls_trackbar32"
  38. #define TRACKBAR_CLASSW    L"msctls_trackbar32"
  39. #define UPDOWN_CLASSA    "msctls_updown32"
  40. #define UPDOWN_CLASSW    L"msctls_updown32"
  41. #define ANIMATE_CLASSA    "SysAnimate32"
  42. #define ANIMATE_CLASSW    L"SysAnimate32"
  43. #define DATETIMEPICK_CLASSW L"SysDateTimePick32"
  44. #define DATETIMEPICK_CLASSA "SysDateTimePick32"
  45. #define MONTHCAL_CLASSW L"SysMonthCal32"
  46. #define MONTHCAL_CLASSA "SysMonthCal32"
  47. #define REBARCLASSNAMEW L"ReBarWindow32"
  48. #define REBARCLASSNAMEA "ReBarWindow32"
  49. #define WC_COMBOBOXEXW    L"ComboBoxEx32"
  50. #define WC_COMBOBOXEXA    "ComboBoxEx32"
  51. #define WC_IPADDRESSW    L"SysIPAddress32"
  52. #define WC_IPADDRESSA    "SysIPAddress32"
  53. #define WC_LISTVIEWA    "SysListView32"
  54. #define WC_LISTVIEWW    L"SysListView32"
  55. #define WC_TABCONTROLA    "SysTabControl32"
  56. #define WC_TABCONTROLW    L"SysTabControl32"
  57. #define WC_TREEVIEWA    "SysTreeView32"
  58. #define WC_TREEVIEWW    L"SysTreeView32"
  59. #define WC_HEADERA    "SysHeader32"
  60. #define WC_HEADERW     L"SysHeader32"
  61. #define WC_PAGESCROLLERW    L"SysPager"
  62. #define WC_PAGESCROLLERA    "SysPager"
  63. #define WC_NATIVEFONTCTLW    L"NativeFontCtl"
  64. #define WC_NATIVEFONTCTLA    "NativeFontCtl"
  65. #define WC_BUTTONA    "Button"
  66. #define WC_BUTTONW    L"Button"
  67. #define WC_STATICA    "Static"
  68. #define WC_STATICW    L"Static"
  69. #define WC_EDITA    "Edit"
  70. #define WC_EDITW    L"Edit"
  71. #define WC_LISTBOXA    "ListBox"
  72. #define WC_LISTBOXW    L"ListBox"
  73. #define WC_COMBOBOXA    "ComboBox"
  74. #define WC_COMBOBOXW    L"ComboBox"
  75. #define WC_SCROLLBARA    "ScrollBar"
  76. #define WC_SCROLLBARW    L"ScrollBar"
  77.  
  78. #ifdef UNICODE
  79. #define HOTKEY_CLASS HOTKEY_CLASSW
  80. #define PROGRESS_CLASS PROGRESS_CLASSW
  81. #define STATUSCLASSNAME STATUSCLASSNAMEW
  82. #define TOOLBARCLASSNAME TOOLBARCLASSNAMEW
  83. #define TOOLTIPS_CLASS TOOLTIPS_CLASSW
  84. #define TRACKBAR_CLASS TRACKBAR_CLASSW
  85. #define UPDOWN_CLASS UPDOWN_CLASSW
  86. #define ANIMATE_CLASS ANIMATE_CLASSW
  87. #define DATETIMEPICK_CLASS DATETIMEPICK_CLASSW
  88. #define MONTHCAL_CLASS MONTHCAL_CLASSW
  89. #define REBARCLASSNAME REBARCLASSNAMEW
  90. #define WC_COMBOBOXEX WC_COMBOBOXEXW
  91. #define WC_HEADER WC_HEADERW
  92. #define WC_IPADDRESS WC_IPADDRESSW
  93. #define WC_LISTVIEW WC_LISTVIEWW
  94. #define WC_TABCONTROL WC_TABCONTROLW
  95. #define WC_TREEVIEW WC_TREEVIEWW
  96. #define WC_PAGESCROLLER WC_PAGESCROLLERW
  97. #define WC_NATIVEFONTCTL WC_NATIVEFONTCTLW
  98. #define WC_BUTTON WC_BUTTONW
  99. #define WC_STATIC WC_STATICW
  100. #define WC_EDIT WC_EDITW
  101. #define WC_LISTBOX WC_LISTBOXW
  102. #define WC_COMBOBOX WC_COMBOBOXW
  103. #define WC_SCROLLBAR WC_SCROLLBARW
  104. #else
  105. #define ANIMATE_CLASS ANIMATE_CLASSA
  106. #define HOTKEY_CLASS HOTKEY_CLASSA
  107. #define PROGRESS_CLASS PROGRESS_CLASSA
  108. #define STATUSCLASSNAME STATUSCLASSNAMEA
  109. #define TOOLBARCLASSNAME TOOLBARCLASSNAMEA
  110. #define TOOLTIPS_CLASS TOOLTIPS_CLASSA
  111. #define TRACKBAR_CLASS TRACKBAR_CLASSA
  112. #define UPDOWN_CLASS UPDOWN_CLASSA
  113. #define DATETIMEPICK_CLASS DATETIMEPICK_CLASSA
  114. #define MONTHCAL_CLASS MONTHCAL_CLASSA
  115. #define REBARCLASSNAME REBARCLASSNAMEA
  116. #define WC_COMBOBOXEX WC_COMBOBOXEXA
  117. #define WC_HEADER WC_HEADERA
  118. #define WC_IPADDRESS WC_IPADDRESSA
  119. #define WC_LISTVIEW WC_LISTVIEWA
  120. #define WC_TABCONTROL WC_TABCONTROLA
  121. #define WC_TREEVIEW WC_TREEVIEWA
  122. #define WC_PAGESCROLLER WC_PAGESCROLLERA
  123. #define WC_NATIVEFONTCTL WC_NATIVEFONTCTLA
  124. #define WC_BUTTON WC_BUTTONA
  125. #define WC_STATIC WC_STATICA
  126. #define WC_EDIT WC_EDITA
  127. #define WC_LISTBOX WC_LISTBOXA
  128. #define WC_COMBOBOX WC_COMBOBOXA
  129. #define WC_SCROLLBAR WC_SCROLLBARA
  130. #endif
  131.  
  132. #if (_WIN32_IE >= 0x0500)
  133. #if (_WIN32_WINNT >= 0x0501)
  134. #define COMCTL32_VERSION 6
  135. #else
  136. #define COMCTL32_VERSION 5
  137. #endif
  138. #endif
  139.  
  140. #define LVM_FIRST 0x1000
  141. #define TV_FIRST 0x1100
  142. #define HDM_FIRST 0x1200
  143. #define ACM_OPENA    (WM_USER+100)
  144. #define ACM_PLAY    (WM_USER+101)
  145. #define ACM_STOP    (WM_USER+102)
  146. #define ACM_OPENW    (WM_USER+103)
  147. #define ACN_START    1
  148. #define ACN_STOP    2
  149. #define CBEIF_TEXT    0x00000001
  150. #define CBEIF_IMAGE    0x00000002
  151. #define CBEIF_SELECTEDIMAGE    0x00000004
  152. #define CBEIF_OVERLAY    0x00000008
  153. #define CBEIF_INDENT    0x00000010
  154. #define CBEIF_LPARAM    0x00000020
  155. #define CBEIF_DI_SETITEM    0x10000000
  156. #define CBEN_INSERTITEM    (CBEN_FIRST - 1)
  157. #define CBEN_DELETEITEM    (CBEN_FIRST - 2)
  158. #define CBEN_BEGINEDIT    (CBEN_FIRST - 4)
  159. #define CBEN_ENDEDITA    (CBEN_FIRST - 5)
  160. #define CBEN_ENDEDITW    (CBEN_FIRST - 6)
  161. #define CBENF_KILLFOCUS    1
  162. #define CBENF_RETURN    2
  163. #define CBENF_ESCAPE    3
  164. #define CBENF_DROPDOWN    4
  165. #define CBEMAXSTRLEN 260
  166. #define DL_BEGINDRAG    1157
  167. #define DL_CANCELDRAG    1160
  168. #define DL_DRAGGING    1158
  169. #define DL_DROPPED    1159
  170. #define DL_CURSORSET    0
  171. #define DL_STOPCURSOR    1
  172. #define DL_COPYCURSOR    2
  173. #define DL_MOVECURSOR    3
  174. #define CCS_TOP    1
  175. #define CCS_NOMOVEY    2
  176. #define CCS_BOTTOM    3
  177. #define CCS_NORESIZE    4
  178. #define CCS_NOPARENTALIGN    8
  179. #define CCS_ADJUSTABLE    32
  180. #define CCS_NODIVIDER    64
  181. #if (_WIN32_IE >= 0x0300)
  182. #define CCS_VERT 128
  183. #define CCS_LEFT 129
  184. #define CCS_NOMOVEX 130
  185. #define CCS_RIGHT 131
  186. #endif
  187. #define ACS_CENTER    0x0001
  188. #define ACS_TRANSPARENT    0x0002
  189. #define ACS_AUTOPLAY    0x0004
  190. #define ACS_TIMER    0x0008
  191. #define PGS_VERT    0x00000000
  192. #define PGS_HORZ    0x00000001
  193. #define PGS_AUTOSCROLL    0x00000002
  194. #define PGS_DRAGNDROP    0x00000004
  195. #define CMB_MASKED    2
  196. #define MINSYSCOMMAND    SC_SIZE
  197. #define SBT_OWNERDRAW    0x1000
  198. #define SBT_NOBORDERS    256
  199. #define SBT_POPOUT    512
  200. #define SBT_RTLREADING    1024
  201. #define SB_SETTEXTA    (WM_USER+1)
  202. #define SB_SETTEXTW    (WM_USER+11)
  203. #define SB_GETTEXTA    (WM_USER+2)
  204. #define SB_GETTEXTW    (WM_USER+13)
  205. #define SB_GETTEXTLENGTHA    (WM_USER+3)
  206. #define SB_GETTEXTLENGTHW    (WM_USER+12)
  207. #define SB_SETPARTS    (WM_USER+4)
  208. #define SB_GETPARTS    (WM_USER+6)
  209. #define SB_GETBORDERS    (WM_USER+7)
  210. #define SB_SETMINHEIGHT    (WM_USER+8)
  211. #define SB_SIMPLE    (WM_USER+9)
  212. #define SB_GETRECT    (WM_USER+10)
  213. #define MSGF_COMMCTRL_BEGINDRAG    0x4200
  214. #define MSGF_COMMCTRL_SIZEHEADER    0x4201
  215. #define MSGF_COMMCTRL_DRAGSELECT    0x4202
  216. #define MSGF_COMMCTRL_TOOLBARCUST    0x4203
  217. #define ILC_COLOR 0
  218. #define ILC_COLOR4 4
  219. #define ILC_COLOR8 8
  220. #define ILC_COLOR16 16
  221. #define ILC_COLOR24 24
  222. #define ILC_COLOR32 32
  223. #define ILC_COLORDDB 254
  224. #define ILC_MASK 1
  225. #define ILC_PALETTE 2048
  226. #define ILCF_MOVE 0
  227. #define ILCF_SWAP 1
  228. #define ILS_NORMAL 0
  229. #define ILS_GLOW 1
  230. #define ILS_SHADOW 2
  231. #define ILS_SATURATE 4
  232. #define ILS_ALPHA 8
  233. #define ILD_BLEND25 2
  234. #define ILD_BLEND50 4
  235. #define ILD_SELECTED 4
  236. #define ILD_BLEND 4
  237. #define ILD_FOCUS 2
  238. #define ILD_MASK 16
  239. #define ILD_NORMAL 0
  240. #define ILD_TRANSPARENT 1
  241. #define ILD_IMAGE 0x0020
  242. #define ILD_ROP 0x0040
  243. #define ILD_OVERLAYMASK 0x0F00
  244. #define ILD_PRESERVEALPHA 0x1000
  245. #define ILD_SCALE 0x2000
  246. #define ILD_DPISCALE 0x4000
  247. #define HDS_HORZ    0
  248. #define HDS_BUTTONS    2
  249. #define HDS_HIDDEN    8
  250. #if (_WIN32_IE > 0x0300)
  251. #define HDS_HOTTRACK    4
  252. #define HDS_DRAGDROP    0x0040
  253. #define HDS_FULLDRAG    0x0080
  254. #endif /* _WIN32_IE > 0x0300 */
  255. #if (_WIN32_IE >= 0x0500)
  256. #define HDS_FILTERBAR    0x0100
  257. #endif /* _WIN32_IE >= 0x0500 */
  258. #define NM_FIRST    0
  259. #define NM_LAST    ((UINT)-99)
  260. #define LVN_FIRST    ((UINT)-100)
  261. #define LVN_LAST    ((UINT)-199)
  262. #define HDN_FIRST    ((UINT)-300)
  263. #define HDN_LAST    ((UINT)-399)
  264. #define TVN_FIRST    ((UINT)-400)
  265. #define TVN_LAST    ((UINT)-499)
  266. #define TTN_FIRST    ((UINT)-520)
  267. #define TTN_LAST    ((UINT)-549)
  268. #define TCN_FIRST    ((UINT)-550)
  269. #define TCN_LAST    ((UINT)-580)
  270. #ifndef CDN_FIRST
  271. #define CDN_FIRST    ((UINT)-601) /* also in commdlg.h */
  272. #define CDN_LAST    ((UINT)-699)
  273. #endif
  274. #define TBN_FIRST    ((UINT)-700)
  275. #define TBN_LAST    ((UINT)-720)
  276. #define UDN_FIRST    ((UINT)-721)
  277. #define UDN_LAST    ((UINT)-740)
  278. #if (_WIN32_IE >= 0x0300)
  279. #define RBN_FIRST    ((UINT)-831)
  280. #define RBN_LAST    ((UINT)-859)
  281. #define MCN_FIRST    ((UINT)-750)
  282. #define MCN_LAST    ((UINT)-759)
  283. #define DTN_FIRST    ((UINT)-760)
  284. #define DTN_LAST    ((UINT)-799)
  285. #define CBEN_FIRST    ((UINT)-800)
  286. #define CBEN_LAST    ((UINT)-830)
  287. #endif /* _WIN32_IE */
  288. #if (_WIN32_IE >= 0x0400)
  289. #define IPN_FIRST    ((UINT)-860)
  290. #define IPN_LAST    ((UINT)-879)
  291. #define IPN_FIELDCHANGED    (IPN_FIRST-0)
  292. #define SBN_FIRST    ((UINT)-880U)
  293. #define SBN_LAST    ((UINT)-899U)
  294. #define PGN_FIRST    ((UINT)-900U)
  295. #define PGN_LAST    ((UINT)-950U)
  296. #define PGN_SCROLL    (PGN_FIRST-1)
  297. #define PGN_CALCSIZE    (PGN_FIRST-2)
  298. #endif /* _WIN32_IE >= 0x0400 */
  299. #define HDI_WIDTH    1
  300. #define HDI_HEIGHT    1
  301. #define HDI_TEXT    2
  302. #define HDI_FORMAT    4
  303. #define HDI_LPARAM    8
  304. #define HDI_BITMAP    16
  305. #if (_WIN32_IE >= 0x0300)
  306. #define HDI_IMAGE    32
  307. #define HDI_DI_SETITEM    64
  308. #define HDI_ORDER    128
  309. #endif
  310. #define CBES_EX_NOEDITIMAGE    0x00000001
  311. #define CBES_EX_NOEDITIMAGEINDENT    0x00000002
  312. #define CBES_EX_PATHWORDBREAKPROC    0x00000004
  313. #if (_WIN32_IE >= 0x0400)
  314. #define CBES_EX_NOSIZELIMIT    0x00000008
  315. #define CBES_EX_CASESENSITIVE    0x00000010
  316. #define CBEN_GETDISPINFOA    (CBEN_FIRST - 0)
  317. #define CBEN_GETDISPINFOW    (CBEN_FIRST - 7)
  318. #define CBEN_DRAGBEGINA    (CBEN_FIRST - 8)
  319. #define CBEN_DRAGBEGINW    (CBEN_FIRST - 9)
  320. #endif /* _WIN32_IE >= 0x0400 */
  321. #if (_WIN32_IE >= 0x0500)
  322. #define HDI_FILTER    256
  323. #endif
  324. #define HDF_LEFT    0
  325. #define HDF_RIGHT    1
  326. #define HDF_CENTER    2
  327. #define HDF_JUSTIFYMASK    3
  328. #define HDF_RTLREADING    4
  329. #define HDF_OWNERDRAW    0x8000
  330. #define HDF_STRING    0x4000
  331. #define HDF_BITMAP    0x2000
  332. #if (_WIN32_IE >= 0x0300)
  333. #define HDF_BITMAP_ON_RIGHT    0x1000
  334. #define HDF_IMAGE    0x0800
  335. #endif
  336. #define HDM_GETITEMCOUNT    HDM_FIRST
  337. #define HDM_INSERTITEMA    (HDM_FIRST+1)
  338. #define HDM_INSERTITEMW    (HDM_FIRST+10)
  339. #define HDM_DELETEITEM    (HDM_FIRST+2)
  340. #define HDM_GETITEMA    (HDM_FIRST+3)
  341. #define HDM_GETITEMW    (HDM_FIRST+11)
  342. #define HDM_SETITEMA    (HDM_FIRST+4)
  343. #define HDM_SETITEMW    (HDM_FIRST+12)
  344. #define HDM_LAYOUT    (HDM_FIRST+5)
  345. #if (_WIN32_IE >= 0x0300)
  346. #define HDM_GETITEMRECT (HDM_FIRST+7)
  347. #define HDM_SETIMAGELIST    (HDM_FIRST+8)
  348. #define HDM_GETIMAGELIST    (HDM_FIRST+9)
  349. #define HDM_ORDERTOINDEX    (HDM_FIRST+15)
  350. #define HDM_CREATEDRAGIMAGE    (HDM_FIRST+16)
  351. #define HDM_GETORDERARRAY    (HDM_FIRST+17)
  352. #define HDM_SETORDERARRAY    (HDM_FIRST+18)
  353. #define HDM_SETHOTDIVIDER    (HDM_FIRST+19)
  354. #endif
  355. #if (_WIN32_IE >= 0x0400)
  356. #define HDM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT
  357. #define HDM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
  358. #endif
  359. #define HHT_NOWHERE    1
  360. #define HHT_ONHEADER    2
  361. #define HHT_ONDIVIDER    4
  362. #define HHT_ONDIVOPEN    8
  363. #define HHT_ABOVE    256
  364. #define HHT_BELOW    512
  365. #define HHT_TORIGHT    1024
  366. #define HHT_TOLEFT    2048
  367. #define HDM_HITTEST    (HDM_FIRST+6)
  368. #define HDN_ITEMCHANGINGA    (HDN_FIRST-0)
  369. #define HDN_ITEMCHANGINGW    (HDN_FIRST-20)
  370. #define HDN_ITEMCHANGEDA    (HDN_FIRST-1)
  371. #define HDN_ITEMCHANGEDW    (HDN_FIRST-21)
  372. #define HDN_ITEMCLICKA    (HDN_FIRST-2)
  373. #define HDN_ITEMCLICKW    (HDN_FIRST-22)
  374. #define HDN_ITEMDBLCLICKA    (HDN_FIRST-3)
  375. #define HDN_ITEMDBLCLICKW    (HDN_FIRST-23)
  376. #define HDN_DIVIDERDBLCLICKA    (HDN_FIRST-5)
  377. #define HDN_DIVIDERDBLCLICKW    (HDN_FIRST-25)
  378. #define HDN_BEGINTRACKA    (HDN_FIRST-6)
  379. #define HDN_BEGINTRACKW    (HDN_FIRST-26)
  380. #define HDN_ENDTRACKA    (HDN_FIRST-7)
  381. #define HDN_ENDTRACKW    (HDN_FIRST-27)
  382. #define HDN_TRACKA    (HDN_FIRST-8)
  383. #define HDN_TRACKW    (HDN_FIRST-28)
  384. #if _WIN32_IE >= 0x0300
  385. #define HDN_ENDDRAG    (HDN_FIRST-11)
  386. #define HDN_BEGINDRAG    (HDN_FIRST-10)
  387. #define HDN_GETDISPINFOA (HDN_FIRST-9)
  388. #define HDN_GETDISPINFOW (HDN_FIRST-29)
  389. #endif
  390. #if (_WIN32_IE >= 0x0400)
  391. #define HICF_OTHER 0x00
  392. #define HICF_MOUSE 0x01
  393. #define HICF_ARROWKEYS 0x02
  394. #define HICF_ACCELERATOR 0x04
  395. #define HICF_DUPACCEL 0x08
  396. #define HICF_ENTERING 0x10
  397. #define HICF_LEAVING 0x20
  398. #define HICF_RESELECT 0x40
  399. #define HICF_LMOUSE 0x80
  400. #define HICF_TOGGLEDROPDOWN 0x100
  401. #endif /* _WIN32_IE >= 0x0400 */
  402. #define IPM_CLEARADDRESS    (WM_USER+100)
  403. #define IPM_SETADDRESS    (WM_USER+101)
  404. #define IPM_GETADDRESS    (WM_USER+102)
  405. #define IPM_SETRANGE    (WM_USER+103)
  406. #define IPM_SETFOCUS    (WM_USER+104)
  407. #define IPM_ISBLANK    (WM_USER+105)
  408. #if (_WIN32_IE >= 0x0500)
  409. #define I_INDENTCALLBACK (-1)
  410. #define I_IMAGENONE (-2)
  411. #endif
  412. #define CMB_MASKED 2
  413. #define TBSTATE_CHECKED    1
  414. #define TBSTATE_PRESSED    2
  415. #define TBSTATE_ENABLED    4
  416. #define TBSTATE_HIDDEN    8
  417. #define TBSTATE_INDETERMINATE    16
  418. #define TBSTATE_WRAP    32
  419. #if (_WIN32_IE >= 0x0300)
  420. #define TBSTATE_ELLIPSES 0x40
  421. #endif
  422. #if (_WIN32_IE >= 0x0400)
  423. #define TBSTATE_MARKED    0x0080
  424. #endif
  425. #define TBSTYLE_BUTTON    0
  426. #define TBSTYLE_SEP    1
  427. #define TBSTYLE_CHECK    2
  428. #define TBSTYLE_GROUP    4
  429. #define TBSTYLE_CHECKGROUP    (TBSTYLE_GROUP|TBSTYLE_CHECK)
  430. #if (_WIN32_IE >= 0x0300)
  431. #define TBSTYLE_DROPDOWN    8
  432. #endif
  433. #if (_WIN32_IE >= 0x0400)
  434. #define TBSTYLE_AUTOSIZE    16
  435. #define TBSTYLE_NOPREFIX    32
  436. #endif
  437. #define TBSTYLE_TOOLTIPS    256
  438. #define TBSTYLE_WRAPABLE    512
  439. #define TBSTYLE_ALTDRAG    1024
  440. #if (_WIN32_IE >= 0x0300)
  441. #define TBSTYLE_FLAT 2048
  442. #define TBSTYLE_LIST 4096
  443. #define TBSTYLE_CUSTOMERASE 8192
  444. #endif
  445. #if (_WIN32_IE >= 0x0400)
  446. #define TBSTYLE_REGISTERDROP    0x4000
  447. #define TBSTYLE_TRANSPARENT    0x8000
  448. #define TBSTYLE_EX_DRAWDDARROWS    0x00000001
  449. #endif /* _WIN32_IE >= 0x0400 */
  450. #if (_WIN32_IE >= 0x0501)
  451. #define TBSTYLE_EX_MIXEDBUTTONS 8
  452. #define TBSTYLE_EX_HIDECLIPPEDBUTTONS 16
  453. #endif /* _WIN32_IE >= 0x0501 */
  454. #if (_WIN32_WINNT >= 0x0501)
  455. #define TBSTYLE_EX_DOUBLEBUFFER    0x80
  456. #endif /* _WIN32_WINNT >= 0x0501 */
  457. #if (_WIN32_IE >= 0x0500)
  458. #define BTNS_BUTTON    TBSTYLE_BUTTON
  459. #define BTNS_SEP    TBSTYLE_SEP
  460. #define BTNS_CHECK    TBSTYLE_CHECK
  461. #define BTNS_GROUP    TBSTYLE_GROUP
  462. #define BTNS_CHECKGROUP    TBSTYLE_CHECKGROUP
  463. #define BTNS_DROPDOWN    TBSTYLE_DROPDOWN
  464. #define BTNS_AUTOSIZE    TBSTYLE_AUTOSIZE
  465. #define BTNS_NOPREFIX    TBSTYLE_NOPREFIX
  466. #define BTNS_WHOLEDROPDOWN    0x0080
  467. #endif  /* _WIN32_IE >= 0x0500 */
  468. #if _WIN32_IE >= 0x0501
  469. #define BTNS_SHOWTEXT    0x0040
  470. #endif
  471. #if (_WIN32_IE >= 0x0400)
  472. #define TBCDRF_NOEDGES    0x10000
  473. #define TBCDRF_HILITEHOTTRACK    0x20000
  474. #define TBCDRF_NOOFFSET    0x40000
  475. #define TBCDRF_NOMARK    0x80000
  476. #define TBCDRF_NOETCHEDEFFECT    0x100000
  477. #endif /* _WIN32_IE >= 0x0400 */
  478. #define HINST_COMMCTRL    ((HINSTANCE)-1)
  479. #define IDB_STD_SMALL_COLOR    0
  480. #define IDB_STD_LARGE_COLOR    1
  481. #define IDB_VIEW_SMALL_COLOR    4
  482. #define IDB_VIEW_LARGE_COLOR    5
  483. #if (_WIN32_IE >= 0x0300)
  484. #define IDB_HIST_SMALL_COLOR    8
  485. #define IDB_HIST_LARGE_COLOR    9
  486. #endif
  487. #define STD_CUT    0
  488. #define STD_COPY    1
  489. #define STD_PASTE    2
  490. #define STD_UNDO    3
  491. #define STD_REDOW    4
  492. #define STD_DELETE    5
  493. #define STD_FILENEW    6
  494. #define STD_FILEOPEN    7
  495. #define STD_FILESAVE    8
  496. #define STD_PRINTPRE    9
  497. #define STD_PROPERTIES    10
  498. #define STD_HELP    11
  499. #define STD_FIND    12
  500. #define STD_REPLACE    13
  501. #define STD_PRINT    14
  502. #define VIEW_LARGEICONS    0
  503. #define VIEW_SMALLICONS    1
  504. #define VIEW_LIST    2
  505. #define VIEW_DETAILS    3
  506. #define VIEW_SORTNAME    4
  507. #define VIEW_SORTSIZE    5
  508. #define VIEW_SORTDATE    6
  509. #define VIEW_SORTTYPE    7
  510. #define VIEW_PARENTFOLDER    8
  511. #define VIEW_NETCONNECT    9
  512. #define VIEW_NETDISCONNECT    10
  513. #define VIEW_NEWFOLDER    11
  514. #define TB_ENABLEBUTTON    (WM_USER+1)
  515. #define TB_CHECKBUTTON    (WM_USER+2)
  516. #define TB_PRESSBUTTON    (WM_USER+3)
  517. #define TB_HIDEBUTTON    (WM_USER+4)
  518. #define TB_INDETERMINATE    (WM_USER+5)
  519. #if (_WIN32_IE >= 0x0400)
  520. #define TB_MARKBUTTON           (WM_USER+6)
  521. #endif
  522. #define TB_ISBUTTONENABLED    (WM_USER+9)
  523. #define TB_ISBUTTONCHECKED    (WM_USER+10)
  524. #define TB_ISBUTTONPRESSED    (WM_USER+11)
  525. #define TB_ISBUTTONHIDDEN    (WM_USER+12)
  526. #define TB_ISBUTTONINDETERMINATE    (WM_USER+13)
  527. #if (_WIN32_IE >= 0x0400)
  528. #define TB_ISBUTTONHIGHLIGHTED    (WM_USER+14)
  529. #endif
  530. #define TB_SETSTATE    (WM_USER+17)
  531. #define TB_GETSTATE    (WM_USER+18)
  532. #define TB_ADDBITMAP    (WM_USER+19)
  533. #if (_WIN32_IE >= 0x0400)
  534. #define TB_ADDBUTTONSA    (WM_USER+20)
  535. #define TB_INSERTBUTTONA    (WM_USER+21)
  536. #else
  537. #define TB_ADDBUTTONS    (WM_USER+20)
  538. #define TB_INSERTBUTTON    (WM_USER+21)
  539. #endif
  540. #define TB_DELETEBUTTON    (WM_USER+22)
  541. #define TB_GETBUTTON    (WM_USER+23)
  542. #define TB_BUTTONCOUNT    (WM_USER+24)
  543. #define TB_COMMANDTOINDEX    (WM_USER+25)
  544. #define TB_SAVERESTOREA    (WM_USER+26)
  545. #define TB_SAVERESTOREW    (WM_USER+76)
  546. #define TB_CUSTOMIZE    (WM_USER+27)
  547. #define TB_ADDSTRINGA    (WM_USER+28)
  548. #define TB_ADDSTRINGW    (WM_USER+77)
  549. #define TB_GETITEMRECT    (WM_USER+29)
  550. #define TB_BUTTONSTRUCTSIZE    (WM_USER+30)
  551. #define TB_SETBUTTONSIZE    (WM_USER+31)
  552. #define TB_SETBITMAPSIZE    (WM_USER+32)
  553. #define TB_AUTOSIZE    (WM_USER+33)
  554. #define TB_GETTOOLTIPS    (WM_USER+35)
  555. #define TB_SETTOOLTIPS    (WM_USER+36)
  556. #define TB_SETPARENT    (WM_USER+37)
  557. #define TB_SETROWS    (WM_USER+39)
  558. #define TB_GETROWS    (WM_USER+40)
  559. #define TB_GETBITMAPFLAGS    (WM_USER+41)
  560. #define TB_SETCMDID    (WM_USER+42)
  561. #define TB_CHANGEBITMAP    (WM_USER+43)
  562. #define TB_GETBITMAP    (WM_USER+44)
  563. #define TB_GETBUTTONTEXTA    (WM_USER+45)
  564. #define TB_GETBUTTONTEXTW    (WM_USER+75)
  565. #define TB_REPLACEBITMAP    (WM_USER+46)
  566. #define TB_GETBUTTONSIZE    (WM_USER+58)
  567. #define TB_SETBUTTONWIDTH    (WM_USER+59)
  568. #if (_WIN32_IE >= 0x0300)
  569. #define TB_SETINDENT    (WM_USER+47)
  570. #define TB_SETIMAGELIST    (WM_USER+48)
  571. #define TB_GETIMAGELIST    (WM_USER+49)
  572. #define TB_LOADIMAGES    (WM_USER+50)
  573. #define TB_GETRECT    (WM_USER+51)
  574. #define TB_SETHOTIMAGELIST    (WM_USER+52)
  575. #define TB_GETHOTIMAGELIST    (WM_USER+53)
  576. #define TB_SETDISABLEDIMAGELIST (WM_USER+54)
  577. #define TB_GETDISABLEDIMAGELIST    (WM_USER+55)
  578. #define TB_SETSTYLE    (WM_USER+56)
  579. #define TB_GETSTYLE    (WM_USER+57)
  580. #define TB_GETBUTTONSIZE    (WM_USER+58)
  581. #define TB_SETBUTTONWIDTH    (WM_USER+59)
  582. #define TB_SETMAXTEXTROWS    (WM_USER+60)
  583. #define TB_GETTEXTROWS    (WM_USER+61)
  584. #endif
  585. #if _WIN32_IE >= 0x400
  586. #define TB_GETOBJECT    (WM_USER+62)
  587. #define TB_GETBUTTONINFOW    (WM_USER+63)
  588. #define TB_SETBUTTONINFOW    (WM_USER+64)
  589. #define TB_GETBUTTONINFOA    (WM_USER+65)
  590. #define TB_SETBUTTONINFOA    (WM_USER+66)
  591. #define TB_INSERTBUTTONW    (WM_USER+67)
  592. #define TB_ADDBUTTONSW    (WM_USER+68)
  593. #define TB_HITTEST    (WM_USER+69)
  594. #define TB_SETEXTENDEDSTYLE    (WM_USER+84)
  595. #define TB_GETEXTENDEDSTYLE    (WM_USER+85)
  596. #define TB_SETDRAWTEXTFLAGS    (WM_USER+70)
  597. #define TB_GETHOTITEM    (WM_USER+71)
  598. #define TB_SETHOTITEM    (WM_USER+72)
  599. #define TB_SETANCHORHIGHLIGHT    (WM_USER+73)
  600. #define TB_GETANCHORHIGHLIGHT    (WM_USER+74)
  601. #define TB_MAPACCELERATORA    (WM_USER+78)
  602. #define TB_GETINSERTMARK    (WM_USER+79)
  603. #define TB_SETINSERTMARK    (WM_USER+80)
  604. #define TB_INSERTMARKHITTEST    (WM_USER+81)
  605. #define TB_MOVEBUTTON        (WM_USER+82)
  606. #define TB_GETMAXSIZE        (WM_USER+83)
  607. #define TB_SETEXTENDEDSTYLE    (WM_USER+84)
  608. #define TB_GETEXTENDEDSTYLE    (WM_USER+85)
  609. #define TB_GETPADDING        (WM_USER+86)
  610. #define TB_SETPADDING        (WM_USER+87)
  611. #define TB_SETINSERTMARKCOLOR    (WM_USER+88)
  612. #define TB_GETINSERTMARKCOLOR    (WM_USER+89)
  613. #define TB_MAPACCELERATORW    (WM_USER+90)
  614. #define TB_GETSTRINGW        (WM_USER+91)
  615. #define TB_GETSTRINGA        (WM_USER+92)
  616. #define TB_SETCOLORSCHEME    CCM_SETCOLORSCHEME
  617. #define TB_GETCOLORSCHEME    CCM_GETCOLORSCHEME
  618. #define TB_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
  619. #define TB_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT
  620. #endif
  621. #define TBBF_LARGE 1
  622. #define TBN_GETBUTTONINFOA    (TBN_FIRST-0)
  623. #define TBN_BEGINDRAG    (TBN_FIRST-1)
  624. #define TBN_ENDDRAG    (TBN_FIRST-2)
  625. #define TBN_BEGINADJUST    (TBN_FIRST-3)
  626. #define TBN_ENDADJUST    (TBN_FIRST-4)
  627. #define TBN_RESET    (TBN_FIRST-5)
  628. #define TBN_QUERYINSERT    (TBN_FIRST-6)
  629. #define TBN_QUERYDELETE    (TBN_FIRST-7)
  630. #define TBN_TOOLBARCHANGE    (TBN_FIRST-8)
  631. #define TBN_CUSTHELP    (TBN_FIRST-9)
  632. #if (_WIN32_IE >= 0x0300)
  633. #define TBN_DROPDOWN    (TBN_FIRST-10)
  634. #endif
  635. #if (_WIN32_IE >= 0x0400)
  636. #define TBN_HOTITEMCHANGE    (TBN_FIRST-13)
  637. #define TBN_DRAGOUT    (TBN_FIRST-14)
  638. #define TBN_DELETINGBUTTON    (TBN_FIRST-15)
  639. #define TBN_GETDISPINFOA    (TBN_FIRST-16)
  640. #define TBN_GETDISPINFOW    (TBN_FIRST-17)
  641. #define TBN_GETINFOTIPA    (TBN_FIRST-18)
  642. #define TBN_GETINFOTIPW    (TBN_FIRST-19)
  643. #define TBN_GETBUTTONINFOW    (TBN_FIRST-20)
  644. #endif
  645. #if (_WIN32_IE >= 0x0500)
  646. #define TBN_RESTORE    (TBN_FIRST-21)
  647. #define TBN_SAVE    (TBN_FIRST-22)
  648. #define TBN_INITCUSTOMIZE    (TBN_FIRST-23)
  649. #define TBNRF_HIDEHELP    1
  650. #define TBNRF_ENDCUSTOMIZE    2
  651. #define TBNF_IMAGE    1
  652. #define TBNF_TEXT    2
  653. #define TBNF_DI_SETITEM    0x10000000
  654. #endif /* _WIN32_IE >= 0x0500 */
  655. #define TTS_ALWAYSTIP    1
  656. #define TTS_NOPREFIX    2
  657. #if( _WIN32_IE >= 0x0500 )
  658. #define TTS_NOANIMATE    0x10
  659. #define TTS_NOFADE    0x20
  660. #define TTS_BALLOON    0x40
  661. #define TTS_CLOSE    0x80
  662. #endif /* _WIN32_IE >= 0x0500 */
  663. #define TTF_IDISHWND    1
  664. #define TTF_CENTERTIP    2
  665. #define TTF_RTLREADING    4
  666. #define TTF_SUBCLASS    16
  667. #if (_WIN32_IE >= 0x0300)
  668. #define TTF_TRACK 0x0020
  669. #define TTF_ABSOLUTE 0x0080
  670. #define TTF_TRANSPARENT 0x0100
  671. #if (_WIN32_IE >= 0x0501)
  672. #define TTF_PARSELINKS 0x1000
  673. #endif
  674. #define TTF_DI_SETITEM 0x8000
  675. #define TBCD_TICS 1
  676. #define TBCD_THUMB 2
  677. #define TBCD_CHANNEL 3
  678. #endif /* _WIN32_IE >= 0x0300 */
  679. #if (_WIN32_IE >= 0x0400)
  680. #define TBDDRET_DEFAULT 0
  681. #define TBDDRET_NODEFAULT 1
  682. #define TBDDRET_TREATPRESSED 2
  683. #define TBIMHT_AFTER 1
  684. #define TBIMHT_BACKGROUND 2
  685. #endif
  686. #define TTDT_AUTOMATIC    0
  687. #define TTDT_RESHOW    1
  688. #define TTDT_AUTOPOP    2
  689. #define TTDT_INITIAL    3
  690. #define TTM_ACTIVATE    (WM_USER+1)
  691. #define TTM_SETDELAYTIME    (WM_USER+3)
  692. #define TTM_ADDTOOLA    (WM_USER+4)
  693. #define TTM_ADDTOOLW    (WM_USER+50)
  694. #define TTM_DELTOOLA    (WM_USER+5)
  695. #define TTM_DELTOOLW    (WM_USER+51)
  696. #define TTM_NEWTOOLRECTA    (WM_USER+6)
  697. #define TTM_NEWTOOLRECTW    (WM_USER+52)
  698. #define TTM_RELAYEVENT    (WM_USER+7)
  699. #define TTM_GETTOOLINFOA    (WM_USER+8)
  700. #define TTM_GETTOOLINFOW    (WM_USER+53)
  701. #define TTM_SETTOOLINFOA    (WM_USER+9)
  702. #define TTM_SETTOOLINFOW    (WM_USER+54)
  703. #define TTM_HITTESTA    (WM_USER+10)
  704. #define TTM_HITTESTW    (WM_USER+55)
  705. #define TTM_GETTEXTA    (WM_USER+11)
  706. #define TTM_GETTEXTW    (WM_USER+56)
  707. #define TTM_UPDATETIPTEXTA    (WM_USER+12)
  708. #define TTM_UPDATETIPTEXTW    (WM_USER+57)
  709. #define TTM_GETTOOLCOUNT    (WM_USER+13)
  710. #define TTM_ENUMTOOLSA    (WM_USER+14)
  711. #define TTM_ENUMTOOLSW    (WM_USER+58)
  712. #define TTM_GETCURRENTTOOLA    (WM_USER+15)
  713. #define TTM_GETCURRENTTOOLW    (WM_USER+59)
  714. #define TTM_WINDOWFROMPOINT    (WM_USER+16)
  715. #if (_WIN32_IE >= 0x0300)
  716. #define TTM_TRACKACTIVATE      (WM_USER+17)  
  717. #define TTM_TRACKPOSITION      (WM_USER+18)  
  718. #define TTM_SETTIPBKCOLOR      (WM_USER+19)
  719. #define TTM_SETTIPTEXTCOLOR    (WM_USER+20)
  720. #define TTM_GETDELAYTIME       (WM_USER+21)
  721. #define TTM_GETTIPBKCOLOR      (WM_USER+22)
  722. #define TTM_GETTIPTEXTCOLOR    (WM_USER+23)
  723. #define TTM_SETMAXTIPWIDTH     (WM_USER+24)
  724. #define TTM_GETMAXTIPWIDTH     (WM_USER+25)
  725. #define TTM_SETMARGIN         (WM_USER+26)  
  726. #define TTM_GETMARGIN         (WM_USER+27)  
  727. #define TTM_POP              (WM_USER+28)
  728. #endif /* _WIN32_IE */
  729. #if (_WIN32_IE >= 0x0400)            /* IE4.0 ??? */
  730. #define TTM_UPDATE            (WM_USER+29)
  731. #define TTM_GETBUBBLESIZE    (WM_USER+30)
  732. #define TTM_ADJUSTRECT    (WM_USER+31)
  733. #define TTM_SETTITLEA    (WM_USER+32)
  734. #define TTM_SETTITLEW    (WM_USER+33)
  735. #endif
  736. #define TTN_GETDISPINFOA    (TTN_FIRST - 0)
  737. #define TTN_GETDISPINFOW    (TTN_FIRST - 10)
  738. #define TTN_NEEDTEXTA    TTN_GETDISPINFOA
  739. #define TTN_NEEDTEXTW    TTN_GETDISPINFOW
  740. #define TTN_SHOW    (TTN_FIRST-1)
  741. #define TTN_POP    (TTN_FIRST-2)
  742. #define UD_MAXVAL    0x7fff
  743. #define UD_MINVAL    (-UD_MAXVAL)
  744. #define UDN_DELTAPOS (UDN_FIRST-1)
  745. #define UDS_WRAP    1
  746. #define UDS_SETBUDDYINT    2
  747. #define UDS_ALIGNRIGHT    4
  748. #define UDS_ALIGNLEFT    8
  749. #define UDS_AUTOBUDDY    16
  750. #define UDS_ARROWKEYS    32
  751. #define UDS_HORZ    64
  752. #define UDS_NOTHOUSANDS    128
  753. #if ( _WIN32_IE >= 0x0300 )
  754. #define UDS_HOTTRACK    0x0100
  755. #endif /* _WIN32_IE >= 0x0300 */
  756. #define UDM_SETRANGE    (WM_USER+101)
  757. #define UDM_GETRANGE    (WM_USER+102)
  758. #define UDM_SETPOS    (WM_USER+103)
  759. #define UDM_GETPOS    (WM_USER+104)
  760. #define UDM_SETBUDDY    (WM_USER+105)
  761. #define UDM_GETBUDDY    (WM_USER+106)
  762. #define UDM_SETACCEL    (WM_USER+107)
  763. #define UDM_GETACCEL    (WM_USER+108)
  764. #define UDM_SETBASE    (WM_USER+109)
  765. #define UDM_GETBASE    (WM_USER+110)
  766. #if (_WIN32_IE >= 0x0400)
  767. #define UDM_SETRANGE32    (WM_USER+111)
  768. #define UDM_GETRANGE32    (WM_USER+112)
  769. #define UDM_SETPOS32    (WM_USER+113)
  770. #define UDM_GETPOS32    (WM_USER+114)
  771. #endif
  772. #if (_WIN32_IE >= 0x0500)
  773. #define UDM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
  774. #define UDM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT
  775. #endif
  776. #define SB_SETTEXTA    (WM_USER+1)
  777. #define SB_SETTEXTW    (WM_USER+11)
  778. #define SB_GETTEXTA    (WM_USER+2)
  779. #define SB_GETTEXTW    (WM_USER+13)
  780. #define SB_GETTEXTLENGTHA    (WM_USER+3)
  781. #define SB_GETTEXTLENGTHW    (WM_USER+12)
  782. #define SB_SETPARTS    (WM_USER+4)
  783. #define SB_GETPARTS    (WM_USER+6)
  784. #define SB_GETBORDERS    (WM_USER+7)
  785. #define SB_SETMINHEIGHT    (WM_USER+8)
  786. #define SB_SIMPLE    (WM_USER+9)
  787. #define SB_GETRECT    (WM_USER+10)
  788. #define SBT_OWNERDRAW    0x1000
  789. #define SBT_NOBORDERS    256
  790. #define SBT_POPOUT    512
  791. #define SBT_RTLREADING    1024
  792. #if( _WIN32_IE >= 0x0400 )
  793. #define SBT_TOOLTIPS    0x0800
  794. #define SBN_SIMPLEMODECHANGE    (SBN_FIRST)
  795. #endif /* _WIN32_IE >= 0x0400 */
  796. #define TBS_AUTOTICKS    1
  797. #define TBS_VERT    2
  798. #define TBS_HORZ    0
  799. #define TBS_TOP    4
  800. #define TBS_BOTTOM    0
  801. #define TBS_LEFT    4
  802. #define TBS_RIGHT    0
  803. #define TBS_BOTH    8
  804. #define TBS_NOTICKS    16
  805. #define TBS_ENABLESELRANGE    32
  806. #define TBS_FIXEDLENGTH    64
  807. #define TBS_NOTHUMB    128
  808. #if (_WIN32_IE >= 0x0300)
  809. #define TBS_TOOLTIPS 0x0100
  810. #define TBTS_TOP 0
  811. #define TBTS_LEFT 1
  812. #define TBTS_BOTTOM 2
  813. #define TBTS_RIGHT 3
  814. #endif
  815. #if (_WIN32_IE >= 0x0500)
  816. #define TBS_REVERSED 0x0200
  817. #endif
  818. #if (_WIN32_IE >= 0x0501)
  819. #define TBS_DOWNISLEFT 0x0400
  820. #endif
  821. #if _WIN32_IE >= 0x400
  822. #define TBIF_BYINDEX 0x80000000
  823. #define TBIF_COMMAND 32
  824. #define TBIF_IMAGE 1
  825. #define TBIF_LPARAM 16
  826. #define TBIF_SIZE 64
  827. #define TBIF_STATE 4
  828. #define TBIF_STYLE 8
  829. #define TBIF_TEXT 2
  830. #endif
  831. #define TBM_GETPOS    (WM_USER)
  832. #define TBM_GETRANGEMIN    (WM_USER+1)
  833. #define TBM_GETRANGEMAX    (WM_USER+2)
  834. #define TBM_GETTIC    (WM_USER+3)
  835. #define TBM_SETTIC    (WM_USER+4)
  836. #define TBM_SETPOS    (WM_USER+5)
  837. #define TBM_SETRANGE    (WM_USER+6)
  838. #define TBM_SETRANGEMIN    (WM_USER+7)
  839. #define TBM_SETRANGEMAX    (WM_USER+8)
  840. #define TBM_CLEARTICS    (WM_USER+9)
  841. #define TBM_SETSEL    (WM_USER+10)
  842. #define TBM_SETSELSTART    (WM_USER+11)
  843. #define TBM_SETSELEND    (WM_USER+12)
  844. #define TBM_GETPTICS    (WM_USER+14)
  845. #define TBM_GETTICPOS    (WM_USER+15)
  846. #define TBM_GETNUMTICS    (WM_USER+16)
  847. #define TBM_GETSELSTART    (WM_USER+17)
  848. #define TBM_GETSELEND    (WM_USER+18)
  849. #define TBM_CLEARSEL    (WM_USER+19)
  850. #define TBM_SETTICFREQ    (WM_USER+20)
  851. #define TBM_SETPAGESIZE    (WM_USER+21)
  852. #define TBM_GETPAGESIZE    (WM_USER+22)
  853. #define TBM_SETLINESIZE    (WM_USER+23)
  854. #define TBM_GETLINESIZE    (WM_USER+24)
  855. #define TBM_GETTHUMBRECT    (WM_USER+25)
  856. #define TBM_GETCHANNELRECT    (WM_USER+26)
  857. #define TBM_SETTHUMBLENGTH    (WM_USER+27)
  858. #define TBM_GETTHUMBLENGTH    (WM_USER+28)
  859. #define TBM_SETTOOLTIPS    (WM_USER+29)
  860. #define TBM_GETTOOLTIPS    (WM_USER+30)
  861. #define TBM_SETTIPSIDE    (WM_USER+31)
  862. #define TBM_SETBUDDY    (WM_USER+32)
  863. #define TBM_GETBUDDY    (WM_USER+33)
  864. #define TBM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT 
  865. #define TBM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
  866. #define TB_LINEUP    0
  867. #define TB_LINEDOWN    1
  868. #define TB_PAGEUP    2
  869. #define TB_PAGEDOWN    3
  870. #define TB_THUMBPOSITION    4
  871. #define TB_THUMBTRACK    5
  872. #define TB_TOP    6
  873. #define TB_BOTTOM    7
  874. #define TB_ENDTRACK    8
  875. #define HOTKEYF_SHIFT    1
  876. #define HOTKEYF_CONTROL    2
  877. #define HOTKEYF_ALT    4
  878. #define HOTKEYF_EXT    8
  879. #define HKCOMB_NONE    1
  880. #define HKCOMB_S    2
  881. #define HKCOMB_C    4
  882. #define HKCOMB_A    8
  883. #define HKCOMB_SC    16
  884. #define HKCOMB_SA    32
  885. #define HKCOMB_CA    64
  886. #define HKCOMB_SCA    128
  887. #define HKM_SETHOTKEY    (WM_USER+1)
  888. #define HKM_GETHOTKEY    (WM_USER+2)
  889. #define HKM_SETRULES    (WM_USER+3)
  890. #define PBM_SETRANGE    (WM_USER+1)
  891. #define PBM_SETPOS    (WM_USER+2)
  892. #define PBM_DELTAPOS    (WM_USER+3)
  893. #define PBM_SETSTEP    (WM_USER+4)
  894. #define PBM_STEPIT    (WM_USER+5)
  895. #define PBM_SETRANGE32    1030
  896. #define PBM_GETRANGE    1031
  897. #define PBM_GETPOS    1032
  898. #define PBM_SETBARCOLOR    1033
  899. #define PBM_SETBKCOLOR    CCM_SETBKCOLOR
  900. #define PBS_SMOOTH    1
  901. #define PBS_VERTICAL    4
  902. #define LVS_ICON    0
  903. #define LVS_REPORT    1
  904. #define LVS_SMALLICON    2
  905. #define LVS_LIST    3
  906. #define LVS_TYPEMASK    3
  907. #define LVS_SINGLESEL    4
  908. #define LVS_SHOWSELALWAYS    8
  909. #define LVS_SORTASCENDING    16
  910. #define LVS_SORTDESCENDING    32
  911. #define LVS_SHAREIMAGELISTS    64
  912. #define LVS_NOLABELWRAP    128
  913. #define LVS_AUTOARRANGE    256
  914. #define LVS_EDITLABELS    512
  915. #define LVS_NOSCROLL    0x2000
  916. #define LVS_TYPESTYLEMASK    0xfc00
  917. #define LVS_ALIGNTOP    0
  918. #define LVS_ALIGNLEFT    0x800
  919. #define LVS_ALIGNMASK    0xc00
  920. #define LVS_OWNERDRAWFIXED    0x400
  921. #define LVS_NOCOLUMNHEADER    0x4000
  922. #define LVS_NOSORTHEADER    0x8000
  923. #if (_WIN32_IE >= 0x0300)
  924. #define CDIS_CHECKED 8
  925. #define CDIS_DEFAULT 32
  926. #define CDIS_DISABLED 4
  927. #define CDIS_FOCUS 16
  928. #define CDIS_GRAYED 2
  929. #define CDIS_HOT 64
  930. #define CDIS_SELECTED 1
  931. #define CDIS_MARKED 128
  932. #define CDIS_INDETERMINATE 256
  933. #if (_WIN32_WINNT >= 0x0501)
  934. #define CDIS_SHOWKEYBOARDCUES 512
  935. #endif
  936. #define CDDS_POSTERASE 4
  937. #define CDDS_POSTPAINT 2
  938. #define CDDS_PREERASE 3
  939. #define CDDS_PREPAINT 1
  940. #define CDDS_ITEM 65536
  941. #define CDDS_ITEMPOSTERASE 65540
  942. #define CDDS_ITEMPOSTPAINT 65538
  943. #define CDDS_ITEMPREERASE 65539
  944. #define CDDS_ITEMPREPAINT 65537
  945. #if (_WIN32_IE >= 0x0400)
  946. #define CDDS_SUBITEM 0x20000
  947. #endif
  948. #define CDRF_DODEFAULT 0x00
  949. #define CDRF_NOTIFYITEMDRAW 0x20
  950. #define CDRF_NOTIFYSUBITEMDRAW 0x20
  951. #define CDRF_NOTIFYITEMERASE 0x80
  952. #define CDRF_NOTIFYPOSTERASE 0x40
  953. #define CDRF_NOTIFYPOSTPAINT 0x10
  954. #define CDRF_NEWFONT 0x02
  955. #define CDRF_SKIPDEFAULT 0x04
  956. #if (_WIN32_IE >= 0x0400)
  957. #define LVBKIF_SOURCE_NONE      0x00000000
  958. #define LVBKIF_SOURCE_HBITMAP   0x00000001
  959. #define LVBKIF_SOURCE_URL       0x00000002
  960. #define LVBKIF_SOURCE_MASK      0x00000003
  961. #define LVBKIF_STYLE_NORMAL     0x00000000
  962. #define LVBKIF_STYLE_TILE       0x00000010
  963. #define LVBKIF_STYLE_MASK       0x00000010
  964. #endif /* _WIN32_IE >=0x0400 */
  965. #if (_WIN32_WINNT >= 0x501)
  966. #define LVBKIF_FLAG_TILEOFFSET  0x00000100
  967. #define LVBKIF_TYPE_WATERMARK   0x10000000
  968. #endif /* _WIN32_WINNT >= 0x501 */
  969. #define LVS_OWNERDATA 4096
  970. #define LVS_EX_CHECKBOXES 4
  971. #define LVS_EX_FULLROWSELECT 32
  972. #define LVS_EX_GRIDLINES 1
  973. #define LVS_EX_HEADERDRAGDROP 16
  974. #define LVS_EX_ONECLICKACTIVATE 64
  975. #define LVS_EX_SUBITEMIMAGES 2
  976. #define LVS_EX_TRACKSELECT 8
  977. #define LVS_EX_TWOCLICKACTIVATE 128
  978. #define LVSICF_NOINVALIDATEALL    0x00000001
  979. #define LVSICF_NOSCROLL    0x00000002
  980. #if( _WIN32_IE >= 0x0400 )
  981. #define LVS_EX_FLATSB    0x00000100
  982. #define LVS_EX_REGIONAL    0x00000200
  983. #define LVS_EX_INFOTIP    0x00000400
  984. #define LVS_EX_UNDERLINEHOT    0x00000800
  985. #define LVS_EX_UNDERLINECOLD    0x00001000
  986. #define LVS_EX_MULTIWORKAREAS    0x00002000
  987. #endif /* _WIN32_IE >=0x0400 */
  988. #if( _WIN32_IE >= 0x0500 )
  989. #define LVS_EX_LABELTIP    0x00004000
  990. #define LVS_EX_BORDERSELECT    0x00008000
  991. #endif  /* _WIN32_IE >= 0x0500 */
  992. #endif  /* _WIN32_IE >= 0x0300 */
  993. #define LVSIL_NORMAL    0
  994. #define LVSIL_SMALL    1
  995. #define LVSIL_STATE    2
  996. #define LVM_GETBKCOLOR    LVM_FIRST
  997. #define LVM_SETBKCOLOR    (LVM_FIRST+1)
  998. #define LVM_GETIMAGELIST    (LVM_FIRST+2)
  999. #define LVM_SETIMAGELIST    (LVM_FIRST+3)
  1000. #define LVM_GETITEMCOUNT    (LVM_FIRST+4)
  1001. #define LVIF_TEXT    1
  1002. #define LVIF_IMAGE    2
  1003. #define LVIF_PARAM    4
  1004. #define LVIF_STATE    8
  1005. #if (_WIN32_IE >= 0x0300)
  1006. #define LVIF_INDENT 16
  1007. #define LVIF_NORECOMPUTE 2048
  1008. #endif
  1009. #if (_WIN32_WINNT >= 0x0501)
  1010. #define LVIF_GROUPID 128
  1011. #define LVIF_COLUMNS 256
  1012. #endif
  1013. #define LVIS_FOCUSED    1
  1014. #define LVIS_SELECTED    2
  1015. #define LVIS_CUT    4
  1016. #define LVIS_DROPHILITED    8
  1017. #define LVIS_OVERLAYMASK    0xF00
  1018. #define LVIS_STATEIMAGEMASK    0xF000
  1019. #define LPSTR_TEXTCALLBACKW    ((LPWSTR)-1)
  1020. #define LPSTR_TEXTCALLBACKA    ((LPSTR)-1)
  1021. #define I_IMAGECALLBACK    (-1)
  1022. #define LVM_GETITEMA    (LVM_FIRST+5)
  1023. #define LVM_GETITEMW    (LVM_FIRST+75)
  1024. #define LVM_SETITEMA    (LVM_FIRST+6)
  1025. #define LVM_SETITEMW    (LVM_FIRST+76)
  1026. #define LVM_INSERTITEMA    (LVM_FIRST+7)
  1027. #define LVM_INSERTITEMW    (LVM_FIRST+77)
  1028. #define LVM_DELETEITEM    (LVM_FIRST+8)
  1029. #define LVM_DELETEALLITEMS    (LVM_FIRST+9)
  1030. #define LVM_GETCALLBACKMASK    (LVM_FIRST+10)
  1031. #define LVM_SETCALLBACKMASK    (LVM_FIRST+11)
  1032. #if( _WIN32_IE >= 0x0400 )
  1033. #define LVM_SETBKIMAGEA    (LVM_FIRST + 68)
  1034. #define LVM_SETBKIMAGEW    (LVM_FIRST + 138)
  1035. #define LVM_GETBKIMAGEA    (LVM_FIRST + 69)
  1036. #define LVM_GETBKIMAGEW    (LVM_FIRST + 139)
  1037. #define LV_MAX_WORKAREAS    16
  1038. #define LVM_SETWORKAREAS    (LVM_FIRST+65)
  1039. #define LVM_GETWORKAREAS    (LVM_FIRST+70)
  1040. #define LVM_GETNUMBEROFWORKAREAS    (LVM_FIRST+73)
  1041. #define LVM_GETSELECTIONMARK    (LVM_FIRST+66)
  1042. #define LVM_SETSELECTIONMARK    (LVM_FIRST+67)
  1043. #define LVM_SETHOVERTIME    (LVM_FIRST+71)
  1044. #define LVM_GETHOVERTIME    (LVM_FIRST+72)
  1045. #define LVM_SETTOOLTIPS    (LVM_FIRST+74)
  1046. #define LVM_GETTOOLTIPS    (LVM_FIRST+78)
  1047. #define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
  1048. #define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
  1049. #endif /* _WIN32_IE >= 0x0400 */
  1050. #define LVNI_ALL    0
  1051. #define LVNI_FOCUSED    1
  1052. #define LVNI_SELECTED    2
  1053. #define LVNI_CUT    4
  1054. #define LVNI_DROPHILITED    8
  1055. #define LVNI_ABOVE    256
  1056. #define LVNI_BELOW    512
  1057. #define LVNI_TOLEFT    1024
  1058. #define LVNI_TORIGHT    2048
  1059. #define LVM_GETNEXTITEM    (LVM_FIRST+12)
  1060. #define LVFI_PARAM    1
  1061. #define LVFI_STRING    2
  1062. #define LVFI_PARTIAL    8
  1063. #define LVFI_WRAP    32
  1064. #define LVFI_NEARESTXY    64
  1065. #define LVIF_DI_SETITEM    0x1000
  1066. #define LVM_FINDITEMA    (LVM_FIRST+13)
  1067. #define LVM_FINDITEMW    (LVM_FIRST+83)
  1068. #define LVIR_BOUNDS    0
  1069. #define LVIR_ICON    1
  1070. #define LVIR_LABEL    2
  1071. #define LVIR_SELECTBOUNDS    3
  1072. #define LVM_GETITEMRECT    (LVM_FIRST+14)
  1073. #define LVM_SETITEMPOSITION    (LVM_FIRST+15)
  1074. #define LVM_GETITEMPOSITION    (LVM_FIRST+16)
  1075. #define LVM_GETSTRINGWIDTHA    (LVM_FIRST+17)
  1076. #define LVM_GETSTRINGWIDTHW    (LVM_FIRST+87)
  1077. #define LVHT_NOWHERE    1
  1078. #define LVHT_ONITEMICON    2
  1079. #define LVHT_ONITEMLABEL    4
  1080. #define LVHT_ONITEMSTATEICON    8
  1081. #define LVHT_ONITEM    (LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON)
  1082. #define LVHT_ABOVE    8
  1083. #define LVHT_BELOW    16
  1084. #define LVHT_TORIGHT    32
  1085. #define LVHT_TOLEFT    64
  1086. #define LVM_HITTEST    (LVM_FIRST+18)
  1087. #define LVM_ENSUREVISIBLE    (LVM_FIRST+19)
  1088. #define LVM_SCROLL    (LVM_FIRST+20)
  1089. #define LVM_REDRAWITEMS    (LVM_FIRST+21)
  1090. #define LVA_DEFAULT    0
  1091. #define LVA_ALIGNLEFT    1
  1092. #define LVA_ALIGNTOP    2
  1093. #define LVA_SNAPTOGRID    5
  1094. #define LVM_ARRANGE    (LVM_FIRST+22)
  1095. #define LVM_EDITLABELA    (LVM_FIRST+23)
  1096. #define LVM_EDITLABELW    (LVM_FIRST+118)
  1097. #define LVM_GETEDITCONTROL    (LVM_FIRST+24)
  1098. #define LVCF_FMT    1
  1099. #define LVCF_WIDTH    2
  1100. #define LVCF_TEXT    4
  1101. #define LVCF_SUBITEM    8
  1102. #if (_WIN32_IE >= 0x0300)
  1103. #define LVCF_IMAGE 16
  1104. #define LVCF_ORDER 32
  1105. #endif
  1106. #define LVCFMT_LEFT    0
  1107. #define LVCFMT_RIGHT    1
  1108. #define LVCFMT_CENTER    2
  1109. #define LVCFMT_JUSTIFYMASK    3
  1110. #if (_WIN32_IE >= 0x0300)
  1111. #define LVCFMT_BITMAP_ON_RIGHT 4096
  1112. #define LVCFMT_COL_HAS_IMAGES  32768
  1113. #define LVCFMT_IMAGE 2048 
  1114. #endif
  1115. #define LVM_GETCOLUMNA    (LVM_FIRST+25)
  1116. #define LVM_GETCOLUMNW    (LVM_FIRST+95)
  1117. #define LVM_SETCOLUMNA    (LVM_FIRST+26)
  1118. #define LVM_SETCOLUMNW    (LVM_FIRST+96)
  1119. #define LVM_INSERTCOLUMNA    (LVM_FIRST+27)
  1120. #define LVM_INSERTCOLUMNW    (LVM_FIRST+97)
  1121. #define LVM_DELETECOLUMN    (LVM_FIRST+28)
  1122. #define LVM_GETCOLUMNWIDTH    (LVM_FIRST+29)
  1123. #define LVSCW_AUTOSIZE    (-1)
  1124. #define LVSCW_AUTOSIZE_USEHEADER    (-2)
  1125. #define LVM_SETCOLUMNWIDTH    (LVM_FIRST+30)
  1126. #define LVM_CREATEDRAGIMAGE    (LVM_FIRST+33)
  1127. #define LVM_GETVIEWRECT    (LVM_FIRST+34)
  1128. #define LVM_GETTEXTCOLOR    (LVM_FIRST+35)
  1129. #define LVM_SETTEXTCOLOR    (LVM_FIRST+36)
  1130. #define LVM_GETTEXTBKCOLOR    (LVM_FIRST+37)
  1131. #define LVM_SETTEXTBKCOLOR    (LVM_FIRST+38)
  1132. #define LVM_GETTOPINDEX    (LVM_FIRST+39)
  1133. #define LVM_GETCOUNTPERPAGE    (LVM_FIRST+40)
  1134. #define LVM_GETORIGIN    (LVM_FIRST+41)
  1135. #define LVM_GETORIGIN    (LVM_FIRST+41)
  1136. #define LVM_UPDATE    (LVM_FIRST+42)
  1137. #define LVM_SETITEMSTATE    (LVM_FIRST+43)
  1138. #define LVM_GETITEMSTATE    (LVM_FIRST+44)
  1139. #define LVM_GETITEMTEXTA    (LVM_FIRST+45)
  1140. #define LVM_GETITEMTEXTW    (LVM_FIRST+115)
  1141. #define LVM_SETITEMTEXTA    (LVM_FIRST+46)
  1142. #define LVM_SETITEMTEXTW    (LVM_FIRST+116)
  1143. #define LVM_SETITEMCOUNT    (LVM_FIRST+47)
  1144. #define LVM_SORTITEMS    (LVM_FIRST+48)
  1145. #define LVM_SETITEMPOSITION32    (LVM_FIRST+49)
  1146. #define LVM_GETSELECTEDCOUNT    (LVM_FIRST+50)
  1147. #define LVM_GETITEMSPACING    (LVM_FIRST+51)
  1148. #define LVM_GETISEARCHSTRINGA    (LVM_FIRST+52)
  1149. #define LVM_GETISEARCHSTRINGW    (LVM_FIRST+117)
  1150. #if (_WIN32_IE >= 0x0300)
  1151. #define LVM_APPROXIMATEVIEWRECT (LVM_FIRST+64)
  1152. #define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+54)
  1153. #define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+55)
  1154. #define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58)
  1155. #define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59)
  1156. #define LVM_GETHEADER (LVM_FIRST+31)
  1157. #define LVM_GETHOTCURSOR (LVM_FIRST+63)
  1158. #define LVM_GETHOTITEM (LVM_FIRST+61)
  1159. #define LVM_GETSUBITEMRECT (LVM_FIRST+56)
  1160. #define LVM_SETHOTCURSOR (LVM_FIRST+62)
  1161. #define LVM_SETHOTITEM (LVM_FIRST+60)
  1162. #define LVM_SETICONSPACING (LVM_FIRST+53)
  1163. #define LVM_SUBITEMHITTEST (LVM_FIRST+57)
  1164. #endif
  1165. #define LVN_ITEMCHANGING    LVN_FIRST
  1166. #define LVN_ITEMCHANGED    (LVN_FIRST-1)
  1167. #define LVN_INSERTITEM    (LVN_FIRST-2)
  1168. #define LVN_DELETEITEM    (LVN_FIRST-3)
  1169. #define LVN_DELETEALLITEMS    (LVN_FIRST-4)
  1170. #define LVN_BEGINLABELEDITA    (LVN_FIRST-5)
  1171. #define LVN_BEGINLABELEDITW    (LVN_FIRST-75)
  1172. #define LVN_ENDLABELEDITA    (LVN_FIRST-6)
  1173. #define LVN_ENDLABELEDITW    (LVN_FIRST-76)
  1174. #define LVN_COLUMNCLICK    (LVN_FIRST-8)
  1175. #define LVN_BEGINDRAG    (LVN_FIRST-9)
  1176. #define LVN_BEGINRDRAG    (LVN_FIRST-11)
  1177. #define LVN_GETDISPINFOA    (LVN_FIRST-50)
  1178. #define LVN_GETDISPINFOW    (LVN_FIRST-77)
  1179. #define LVN_SETDISPINFOA    (LVN_FIRST-51)
  1180. #define LVN_SETDISPINFOW    (LVN_FIRST-78)
  1181. #define LVN_KEYDOWN    (LVN_FIRST-55)
  1182. #if (_WIN32_IE >= 0x0400)
  1183. #define LVN_GETINFOTIPA    (LVN_FIRST-57)
  1184. #define LVN_GETINFOTIPW    (LVN_FIRST-58)
  1185. #define LVKF_ALT    0x0001
  1186. #define LVKF_CONTROL    0x0002
  1187. #define LVKF_SHIFT    0x0004
  1188. #define LVGIT_UNFOLDED  1
  1189. #endif
  1190. #define TVS_HASBUTTONS    1
  1191. #define TVS_HASLINES    2
  1192. #define TVS_LINESATROOT    4
  1193. #define TVS_EDITLABELS    8
  1194. #define TVS_DISABLEDRAGDROP    16
  1195. #define TVS_SHOWSELALWAYS    32
  1196. #if (_WIN32_IE >= 0x0300)
  1197. #define TVS_CHECKBOXES 256
  1198. #define TVS_NOTOOLTIPS 128
  1199. #define TVS_RTLREADING 64
  1200. #define TVS_TRACKSELECT 512
  1201. #endif
  1202. #if (_WIN32_IE >= 0x0400)
  1203. #define TVS_FULLROWSELECT 4096
  1204. #define TVS_INFOTIP 2048
  1205. #define TVS_NONEVENHEIGHT 16384
  1206. #define TVS_NOSCROLL 8192
  1207. #define TVS_SINGLEEXPAND 1024
  1208. #endif
  1209. #if( _WIN32_IE >= 0x0500 )
  1210. #define TVS_NOHSCROLL    0x8000
  1211. #endif /* _WIN32_IE >= 0x0500 */
  1212. #define TVIF_TEXT    1
  1213. #define TVIF_IMAGE    2
  1214. #define TVIF_PARAM    4
  1215. #define TVIF_STATE    8
  1216. #define TVIF_HANDLE    16
  1217. #define TVIF_SELECTEDIMAGE    32
  1218. #define TVIF_CHILDREN    64
  1219. #if (_WIN32_IE >= 0x0400)
  1220. #define TVIF_INTEGRAL    0x0080
  1221. #endif /* _WIN32_IE >= 0x0400 */
  1222. #define TVIS_FOCUSED    1
  1223. #define TVIS_SELECTED    2
  1224. #define TVIS_CUT    4
  1225. #define TVIS_DROPHILITED    8
  1226. #define TVIS_BOLD    16
  1227. #define TVIS_EXPANDED    32
  1228. #define TVIS_EXPANDEDONCE    64
  1229. #define TVIS_OVERLAYMASK    0xF00
  1230. #define TVIS_STATEIMAGEMASK    0xF000
  1231. #define TVIS_USERMASK    0xF000
  1232. #define I_CHILDRENCALLBACK    (-1)
  1233. #define TVI_ROOT    ((HTREEITEM)0xFFFF0000)
  1234. #define TVI_FIRST    ((HTREEITEM)0xFFFF0001)
  1235. #define TVI_LAST    ((HTREEITEM)0xFFFF0002)
  1236. #define TVI_SORT    ((HTREEITEM)0xFFFF0003)
  1237. #define TVSIL_NORMAL    0
  1238. #define TVSIL_STATE    2
  1239. #define TVM_INSERTITEMA    TV_FIRST
  1240. #define TVM_INSERTITEMW    (TV_FIRST+50)
  1241. #define TVM_DELETEITEM    (TV_FIRST+1)
  1242. #define TVM_EXPAND    (TV_FIRST+2)
  1243. #define TVM_GETITEMRECT    (TV_FIRST+4)
  1244. #define TVM_GETCOUNT    (TV_FIRST+5)
  1245. #define TVM_GETINDENT    (TV_FIRST+6)
  1246. #define TVM_SETINDENT    (TV_FIRST+7)
  1247. #define TVM_GETIMAGELIST    (TV_FIRST+8)
  1248. #define TVM_SETIMAGELIST    (TV_FIRST+9)
  1249. #define TVM_GETNEXTITEM    (TV_FIRST+10)
  1250. #define TVM_SELECTITEM    (TV_FIRST+11)
  1251. #define TVM_GETITEMA    (TV_FIRST+12)
  1252. #define TVM_GETITEMW    (TV_FIRST+62)
  1253. #define TVM_SETITEMA    (TV_FIRST+13)
  1254. #define TVM_SETITEMW    (TV_FIRST+63)
  1255. #define TVM_EDITLABELA    (TV_FIRST+14)
  1256. #define TVM_EDITLABELW    (TV_FIRST+65)
  1257. #define TVM_GETEDITCONTROL    (TV_FIRST+15)
  1258. #define TVM_GETVISIBLECOUNT    (TV_FIRST+16)
  1259. #define TVM_HITTEST    (TV_FIRST+17)
  1260. #define TVM_CREATEDRAGIMAGE    (TV_FIRST+18)
  1261. #define TVM_SORTCHILDREN    (TV_FIRST+19)
  1262. #define TVM_ENSUREVISIBLE    (TV_FIRST+20)
  1263. #define TVM_SORTCHILDRENCB    (TV_FIRST+21)
  1264. #define TVM_ENDEDITLABELNOW    (TV_FIRST+22)
  1265. #define TVM_GETISEARCHSTRINGA    (TV_FIRST+23)
  1266. #define TVM_GETISEARCHSTRINGW    (TV_FIRST+64)
  1267. #if (_WIN32_IE >= 0x0300)
  1268. #define TVM_GETTOOLTIPS (TV_FIRST+25)
  1269. #define TVM_SETTOOLTIPS (TV_FIRST+24)
  1270. #endif
  1271. #if (_WIN32_IE >= 0x0400)
  1272. #define TVM_GETBKCOLOR (TV_FIRST+31)
  1273. #define TVM_GETINSERTMARKCOLOR (TV_FIRST+38)
  1274. #define TVM_GETITEMHEIGHT (TV_FIRST+28)
  1275. #define TVM_GETSCROLLTIME (TV_FIRST+34)
  1276. #define TVM_GETTEXTCOLOR (TV_FIRST+32)
  1277. #define TVM_SETBKCOLOR (TV_FIRST+29)
  1278. #define TVM_SETINSERTMARK (TV_FIRST+26)
  1279. #define TVM_SETINSERTMARKCOLOR (TV_FIRST+37)
  1280. #define TVM_SETITEMHEIGHT (TV_FIRST+27)
  1281. #define TVM_SETSCROLLTIME (TV_FIRST+33)
  1282. #define TVM_SETTEXTCOLOR (TV_FIRST+30)
  1283. #define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
  1284. #define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
  1285. #endif
  1286. #if (_WIN32_IE >= 0x0500)
  1287. #define TVM_GETITEMSTATE (TV_FIRST+39)
  1288. #define TVM_SETLINECOLOR (TV_FIRST+40)
  1289. #define TVM_GETLINECOLOR (TV_FIRST+41)
  1290. #endif
  1291. #define TVE_COLLAPSE    1
  1292. #define TVE_EXPAND    2
  1293. #define TVE_TOGGLE    3
  1294. #define TVE_COLLAPSERESET    0x8000
  1295. #if (_WIN32_IE >= 0x0300)
  1296. #define TVE_EXPANDPARTIAL    0x4000
  1297. #endif
  1298. #define TVC_UNKNOWN    0
  1299. #define TVC_BYMOUSE    1
  1300. #define TVC_BYKEYBOARD    2
  1301. #define TVGN_ROOT    0
  1302. #define TVGN_NEXT    1
  1303. #define TVGN_PREVIOUS    2
  1304. #define TVGN_PARENT    3
  1305. #define TVGN_CHILD    4
  1306. #define TVGN_FIRSTVISIBLE    5
  1307. #define TVGN_NEXTVISIBLE    6
  1308. #define TVGN_PREVIOUSVISIBLE    7
  1309. #define TVGN_DROPHILITE    8
  1310. #define TVGN_CARET    9
  1311. #if (_WIN32_IE >= 0x0400)
  1312. #define TVGN_LASTVISIBLE    10
  1313. #endif
  1314. #define TVN_SELCHANGINGA    (TVN_FIRST-1)
  1315. #define TVN_SELCHANGINGW    (TVN_FIRST-50)
  1316. #define TVN_SELCHANGEDA    (TVN_FIRST-2)
  1317. #define TVN_SELCHANGEDW    (TVN_FIRST-51)
  1318. #define TVN_GETDISPINFOA    (TVN_FIRST-3)
  1319. #define TVN_GETDISPINFOW    (TVN_FIRST-52)
  1320. #define TVN_SETDISPINFOA    (TVN_FIRST-4)
  1321. #define TVN_SETDISPINFOW    (TVN_FIRST-53)
  1322. #define TVN_ITEMEXPANDINGA    (TVN_FIRST-5)
  1323. #define TVN_ITEMEXPANDINGW    (TVN_FIRST-54)
  1324. #define TVN_ITEMEXPANDEDA    (TVN_FIRST-6)
  1325. #define TVN_ITEMEXPANDEDW    (TVN_FIRST-55)
  1326. #define TVN_BEGINDRAGA    (TVN_FIRST-7)
  1327. #define TVN_BEGINDRAGW    (TVN_FIRST-56)
  1328. #define TVN_BEGINRDRAGA    (TVN_FIRST-8)
  1329. #define TVN_BEGINRDRAGW    (TVN_FIRST-57)
  1330. #define TVN_DELETEITEMA    (TVN_FIRST-9)
  1331. #define TVN_DELETEITEMW    (TVN_FIRST-58)
  1332. #define TVN_BEGINLABELEDITA    (TVN_FIRST-10)
  1333. #define TVN_BEGINLABELEDITW    (TVN_FIRST-59)
  1334. #define TVN_ENDLABELEDITA    (TVN_FIRST-11)
  1335. #define TVN_ENDLABELEDITW    (TVN_FIRST-60)
  1336. #define TVN_KEYDOWN    (TVN_FIRST-12)
  1337. #if (_WIN32_IE >= 0x0400)
  1338. #define TVN_GETINFOTIPA    (TVN_FIRST-13)
  1339. #define TVN_GETINFOTIPW    (TVN_FIRST-14)
  1340. #define TVN_SINGLEEXPAND    (TVN_FIRST-15)
  1341. #define TVNRET_DEFAULT 0
  1342. #define TVNRET_SKIPOLD 1
  1343. #define TVNRET_SKIPNEW 2
  1344. #endif /* _WIN32_IE >= 0x0400 */
  1345. #define TVIF_DI_SETITEM    0x1000
  1346. #define TVHT_NOWHERE    1
  1347. #define TVHT_ONITEMICON    2
  1348. #define TVHT_ONITEMLABEL    4
  1349. #define TVHT_ONITEM    (TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON)
  1350. #define TVHT_ONITEMINDENT    8
  1351. #define TVHT_ONITEMBUTTON    16
  1352. #define TVHT_ONITEMRIGHT    32
  1353. #define TVHT_ONITEMSTATEICON    64
  1354. #define TVHT_ABOVE    256
  1355. #define TVHT_BELOW    512
  1356. #define TVHT_TORIGHT    1024
  1357. #define TVHT_TOLEFT    2048
  1358. #define TCHT_NOWHERE    1
  1359. #define TCHT_ONITEMICON    2
  1360. #define TCHT_ONITEMLABEL    4
  1361. #define TCHT_ONITEM    (TCHT_ONITEMICON|TCHT_ONITEMLABEL)
  1362. #define TCS_FORCEICONLEFT    16
  1363. #define TCS_FORCELABELLEFT    32
  1364. #define TCS_TABS    0
  1365. #define TCS_BUTTONS    256
  1366. #define TCS_SINGLELINE    0
  1367. #define TCS_MULTILINE    512
  1368. #define TCS_RIGHTJUSTIFY    0
  1369. #define TCS_FIXEDWIDTH    1024
  1370. #define TCS_RAGGEDRIGHT    2048
  1371. #define TCS_FOCUSONBUTTONDOWN    0x1000
  1372. #define TCS_OWNERDRAWFIXED    0x2000
  1373. #define TCS_TOOLTIPS    0x4000
  1374. #define TCS_FOCUSNEVER    0x8000
  1375. #if (_WIN32_IE >= 0x0300)
  1376. #define TCS_BOTTOM    2
  1377. #define TCS_RIGHT    2
  1378. #define TCS_VERTICAL    128
  1379. #define TCS_SCROLLOPPOSITE    0x0001
  1380. #define TCS_HOTTRACK    0x0040
  1381. #define TCS_MULTISELECT    0x0004
  1382. #endif
  1383. #if( _WIN32_IE >= 0x0400 )
  1384. #define TCS_FLATBUTTONS    0x0008
  1385. #define TCS_EX_FLATSEPARATORS    0x00000001
  1386. #define TCS_EX_REGISTERDROP    0x00000002
  1387. #endif /* _WIN32_IE >= 0x0400 */
  1388. #define TCIF_TEXT    1
  1389. #define TCIF_IMAGE    2
  1390. #define TCIF_RTLREADING    4
  1391. #define TCIF_PARAM    8
  1392. #if (_WIN32_IE >= 0x0400)
  1393. #define TCIF_STATE    16
  1394. #endif
  1395. #define TCIS_BUTTONPRESSED 1
  1396. #if (_WIN32_IE >= 0x0400)
  1397. #define TCIS_HIGHLIGHTED 2
  1398. #endif
  1399. #define TCM_FIRST    0x1300
  1400. #define TCM_GETIMAGELIST    (TCM_FIRST+2)
  1401. #define TCM_SETIMAGELIST    (TCM_FIRST+3)
  1402. #define TCM_GETITEMCOUNT    (TCM_FIRST+4)
  1403. #define TCM_GETITEMA    (TCM_FIRST+5)
  1404. #define TCM_GETITEMW    (TCM_FIRST+60)
  1405. #define TCM_SETITEMA    (TCM_FIRST+6)
  1406. #define TCM_SETITEMW    (TCM_FIRST+61)
  1407. #define TCM_INSERTITEMA    (TCM_FIRST+7)
  1408. #define TCM_INSERTITEMW    (TCM_FIRST+62)
  1409. #define TCM_DELETEITEM    (TCM_FIRST+8)
  1410. #define TCM_DELETEALLITEMS    (TCM_FIRST+9)
  1411. #define TCM_GETITEMRECT    (TCM_FIRST+10)
  1412. #define TCM_GETCURSEL    (TCM_FIRST+11)
  1413. #define TCM_SETCURSEL    (TCM_FIRST+12)
  1414. #define TCM_HITTEST    (TCM_FIRST+13)
  1415. #define TCM_SETITEMEXTRA    (TCM_FIRST+14)
  1416.  
  1417. #define TCM_ADJUSTRECT    (TCM_FIRST+40)
  1418. #define TCM_SETITEMSIZE    (TCM_FIRST+41)
  1419. #define TCM_REMOVEIMAGE    (TCM_FIRST+42)
  1420. #define TCM_SETPADDING    (TCM_FIRST+43)
  1421. #define TCM_GETROWCOUNT    (TCM_FIRST+44)
  1422. #define TCM_GETTOOLTIPS    (TCM_FIRST+45)
  1423. #define TCM_SETTOOLTIPS    (TCM_FIRST+46)
  1424. #define TCM_GETCURFOCUS    (TCM_FIRST+47)
  1425. #define TCM_SETCURFOCUS    (TCM_FIRST+48)
  1426. #define TCM_SETMINTABWIDTH    (TCM_FIRST + 49)
  1427. #define TCM_DESELECTALL    (TCM_FIRST + 50)
  1428. #if (_WIN32_IE >=0x0400)
  1429. #define TCM_HIGHLIGHTITEM    (TCM_FIRST + 51)
  1430. #define TCM_SETEXTENDEDSTYLE    (TCM_FIRST + 52)
  1431. #define TCM_GETEXTENDEDSTYLE    (TCM_FIRST + 53)
  1432. #define TCM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
  1433. #define TCM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT
  1434. #endif /* _WIN32_IE >=0x0400 */
  1435. #define TCN_KEYDOWN    TCN_FIRST
  1436. #define TCN_SELCHANGE    (TCN_FIRST-1)
  1437. #define TCN_SELCHANGING    (TCN_FIRST-2)
  1438. #define NM_OUTOFMEMORY (NM_FIRST-1)
  1439. #define NM_CLICK (NM_FIRST-2)
  1440. #define NM_DBLCLK (NM_FIRST-3)
  1441. #define NM_RETURN (NM_FIRST-4)
  1442. #define NM_RCLICK (NM_FIRST-5)
  1443. #define NM_RDBLCLK (NM_FIRST-6)
  1444. #define NM_SETFOCUS (NM_FIRST-7)
  1445. #define NM_KILLFOCUS (NM_FIRST-8)
  1446. #define NM_CUSTOMDRAW (NM_FIRST-12)
  1447. #define NM_HOVER (NM_FIRST-13)
  1448. #define NM_NCHITTEST (NM_FIRST-14)
  1449. #define NM_KEYDOWN (NM_FIRST-15)
  1450. #define NM_RELEASEDCAPTURE (NM_FIRST-16)
  1451. #define NM_SETCURSOR (NM_FIRST-17)
  1452. #define NM_CHAR (NM_FIRST-18)
  1453. #define NM_TOOLTIPSCREATED (NM_FIRST-19)
  1454. #define SBARS_SIZEGRIP 256
  1455. #define CCM_FIRST 0x2000
  1456. #define CCM_LAST (CCM_FIRST+0x200)
  1457. #define CCM_SETBKCOLOR 8193
  1458. #define CCM_SETCOLORSCHEME 8194
  1459. #define CCM_GETCOLORSCHEME 8195
  1460. #define CCM_GETDROPTARGET 8196
  1461. #define CCM_SETUNICODEFORMAT 8197
  1462. #define CCM_GETUNICODEFORMAT 8198
  1463. #define CCM_SETVERSION 0x2007
  1464. #define CCM_GETVERSION 0x2008
  1465. #define CCM_SETNOTIFYWINDOW 0x2009
  1466. #if (_WIN32_WINNT >= 0x0501)
  1467. #define CCM_SETWINDOWTHEME 0x200b
  1468. #define CCM_DPISCALE 0x200c
  1469. #endif 
  1470. #define ICC_LISTVIEW_CLASSES 1
  1471. #define ICC_TREEVIEW_CLASSES 2
  1472. #define ICC_BAR_CLASSES    4
  1473. #define ICC_TAB_CLASSES      8
  1474. #define ICC_UPDOWN_CLASS 16
  1475. #define ICC_PROGRESS_CLASS 32
  1476. #define ICC_HOTKEY_CLASS 64
  1477. #define ICC_ANIMATE_CLASS 128
  1478. #define ICC_WIN95_CLASSES 255
  1479. #define ICC_DATE_CLASSES 256
  1480. #define ICC_USEREX_CLASSES 512
  1481. #define ICC_COOL_CLASSES 1024
  1482. #if (_WIN32_IE >= 0x0400)
  1483. #define ICC_INTERNET_CLASSES 2048
  1484. #define ICC_PAGESCROLLER_CLASS 4096
  1485. #define ICC_NATIVEFNTCTL_CLASS 8192
  1486. #define INFOTIPSIZE 1024
  1487. #endif /* _WIN32_IE */
  1488. #if (_WIN32_WINNT >= 0x501)
  1489. #define ICC_STANDARD_CLASSES    0x00004000
  1490. #define ICC_LINK_CLASS        0x00008000
  1491. #endif
  1492. #define GDTR_MIN 1
  1493. #define GDTR_MAX 2
  1494. #define GMR_VISIBLE 0
  1495. #define GMR_DAYSTATE 1
  1496. #define GDT_ERROR -1
  1497. #define GDT_VALID 0
  1498. #define GDT_NONE 1
  1499. #define DTS_UPDOWN 1
  1500. #define DTS_SHOWNONE 2
  1501. #define DTS_SHORTDATEFORMAT 0
  1502. #define DTS_LONGDATEFORMAT 4
  1503. #define DTS_TIMEFORMAT 9
  1504. #define DTS_APPCANPARSE 16
  1505. #define DTS_RIGHTALIGN 32
  1506. #if ( _WIN32_IE >= 0x500 )
  1507. #define DTS_SHORTDATECENTURYFORMAT    0x000C
  1508. #endif /* _WIN32_IE >= 0x500 */
  1509. #define MCS_DAYSTATE 1
  1510. #define MCS_MULTISELECT 2
  1511. #define MCS_WEEKNUMBERS 4
  1512. #if (_WIN32_IE >= 0x0400)
  1513. #define MCS_NOTODAYCIRCLE    0x0008
  1514. #define MCS_NOTODAY    0x0010
  1515. #else /* _WIN32_IE >= 0x0400 */
  1516. #define MCS_NOTODAY    0x0008
  1517. #endif /* _WIN32_IE >= 0x0400 */
  1518. #define DTM_GETSYSTEMTIME 0x1001
  1519. #define DTM_SETSYSTEMTIME 0x1002
  1520. #define DTM_GETRANGE 0x1003
  1521. #define DTM_SETRANGE 0x1004
  1522. #define DTM_SETFORMATA 0x1005
  1523. #define DTM_SETFORMATW 0x1050
  1524. #define DTM_SETMCCOLOR 0x1006
  1525. #define DTM_GETMCCOLOR 0x1007
  1526. #define DTM_GETMONTHCAL 0x1008
  1527. #define DTM_SETMCFONT    0x1009
  1528. #define DTM_GETMCFONT    0x100a
  1529. #define DTN_USERSTRINGA  ((UINT)-758)
  1530. #define DTN_USERSTRINGW  ((UINT)-745)
  1531. #define DTN_WMKEYDOWNA  ((UINT)-757)
  1532. #define DTN_WMKEYDOWNW  ((UINT)-744)
  1533. #define DTN_FORMATA  ((UINT)-756) 
  1534. #define DTN_FORMATW  ((UINT)-743)
  1535. #define DTN_FORMATQUERYA  ((UINT)-755) 
  1536. #define DTN_FORMATQUERYW ((UINT)-742)
  1537. #define DTN_DROPDOWN    ((UINT)-754) 
  1538. #define DTN_CLOSEUP    ((UINT)-753) 
  1539. #define DTN_DATETIMECHANGE ((UINT)-759) 
  1540. #define MCM_GETCURSEL    0x1001
  1541. #define MCM_SETCURSEL    0x1002
  1542. #define MCM_GETMAXSELCOUNT 0x1003
  1543. #define MCM_SETMAXSELCOUNT 0x1004
  1544. #define MCM_GETSELRANGE    0x1005
  1545. #define MCM_SETSELRANGE    0x1006
  1546. #define MCM_GETMONTHRANGE 0x1007
  1547. #define MCM_SETDAYSTATE    0x1008
  1548. #define MCM_GETMINREQRECT 0x1009
  1549. #define MCM_SETCOLOR 0x100a
  1550. #define MCM_GETCOLOR 0x100b
  1551. #define MCM_SETTODAY 0x100c
  1552. #define MCM_GETTODAY 0x100d
  1553. #define MCM_HITTEST 0x100e
  1554. #define MCM_SETFIRSTDAYOFWEEK 0x100f
  1555. #define MCM_GETFIRSTDAYOFWEEK 0x1010
  1556. #define MCM_GETRANGE 0x1011
  1557. #define MCM_SETRANGE 0x1012
  1558. #define MCM_GETMONTHDELTA 0x1013
  1559. #define MCM_SETMONTHDELTA 0x1014
  1560. #define MCM_GETMAXTODAYWIDTH 0x1015
  1561. #define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
  1562. #define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
  1563. #define MCN_SELCHANGE      ((UINT)-749)
  1564. #define MCN_GETDAYSTATE    ((UINT)-747)
  1565. #define MCN_SELECT        ((UINT)-746)
  1566. #define ODT_HEADER 100
  1567. #define ODT_TAB 101
  1568. #define ODT_LISTVIEW 102
  1569. #define SB_SETBKCOLOR    0x2001
  1570. #if (_WIN32_IE >= 0x0300)
  1571. #define SB_ISSIMPLE 1038
  1572. #define MCSC_BACKGROUND 0
  1573. #define MCSC_TEXT 1
  1574. #define MCSC_TITLEBK 2
  1575. #define MCSC_TITLETEXT 3
  1576. #define MCSC_MONTHBK 4
  1577. #define MCSC_TRAILINGTEXT 5
  1578. #endif
  1579. #if (_WIN32_IE >= 0x0400)
  1580. #define MCHT_TITLE 0x10000
  1581. #define MCHT_CALENDAR 0x20000
  1582. #define MCHT_TODAYLINK 0x30000
  1583. #define MCHT_NEXT 0x1000000
  1584. #define MCHT_PREV 0x2000000
  1585. #define MCHT_NOWHERE 0x00
  1586. #define MCHT_TITLEBK (MCHT_TITLE)
  1587. #define MCHT_TITLEMONTH (MCHT_TITLE | 0x0001)
  1588. #define MCHT_TITLEYEAR (MCHT_TITLE | 0x0002)
  1589. #define MCHT_TITLEBTNNEXT (MCHT_TITLE | MCHT_NEXT | 0x0003)
  1590. #define MCHT_TITLEBTNPREV (MCHT_TITLE | MCHT_PREV | 0x0003)
  1591. #define MCHT_CALENDARBK (MCHT_CALENDAR)
  1592. #define MCHT_CALENDARDATE (MCHT_CALENDAR | 0x0001)
  1593. #define MCHT_CALENDARDATENEXT (MCHT_CALENDARDATE | MCHT_NEXT)
  1594. #define MCHT_CALENDARDATEPREV (MCHT_CALENDARDATE | MCHT_PREV)
  1595. #define MCHT_CALENDARDAY (MCHT_CALENDAR | 0x0002)
  1596. #define MCHT_CALENDARWEEKNUM (MCHT_CALENDAR | 0x0003)
  1597. #endif /* _WIN32_IE >= 0x0400 */
  1598. #define RBS_TOOLTIPS 256
  1599. #define RBS_VARHEIGHT 512
  1600. #define RBS_BANDBORDERS 1024
  1601. #define RBS_FIXEDORDER 2048
  1602. #define RBIM_IMAGELIST 1
  1603. #define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME
  1604. #define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME
  1605. #define RBBS_BREAK 1
  1606. #define RBBS_FIXEDSIZE 2
  1607. #define RBBS_CHILDEDGE 4
  1608. #define RBBS_HIDDEN 8
  1609. #define RBBS_NOVERT 16
  1610. #define RBBS_FIXEDBMP 32
  1611. #if (_WIN32_IE >= 0x0501)
  1612. #define RBBS_HIDETITLE 0x400
  1613. #define RBBS_TOPALIGN 0x800
  1614. #endif /* _WIN32_IE >= 0x0501 */
  1615. #define RBBIM_STYLE 1
  1616. #define RBBIM_COLORS 2
  1617. #define RBBIM_TEXT 4
  1618. #define RBBIM_IMAGE 8
  1619. #define RBBIM_CHILD 16
  1620. #define RBBIM_CHILDSIZE 32
  1621. #define RBBIM_SIZE 64
  1622. #define RBBIM_BACKGROUND 128
  1623. #define RBBIM_ID 256
  1624. #define RB_INSERTBANDA (WM_USER+1)
  1625. #define RB_INSERTBANDW (WM_USER+10)
  1626. #define RB_DELETEBAND (WM_USER+2)
  1627. #define RB_GETBARINFO (WM_USER+3)
  1628. #define RB_SETBARINFO (WM_USER+4)
  1629. #define RB_GETBANDCOUNT (WM_USER+12)
  1630. #define RB_GETROWCOUNT (WM_USER+13)
  1631. #define RB_GETROWHEIGHT (WM_USER+14)
  1632. #define RB_SETBANDINFOA (WM_USER+6)
  1633. #define RB_SETBANDINFOW (WM_USER+11)
  1634. #define RB_SETPARENT (WM_USER+7)
  1635. #define RBN_HEIGHTCHANGE RBN_FIRST
  1636. #if (_WIN32_IE >= 0x0300)
  1637. #define LVN_ODCACHEHINT (LVN_FIRST-13)
  1638. #define LVN_ODFINDITEMA (LVN_FIRST-52)
  1639. #define LVN_ODFINDITEMW (LVN_FIRST-79)
  1640. #define LVN_ITEMACTIVATE (LVN_FIRST-14)
  1641. #define LVN_ODSTATECHANGED (LVN_FIRST-15)
  1642. #ifdef UNICODE
  1643. #define LVN_ODFINDITEM LVN_ODFINDITEMW
  1644. #else
  1645. #define LVN_ODFINDITEM LVN_ODFINDITEMA
  1646. #endif
  1647. #endif /* _WIN32_IE */
  1648. #if (_WIN32_IE >= 0x0400)
  1649. #define SB_SETICON 1039
  1650. #define SB_SETTIPTEXTA    1040
  1651. #define SB_SETTIPTEXTW    1041
  1652. #define SB_GETTIPTEXTA    1042
  1653. #define SB_GETTIPTEXTW    1043
  1654. #define SB_GETICON    1044
  1655. #define SB_SETUNICODEFORMAT    0x2005
  1656. #define SB_GETUNICODEFORMAT    0x2006
  1657. #define PGF_INVISIBLE 0
  1658. #define PGF_NORMAL 1
  1659. #define PGF_GRAYED 2
  1660. #define PGF_DEPRESSED 4
  1661. #define PGF_HOT 8
  1662. #define PGB_TOPORLEFT 0
  1663. #define PGB_BOTTOMORRIGHT 1
  1664. #define PGF_SCROLLUP 1
  1665. #define PGF_SCROLLDOWN 2
  1666. #define PGF_SCROLLLEFT 4
  1667. #define PGF_SCROLLRIGHT 8
  1668. #define PGK_SHIFT 1
  1669. #define PGK_CONTROL 2
  1670. #define PGK_MENU 4
  1671. #define PGF_CALCWIDTH 1
  1672. #define PGF_CALCHEIGHT 2
  1673. #define PGM_FIRST 0x1400
  1674. #define PGM_SETCHILD (PGM_FIRST+1)
  1675. #define PGM_RECALCSIZE (PGM_FIRST+2)
  1676. #define PGM_FORWARDMOUSE (PGM_FIRST+3)
  1677. #define PGM_SETBKCOLOR (PGM_FIRST+4)
  1678. #define PGM_GETBKCOLOR (PGM_FIRST+5)
  1679. #define PGM_SETBORDER (PGM_FIRST+6)
  1680. #define PGM_GETBORDER (PGM_FIRST+7)
  1681. #define PGM_SETPOS (PGM_FIRST+8)
  1682. #define PGM_GETPOS (PGM_FIRST+9)
  1683. #define PGM_SETBUTTONSIZE (PGM_FIRST+10)
  1684. #define PGM_GETBUTTONSIZE (PGM_FIRST+11)
  1685. #define PGM_GETBUTTONSTATE (PGM_FIRST+12)
  1686. #define PGM_GETDROPTARGET CCM_GETDROPTARGET
  1687.  
  1688. #define RBS_REGISTERDROP 4096
  1689. #define RBS_AUTOSIZE 8192
  1690. #define RBS_VERTICALGRIPPER 16384
  1691. #define RBS_DBLCLKTOGGLE  32768
  1692. #define RBBS_VARIABLEHEIGHT 64
  1693. #define RBBS_GRIPPERALWAYS 128
  1694. #define RBBS_NOGRIPPER 256
  1695. #define RBBIM_IDEALSIZE 512
  1696. #define RBBIM_LPARAM 1024
  1697. #define RBBIM_HEADERSIZE 2048
  1698. #define RB_HITTEST (WM_USER+8)
  1699. #define RB_GETRECT (WM_USER+9)
  1700. #define RB_IDTOINDEX (WM_USER+16)
  1701. #define RB_GETTOOLTIPS (WM_USER+17)
  1702. #define RB_SETTOOLTIPS (WM_USER+18)
  1703. #define RB_SETBKCOLOR (WM_USER+19)
  1704. #define RB_GETBKCOLOR (WM_USER+20)
  1705. #define RB_SETTEXTCOLOR (WM_USER+21)
  1706. #define RB_GETTEXTCOLOR (WM_USER+22)
  1707. #define RB_SIZETORECT (WM_USER+23)
  1708. #define RB_BEGINDRAG (WM_USER+24)
  1709. #define RB_ENDDRAG (WM_USER+25)
  1710. #define RB_DRAGMOVE (WM_USER+26)
  1711. #define RB_GETBARHEIGHT (WM_USER+27)
  1712. #define RB_GETBANDINFOW (WM_USER+28)
  1713. #define RB_GETBANDINFOA (WM_USER+29)
  1714. #define RB_MINIMIZEBAND (WM_USER+30)
  1715. #define RB_MAXIMIZEBAND (WM_USER+31)
  1716. #define RB_GETDROPTARGET CCM_GETDROPTARGET
  1717. #define RB_GETBANDBORDERS (WM_USER+34)
  1718. #define RB_SHOWBAND (WM_USER+35)
  1719. #define RB_SETPALETTE (WM_USER+37)
  1720. #define RB_GETPALETTE (WM_USER+38)
  1721. #define RB_MOVEBAND (WM_USER+39)
  1722. #define RB_SETUNICODEFORMAT     CCM_SETUNICODEFORMAT
  1723. #define RB_GETUNICODEFORMAT     CCM_GETUNICODEFORMAT
  1724. #define RBN_GETOBJECT (RBN_FIRST-1)
  1725. #define RBN_LAYOUTCHANGED (RBN_FIRST-2)
  1726. #define RBN_AUTOSIZE (RBN_FIRST-3)
  1727. #define RBN_BEGINDRAG (RBN_FIRST-4)
  1728. #define RBN_ENDDRAG (RBN_FIRST-5)
  1729. #define RBN_DELETINGBAND (RBN_FIRST-6)
  1730. #define RBN_DELETEDBAND (RBN_FIRST-7)
  1731. #define RBN_CHILDSIZE (RBN_FIRST-8)
  1732. #define RBNM_ID 1
  1733. #define RBNM_STYLE 2
  1734. #define RBNM_LPARAM 4
  1735. #define RBHT_NOWHERE 1
  1736. #define RBHT_CAPTION 2
  1737. #define RBHT_CLIENT 3
  1738. #define RBHT_GRABBER 4
  1739. #ifdef UNICODE
  1740. #define SB_SETTIPTEXT    SB_SETTIPTEXTW
  1741. #define SB_GETTIPTEXT    SB_GETTIPTEXTW
  1742. #define RB_GETBANDINFO    RB_GETBANDINFOW
  1743. #else
  1744. #define SB_SETTIPTEXT    SB_SETTIPTEXTA
  1745. #define SB_GETTIPTEXT    SB_GETTIPTEXTA
  1746. #define RB_GETBANDINFO    RB_GETBANDINFOA
  1747. #endif
  1748. #else
  1749. #define RB_GETBANDINFO (WM_USER+5)
  1750. #endif /* _WIN32_IE >= 0x0400 */
  1751. #define CBEM_INSERTITEMA    (WM_USER + 1)
  1752. #define CBEM_SETIMAGELIST    (WM_USER + 2)
  1753. #define CBEM_GETIMAGELIST    (WM_USER + 3)
  1754. #define CBEM_GETITEMA    (WM_USER + 4)
  1755. #define CBEM_SETITEMA    (WM_USER + 5)
  1756. #define CBEM_DELETEITEM    CB_DELETESTRING
  1757. #define CBEM_GETCOMBOCONTROL    (WM_USER + 6)
  1758. #define CBEM_GETEDITCONTROL    (WM_USER + 7)
  1759. #define CBEM_SETEXSTYLE    (WM_USER + 8)
  1760. #define CBEM_GETEXSTYLE    (WM_USER + 9)
  1761. #if (_WIN32_IE >= 0x0400)
  1762. #define CBEM_SETEXTENDEDSTYLE    (WM_USER + 14)
  1763. #define CBEM_GETEXTENDEDSTYLE    (WM_USER + 9)
  1764. #define CBEM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
  1765. #define CBEM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT
  1766. #endif /* _WIN32_IE >= 0x0400 */
  1767. #define CBEM_HASEDITCHANGED    (WM_USER + 10)
  1768. #define CBEM_INSERTITEMW    (WM_USER + 11)
  1769. #define CBEM_SETITEMW    (WM_USER + 12)
  1770. #define CBEM_GETITEMW    (WM_USER + 13)
  1771. #define DA_LAST    0x7fffffff
  1772. #define DPA_APPEND    0x7fffffff
  1773. #define DPA_ERR    -1
  1774. #define DSA_APPEND    0x7fffffff
  1775. #define DSA_ERR    -1
  1776. #define DPAS_SORTED    1
  1777. #define DPAS_INSERTBEFORE    2
  1778. #define DPAS_INSERTAFTER    4
  1779. #if (_WIN32_IE >= 0x400)
  1780. #define WSB_PROP_CYVSCROLL    1
  1781. #define WSB_PROP_CXHSCROLL    2
  1782. #define WSB_PROP_CYHSCROLL    4
  1783. #define WSB_PROP_CXVSCROLL    8
  1784. #define WSB_PROP_CXHTHUMB    16
  1785. #define WSB_PROP_CYVTHUMB    32
  1786. #define WSB_PROP_VBKGCOLOR    64
  1787. #define WSB_PROP_HBKGCOLOR    128
  1788. #define WSB_PROP_VSTYLE    256
  1789. #define WSB_PROP_HSTYLE    512
  1790. #define WSB_PROP_WINSTYLE    1024
  1791. #define WSB_PROP_PALETTE    2048
  1792. #define WSB_PROP_MASK    0xfff
  1793. #define FSB_FLAT_MODE    2
  1794. #define FSB_ENCARTA_MODE    1
  1795. #define FSB_REGULAR_MODE    0
  1796. #endif /* _WIN32_IE >= 0x400 */
  1797.  
  1798. #ifndef RC_INVOKED
  1799. typedef struct tagCOMBOBOXEXITEMA{
  1800.     UINT mask;
  1801.     int iItem;
  1802.     LPSTR pszText;
  1803.     int cchTextMax;
  1804.     int iImage;
  1805.     int iSelectedImage;
  1806.     int iOverlay;
  1807.     int iIndent;
  1808.     LPARAM lParam;
  1809. } COMBOBOXEXITEMA, *PCOMBOBOXEXITEMA;
  1810. typedef COMBOBOXEXITEMA CONST *PCCOMBOEXITEMA;
  1811. typedef struct tagCOMBOBOXEXITEMW{
  1812.     UINT mask;
  1813.     int iItem;
  1814.     LPWSTR pszText;
  1815.     int cchTextMax;
  1816.     int iImage;
  1817.     int iSelectedImage;
  1818.     int iOverlay;
  1819.     int iIndent;
  1820.     LPARAM lParam;
  1821. } COMBOBOXEXITEMW, *PCOMBOBOXEXITEMW;
  1822. typedef COMBOBOXEXITEMW CONST *PCCOMBOEXITEMW;
  1823. #if (_WIN32_IE >= 0x0400)
  1824. typedef struct {
  1825.     NMHDR hdr;
  1826.     COMBOBOXEXITEMA ceItem;
  1827. } NMCOMBOBOXEXA, *PNMCOMBOBOXEXA;
  1828. typedef struct {
  1829.     NMHDR hdr;
  1830.     COMBOBOXEXITEMW ceItem;
  1831. } NMCOMBOBOXEXW, *PNMCOMBOBOXEXW;
  1832. typedef struct {
  1833.     NMHDR   hdr;
  1834.     int iItemid;
  1835.     WCHAR   szText[CBEMAXSTRLEN];
  1836. }NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW;
  1837. typedef struct {
  1838.     NMHDR   hdr;
  1839.     int iItemid;
  1840.     char    szText[CBEMAXSTRLEN];
  1841. }NMCBEDRAGBEGINA, *LPNMCBEDRAGBEGINA, *PNMCBEDRAGBEGINA;
  1842. typedef struct tagNMIPADDRESS{
  1843.     NMHDR hdr;
  1844.     int iField;
  1845.     int iValue;
  1846. } NMIPADDRESS, *LPNMIPADDRESS;
  1847. typedef struct tagLVKEYDOWN {
  1848.     NMHDR hdr;
  1849.     WORD wVKey;
  1850.     UINT flags;
  1851. } NMLVKEYDOWN, *LPNMLVKEYDOWN;
  1852. typedef struct {
  1853.     NMHDR hdr;
  1854.     DWORD dwFlag;
  1855.     int iWidth;
  1856.     int iHeight;
  1857. } NMPGCALCSIZE, *LPNMPGCALCSIZE;
  1858. typedef struct {
  1859.     NMHDR hdr;
  1860.     BOOL fwKeys;
  1861.     RECT rcParent;
  1862.     int iDir;
  1863.     int iXpos;
  1864.     int iYpos;
  1865.     int iScroll;
  1866. } NMPGSCROLL, *LPNMPGSCROLL;
  1867. typedef struct tagNMSELCHANGE {
  1868.     NMHDR nmhdr;
  1869.     SYSTEMTIME stSelStart;
  1870.     SYSTEMTIME stSelEnd;
  1871. } NMSELCHANGE, *LPNMSELCHANGE;
  1872. typedef struct tagNMTBHOTITEM {
  1873.     NMHDR hdr;
  1874.     int idOld;
  1875.     int idNew;
  1876.     DWORD dwFlags;
  1877. } NMTBHOTITEM, *LPNMTBHOTITEM;
  1878. typedef struct {
  1879.     NMHDR hdr;
  1880.     DWORD dwMask;
  1881.     int idCommand;
  1882.     DWORD_PTR lParam;
  1883.     int iImage;
  1884.     LPSTR pszText;
  1885.     int cchText;
  1886. } NMTBDISPINFOA, *LPNMTBDISPINFOA;
  1887. typedef struct {
  1888.     NMHDR hdr;
  1889.     DWORD dwMask;
  1890.     int idCommand;
  1891.     DWORD_PTR lParam;
  1892.     int iImage;
  1893.     LPWSTR pszText;
  1894.     int cchText;
  1895. } NMTBDISPINFOW, *LPNMTBDISPINFOW;
  1896. typedef struct tagNMTBGETINFOTIPA
  1897. {
  1898.     NMHDR hdr;
  1899.     LPSTR pszText;
  1900.     int cchTextMax;
  1901.     int iItem;
  1902.     LPARAM lParam;
  1903. } NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
  1904. typedef struct tagNMTBGETINFOTIPW
  1905. {
  1906.     NMHDR hdr;
  1907.     LPWSTR pszText;
  1908.     int cchTextMax;
  1909.     int iItem;
  1910.     LPARAM lParam;
  1911. } NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW;
  1912. typedef struct tagNMMOUSE {
  1913.     NMHDR hdr;
  1914.     DWORD_PTR dwItemSpec;
  1915.     DWORD_PTR dwItemData;
  1916.     POINT pt;
  1917.     LPARAM dwHitInfo;
  1918. } NMMOUSE, *LPNMMOUSE;
  1919. #endif /*_WIN32_IE >= 0x0400 */
  1920. #if (_WIN32_IE >= 0x0401)
  1921. typedef struct tagNMTOOLTIPSCREATED
  1922. {
  1923.     NMHDR hdr;
  1924.     HWND hwndToolTips;
  1925. } NMTOOLTIPSCREATED, *LPNMTOOLTIPSCREATED;
  1926. #endif
  1927. typedef struct tagNMDATETIMECHANGE
  1928. {
  1929.     NMHDR nmhdr;
  1930.     DWORD dwFlags;
  1931.     SYSTEMTIME st;
  1932. } NMDATETIMECHANGE, *LPNMDATETIMECHANGE;
  1933. typedef struct {
  1934.     NMHDR hdr;
  1935.     BOOL fChanged;
  1936.     int iNewSelection;
  1937.     WCHAR szText[CBEMAXSTRLEN];
  1938.     int iWhy;
  1939. } NMCBEENDEDITW, *LPNMCBEENDEDITW, *PNMCBEENDEDITW;
  1940. typedef struct {
  1941.     NMHDR hdr;
  1942.     BOOL fChanged;
  1943.     int iNewSelection;
  1944.     char szText[CBEMAXSTRLEN];
  1945.     int iWhy;
  1946. } NMCBEENDEDITA, *LPNMCBEENDEDITA,*PNMCBEENDEDITA;
  1947. typedef struct _COLORMAP {
  1948.     COLORREF from;
  1949.     COLORREF to;
  1950. } COLORMAP,*LPCOLORMAP;
  1951. typedef struct {
  1952.     UINT uNotification;
  1953.     HWND hWnd;
  1954.     POINT ptCursor;
  1955. } DRAGLISTINFO,*LPDRAGLISTINFO;
  1956. typedef struct _TBBUTTON {
  1957.     int iBitmap;
  1958.     int idCommand;
  1959.     BYTE fsState;
  1960.     BYTE fsStyle;
  1961.     BYTE bReserved[2];
  1962.     DWORD dwData;
  1963.     int iString;
  1964. } TBBUTTON,*PTBBUTTON,*LPTBBUTTON;
  1965. typedef const TBBUTTON *LPCTBBUTTON;
  1966. #if _WIN32_IE >= 0x400
  1967. typedef struct {
  1968.     UINT cbSize;
  1969.     DWORD dwMask;
  1970.     int idCommand;
  1971.     int iImage;
  1972.     BYTE fsState;
  1973.     BYTE fsStyle;
  1974.     WORD cx;
  1975.     DWORD lParam;
  1976.     LPSTR pszText;
  1977.     int cchText;
  1978. } TBBUTTONINFOA, *LPTBBUTTONINFOA;
  1979. typedef struct {
  1980.     UINT cbSize;
  1981.     DWORD dwMask;
  1982.     int idCommand;
  1983.     int iImage;
  1984.     BYTE fsState;
  1985.     BYTE fsStyle;
  1986.     WORD cx;
  1987.     DWORD lParam;
  1988.     LPWSTR pszText;
  1989.     int cchText;
  1990. } TBBUTTONINFOW, *LPTBBUTTONINFOW;
  1991. typedef struct {
  1992.     int iButton;
  1993.     DWORD dwFlags;
  1994. } TBINSERTMARK, *LPTBINSERTMARK;
  1995. typedef struct tagLVBKIMAGEA {
  1996.     ULONG ulFlags;              
  1997.     HBITMAP hbm;
  1998.     LPSTR pszImage;
  1999.     UINT cchImageMax;
  2000.     int xOffsetPercent;
  2001.     int yOffsetPercent;
  2002. } LVBKIMAGEA, *LPLVBKIMAGEA;
  2003. typedef struct tagLVBKIMAGEW {
  2004.     ULONG ulFlags;             
  2005.     HBITMAP hbm;
  2006.     LPWSTR pszImage;
  2007.     UINT cchImageMax;
  2008.     int xOffsetPercent;
  2009.     int yOffsetPercent;
  2010. } LVBKIMAGEW, *LPLVBKIMAGEW;
  2011. #endif /* _WIN32_IE >= 0x400 */
  2012. typedef struct {
  2013.     NMHDR hdr;
  2014.     int iItem;
  2015.     TBBUTTON tbButton;
  2016.     int cchText;
  2017.     LPTSTR pszText;
  2018. } TBNOTIFY,*LPTBNOTIFY;
  2019. typedef struct {
  2020.     HKEY hkr;
  2021.     LPCTSTR pszSubKey;
  2022.     LPCTSTR pszValueName;
  2023. } TBSAVEPARAMS;
  2024. typedef struct _IMAGEINFO {
  2025.     HBITMAP hbmImage;
  2026.     HBITMAP hbmMask;
  2027.     int Unused1;
  2028.     int Unused2;
  2029.     RECT rcImage;
  2030. } IMAGEINFO, *LPIMAGEINFO;
  2031. typedef struct _IMAGELIST *HIMAGELIST;
  2032. typedef struct _HDITEMA {
  2033.     UINT mask;
  2034.     int cxy;
  2035.     LPSTR pszText;
  2036.     HBITMAP hbm;
  2037.     int cchTextMax;
  2038.     int fmt;
  2039.     LPARAM lParam;
  2040. #if (_WIN32_IE >= 0x0300)
  2041.     int iImage;
  2042.     int iOrder;
  2043. #endif
  2044. #if (_WIN32_IE >= 0x0500)
  2045.     UINT type;
  2046.     LPVOID pvFilter;
  2047. #endif
  2048. } HDITEMA, * LPHDITEMA;
  2049. typedef struct _HDITEMW {
  2050.     UINT mask;
  2051.     int cxy;
  2052.     LPWSTR pszText;
  2053.     HBITMAP hbm;
  2054.     int cchTextMax;
  2055.     int fmt;
  2056.     LPARAM lParam;
  2057. #if (_WIN32_IE >= 0x0300)
  2058.     int iImage;
  2059.     int iOrder;
  2060. #endif
  2061. #if (_WIN32_IE >= 0x0500)
  2062.     UINT type;
  2063.     LPVOID pvFilter;
  2064. #endif
  2065. } HDITEMW, * LPHDITEMW;
  2066. /* for backward compatability */
  2067. #define HD_ITEMA HDITEMA
  2068. #define HD_ITEMW HDITEMW
  2069. #define HD_ITEM HDITEM
  2070. typedef struct _HD_LAYOUT {
  2071.     RECT *prc;
  2072.     WINDOWPOS *pwpos;
  2073. } HDLAYOUT, *LPHDLAYOUT;
  2074. #define HD_LAYOUT HDLAYOUT /*  backward compatability */
  2075. typedef struct _HD_HITTESTINFO {
  2076.     POINT pt;
  2077.     UINT flags;
  2078.     int iItem;
  2079. } HD_HITTESTINFO, *LPHDHITTESTINFO;
  2080. typedef struct _HD_NOTIFYA {
  2081.     NMHDR hdr;
  2082.     int iItem;
  2083.     int iButton;
  2084.     HD_ITEMA *pitem;
  2085. } HD_NOTIFYA;
  2086. typedef struct _HD_NOTIFYW {
  2087.     NMHDR hdr;
  2088.     int iItem;
  2089.     int iButton;
  2090.     HD_ITEMW *pitem;
  2091. } HD_NOTIFYW;
  2092. /* FIXME: NMHEADER structure (base for all events of the comctl controls)
  2093.    is the same as HD_NOTIFY depending on the value of _WIN32_IE macro.
  2094.    I'm defining both for now. */
  2095. typedef struct _NMHEADERA {
  2096.     NMHDR   hdr;
  2097.     int     iItem;
  2098.     int     iButton;
  2099.     HD_ITEMA* pitem;
  2100. }  NMHEADERA, *LPNMHEADERA;
  2101.  
  2102. typedef struct _NMHEADERW {
  2103.     NMHDR   hdr;
  2104.     int     iItem;
  2105.     int     iButton;
  2106.     HD_ITEMW* pitem;
  2107. }  NMHEADERW, *LPNMHEADERW;
  2108. #ifdef UNICODE
  2109. #define NMHEADER NMHEADERW
  2110. #define LPNMHEADER LPNMHEADERW
  2111. #else
  2112. #define NMHEADER NMHEADERA
  2113. #define LPNMHEADER LPNMHEADERA
  2114. #endif
  2115. /* End FIXME. */
  2116. typedef struct tagNMHDDISPINFOA {
  2117.     NMHDR   hdr;
  2118.     int     iItem;
  2119.     UINT    mask;
  2120.     LPSTR   pszText;
  2121.     int     cchTextMax;
  2122.     int     iImage;
  2123.     LPARAM  lParam;
  2124. } NMHDDISPINFOA, *LPNMHDDISPINFOA;
  2125. typedef struct tagNMHDDISPINFOW {
  2126.     NMHDR   hdr;
  2127.     int     iItem;
  2128.     UINT    mask;
  2129.     LPWSTR  pszText;
  2130.     int     cchTextMax;
  2131.     int     iImage;
  2132.     LPARAM  lParam;
  2133. } NMHDDISPINFOW, *LPNMHDDISPINFOW;
  2134. typedef struct tagNMCUSTOMDRAWINFO {
  2135.     NMHDR    hdr;
  2136.     DWORD    dwDrawStage;
  2137.     HDC      hdc;
  2138.     RECT     rc;
  2139.     DWORD    dwItemSpec;
  2140.     UINT     uItemState;
  2141.     LPARAM   lItemlParam;
  2142. } NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
  2143. typedef struct tagNMLVCUSTOMDRAW {
  2144.     NMCUSTOMDRAW nmcd;
  2145.     COLORREF     clrText;
  2146.     COLORREF     clrTextBk;
  2147. #if _WIN32_IE >= 0x0400
  2148.     int          iSubItem;
  2149. #endif
  2150. } NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW;
  2151. #if (_WIN32_IE >= 0x0400)
  2152. typedef struct tagNMLVGETINFOTIPA
  2153. {
  2154.     NMHDR hdr;
  2155.     DWORD dwFlags;
  2156.     LPSTR pszText;
  2157.     int cchTextMax;
  2158.     int iItem;
  2159.     int iSubItem;
  2160.     LPARAM lParam;
  2161. } NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA;
  2162. typedef struct tagNMLVGETINFOTIPW
  2163. {
  2164.     NMHDR hdr;
  2165.     DWORD dwFlags;
  2166.     LPWSTR pszText;
  2167.     int cchTextMax;
  2168.     int iItem;
  2169.     int iSubItem;
  2170.     LPARAM lParam;
  2171. } NMLVGETINFOTIPW, *LPNMLVGETINFOTIPW;
  2172. #endif /* _WIN32_IE >= 0x0400 */
  2173. typedef struct tagNMTVCUSTOMDRAW {
  2174.     NMCUSTOMDRAW nmcd;
  2175.     COLORREF     clrText;
  2176.     COLORREF     clrTextBk;
  2177. #if _WIN32_IE >= 0x0400
  2178.     int          iLevel;
  2179. #endif
  2180. } NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW;
  2181. #if (_WIN32_IE >= 0x400)
  2182. typedef struct _NMTBCUSTOMDRAW {
  2183.     NMCUSTOMDRAW nmcd;
  2184.     HBRUSH hbrMonoDither;
  2185.     HBRUSH hbrLines;
  2186.     HPEN hpenLines;
  2187.     COLORREF clrText;
  2188.     COLORREF clrMark;
  2189.     COLORREF clrTextHighlight;
  2190.     COLORREF clrBtnFace;
  2191.     COLORREF clrBtnHighlight;
  2192.     COLORREF clrHighlightHotTrack;
  2193.     RECT rcText;
  2194.     int nStringBkMode;
  2195.     int nHLStringBkMode;
  2196. #if (_WIN32_WINNT >= 0x0501)
  2197.     int iListGap;
  2198. #endif
  2199. } NMTBCUSTOMDRAW, * LPNMTBCUSTOMDRAW;
  2200. typedef struct tagNMITEMACTIVATE {
  2201.     NMHDR hdr;
  2202.     int iItem;
  2203.     int iSubItem;
  2204.     UINT uNewState;
  2205.     UINT uOldState;
  2206.     UINT uChanged;
  2207.     POINT ptAction;
  2208.     LPARAM lParam;
  2209.     UINT uKeyFlags;
  2210. } NMITEMACTIVATE, *LPNMITEMACTIVATE;
  2211. #endif /* _WIN32_IE >= 0x0400 */
  2212. typedef struct tagTBADDBITMAP {
  2213.     HINSTANCE hInst;
  2214.     UINT nID;
  2215. } TBADDBITMAP,*LPTBADDBITMAP;
  2216. typedef struct tagTBSAVEPARAMSA {
  2217.     HKEY hkr;
  2218.     LPCSTR pszSubKey;
  2219.     LPCSTR pszValueName;
  2220. } TBSAVEPARAMSA;
  2221. typedef struct tagTBSAVEPARAMSW {
  2222.     HKEY hkr;
  2223.     LPCWSTR pszSubKey;
  2224.     LPCWSTR pszValueName;
  2225. } TBSAVEPARAMSW;
  2226. typedef struct {
  2227.     HINSTANCE hInstOld;
  2228.     UINT nIDOld;
  2229.     HINSTANCE hInstNew;
  2230.     UINT nIDNew;
  2231.     int nButtons;
  2232. } TBREPLACEBITMAP,*LPTBREPLACEBITMAP;
  2233. typedef struct tagNMTOOLBARA {
  2234.     NMHDR hdr;
  2235.     int iItem;
  2236.     TBBUTTON tbButton;
  2237.     int cchText;
  2238.     LPSTR pszText;
  2239. #if (_WIN32_IE >= 0x500)
  2240.     RECT    rcButton;
  2241. #endif
  2242. } NMTOOLBARA, *LPNMTOOLBARA;
  2243. #define TBNOTIFYA NMTOOLBARA
  2244. #define LPTBNOTIFYA LPNMTOOLBARA
  2245. typedef struct tagNMTOOLBARW {
  2246.     NMHDR hdr;
  2247.     int iItem;
  2248.     TBBUTTON tbButton;
  2249.     int cchText;
  2250.     LPWSTR pszText;
  2251. #if (_WIN32_IE >= 0x500)
  2252.     RECT    rcButton;
  2253. #endif
  2254. } NMTOOLBARW, *LPNMTOOLBARW;
  2255. #define TBNOTIFYW NMTOOLBARW
  2256. #define LPTBNOTIFYW LPNMTOOLBARW
  2257. typedef struct tagTOOLINFOA {
  2258.     UINT cbSize;
  2259.     UINT uFlags;
  2260.     HWND hwnd;
  2261.     UINT uId;
  2262.     RECT rect;
  2263.     HINSTANCE hinst;
  2264.     LPSTR lpszText;
  2265. #if (_WIN32_IE >= 0x0300)
  2266.     LPARAM lParam;
  2267. #endif
  2268. } TTTOOLINFOA,*LPTTTOOLINFOA,*PTOOLINFOA;
  2269. #define TOOLINFOA TTTOOLINFOA
  2270. #define LPTOOLINFOA LPTTTOOLINFOA
  2271. #define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText)
  2272. #define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam)
  2273. #define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved)
  2274. typedef struct tagTOOLINFOW {
  2275.     UINT cbSize;
  2276.     UINT uFlags;
  2277.     HWND hwnd;
  2278.     UINT uId;
  2279.     RECT rect;
  2280.     HINSTANCE hinst;
  2281.     LPWSTR lpszText;
  2282. #if (_WIN32_IE >= 0x0300)
  2283.     LPARAM lParam;
  2284. #endif
  2285. } TTTOOLINFOW,*LPTTTOOLINFOW,*PTOOLINFOW;
  2286. #define TOOLINFOW TTTOOLINFOW
  2287. #define LPTOOLINFOW LPTTTOOLINFOW
  2288. #define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText)
  2289. #define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam)
  2290. #define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved)
  2291. typedef struct _TT_HITTESTINFOA {
  2292.     HWND hwnd;
  2293.     POINT pt;
  2294.     TOOLINFOA ti;
  2295. } TTHITTESTINFOA,*LPTTHITTESTINFOA;
  2296. #define LPHITTESTINFOA    LPTTHITTESTINFOA
  2297. typedef struct _TT_HITTESTINFOW {
  2298.     HWND hwnd;
  2299.     POINT pt;
  2300.     TOOLINFOW ti;
  2301. } TTHITTESTINFOW,*LPTTHITTESTINFOW;
  2302. #define LPHITTESTINFOW    LPTTHITTESTINFOW
  2303. typedef struct tagNMTTDISPINFOA {
  2304.     NMHDR hdr;
  2305.     LPSTR lpszText;
  2306.     char szText[80];
  2307.     HINSTANCE hinst;
  2308.     UINT uFlags;
  2309. #if (_WIN32_IE >= 0x0300)
  2310.     LPARAM lParam;
  2311. #endif
  2312. } NMTTDISPINFOA, *LPNMTTDISPINFOA;
  2313. #define TOOLTIPTEXTA    NMTTDISPINFOA
  2314. #define LPTOOLTIPTEXTA    LPNMTTDISPINFOA
  2315. typedef struct tagNMTTDISPINFOW {
  2316.      NMHDR hdr;
  2317.      LPWSTR lpszText;
  2318.      WCHAR szText[80];
  2319.      HINSTANCE hinst;
  2320.      UINT uFlags;
  2321. #if (_WIN32_IE >= 0x0300)
  2322.     LPARAM lParam;
  2323. #endif
  2324. } NMTTDISPINFOW, *LPNMTTDISPINFOW;
  2325. #define TOOLTIPTEXTW    NMTTDISPINFOW
  2326. #define LPTOOLTIPTEXTW    LPNMTTDISPINFOW
  2327. typedef struct _UDACCEL {
  2328.     UINT nSec;
  2329.     UINT nInc;
  2330. } UDACCEL,*LPUDACCEL;
  2331. typedef struct _NM_UPDOWN {
  2332.     NMHDR hdr;
  2333.     int iPos;
  2334.     int iDelta;
  2335. } NMUPDOWN,*LPNMUPDOWN;
  2336. /* for backward compatability */
  2337. #define NM_UPDOWN NMUPDOWN 
  2338. #define LPNM_UPDOWN LPNMUPDOWN 
  2339. typedef struct _LVITEMA {
  2340.     UINT mask;
  2341.     int iItem;
  2342.     int iSubItem;
  2343.     UINT state;
  2344.     UINT stateMask;
  2345.     LPSTR pszText;
  2346.     int cchTextMax;
  2347.     int iImage;
  2348.     LPARAM lParam;
  2349. #if (_WIN32_IE >= 0x0300)
  2350.     int iIndent;
  2351. #endif
  2352. #if (_WIN32_WINNT >= 0x0501)
  2353.     int iGroupId;
  2354.     UINT cColumns;
  2355.     PUINT puColumns;
  2356. #endif
  2357. } LVITEMA, FAR *LPLVITEMA;
  2358. #define _LV_ITEMA _LVITEMA
  2359. #define LV_ITEMA LVITEMA
  2360. typedef struct _LVITEMW {
  2361.     UINT mask;
  2362.     int iItem;
  2363.     int iSubItem;
  2364.     UINT state;
  2365.     UINT stateMask;
  2366.     LPWSTR pszText;
  2367.     int cchTextMax;
  2368.     int iImage;
  2369.     LPARAM lParam;
  2370. #if (_WIN32_IE >= 0x0300)
  2371.     int iIndent;
  2372. #endif
  2373. #if (_WIN32_WINNT >= 0x0501)
  2374.     int iGroupId;
  2375.     UINT cColumns;
  2376.     PUINT puColumns;
  2377. #endif
  2378. } LVITEMW, FAR *LPLVITEMW;
  2379. #define _LV_ITEMW _LVITEMW
  2380. #define LV_ITEMW LVITEMW
  2381. typedef struct tagLVFINDINFOA {
  2382.     UINT flags;
  2383.     LPCSTR psz;
  2384.     LPARAM lParam;
  2385.     POINT pt;
  2386.     UINT vkDirection;
  2387. } LVFINDINFOA, FAR* LPFINDINFOA;
  2388. #define _LV_FINDINFOA tagLVFINDINFOA
  2389. #define LV_FINDINFOA LVFINDINFOA
  2390. typedef struct tagLVFINDINFOW {
  2391.     UINT flags;
  2392.     LPCWSTR psz;
  2393.     LPARAM lParam;
  2394.     POINT pt;
  2395.     UINT vkDirection;
  2396. } LVFINDINFOW, FAR* LPFINDINFOW;
  2397. #define _LV_FINDINFOW tagLVFINDINFOW
  2398. #define LV_FINDINFOW LVFINDINFOW
  2399. typedef struct _LVHITTESTINFO {
  2400.     POINT pt;
  2401.     UINT flags;
  2402.     int iItem;
  2403. #if (_WIN32_IE >= 0x0300)
  2404.     int iSubItem;
  2405. #endif
  2406. } LVHITTESTINFO, FAR *LPLVHITTESTINFO;
  2407. #define _LV_HITTESTINFO _LVHITTESTINFO
  2408. #define LV_HITTESTINFO LVHITTESTINFO
  2409. typedef struct _LVCOLUMNA {
  2410.     UINT mask;
  2411.     int fmt;
  2412.     int cx;
  2413.     LPSTR pszText;
  2414.     int cchTextMax;
  2415.     int iSubItem;
  2416. #if (_WIN32_IE >= 0x0300)
  2417.     int iImage;
  2418.     int iOrder;
  2419. #endif
  2420. } LVCOLUMNA, FAR *LPLVCOLUMNA;
  2421. #define _LV_COLUMNA _LVCOLUMNA
  2422. #define LV_COLUMNA LVCOLUMNA
  2423. typedef struct _LVCOLUMNW {
  2424.     UINT mask;
  2425.     int fmt;
  2426.     int cx;
  2427.     LPWSTR pszText;
  2428.     int cchTextMax;
  2429.     int iSubItem;
  2430. #if (_WIN32_IE >= 0x0300)
  2431.     int iImage;
  2432.     int iOrder;
  2433. #endif
  2434. } LVCOLUMNW, FAR *LPLVCOLUMNW;
  2435. #define _LV_COLUMNW _LVCOLUMNW
  2436. #define LV_COLUMNW LVCOLUMNW
  2437. typedef int(CALLBACK *PFNLVCOMPARE)(LPARAM,LPARAM,LPARAM);
  2438. typedef struct tagNMLISTVIEW {
  2439.     NMHDR hdr;
  2440.     int iItem;
  2441.     int iSubItem;
  2442.     UINT uNewState;
  2443.     UINT uOldState;
  2444.     UINT uChanged;
  2445.     POINT ptAction;
  2446.     LPARAM lParam;
  2447. } NMLISTVIEW, *LPNMLISTVIEW;
  2448. /* for backward compatability */
  2449. #define _NM_LISTVIEW  tagNMLISTVIEW
  2450. #define NM_LISTVIEW NMLISTVIEW
  2451. #define LPNM_LISTVIEW LPNMLISTVIEW
  2452. typedef struct tagNMLVDISPINFOA {
  2453.     NMHDR hdr;
  2454.     LV_ITEMA item;
  2455. } NMLVDISPINFOA, FAR *LPNMLVDISPINFOA;
  2456. #define _LV_DISPINFOA tagNMLVDISPINFOA
  2457. #define LV_DISPINFOA NMLVDISPINFOA
  2458. typedef struct tagNMLVDISPINFOW {
  2459.     NMHDR hdr;
  2460.     LV_ITEMW item;
  2461. } NMLVDISPINFOW, FAR *LPNMLVDISPINFOW;
  2462. #define _LV_DISPINFOW tagNMLVDISPINFOW
  2463. #define LV_DISPINFOW NMLVDISPINFOW
  2464. typedef struct _LV_KEYDOWN {
  2465.     NMHDR hdr;
  2466.     WORD wVKey;
  2467.     UINT flags;
  2468. } LV_KEYDOWN;
  2469. typedef struct tagNMLVCACHEHINT {
  2470.     NMHDR hdr;
  2471.     int iFrom;
  2472.     int iTo;
  2473. } NMLVCACHEHINT, *PNMLVCACHEHINT;
  2474. #define NM_CACHEHINT NMLVCACHEHINT
  2475. typedef struct _TREEITEM *HTREEITEM;
  2476. typedef struct tagTVITEMA {
  2477.     UINT mask;
  2478.     HTREEITEM hItem;
  2479.     UINT state;
  2480.     UINT stateMask;
  2481.     LPSTR pszText;
  2482.     int cchTextMax;
  2483.     int iImage;
  2484.     int iSelectedImage;
  2485.     int cChildren;
  2486.     LPARAM lParam;
  2487. } TVITEMA,*LPTVITEMA;
  2488. #define _TV_ITEMA tagTVITEMA
  2489. #define TV_ITEMA TVITEMA
  2490. #define LPTV_ITEMA LPTVITEMA
  2491. typedef struct tagTVITEMW {
  2492.     UINT mask;
  2493.     HTREEITEM hItem;
  2494.     UINT state;
  2495.     UINT stateMask;
  2496.     LPWSTR pszText;
  2497.     int cchTextMax;
  2498.     int iImage;
  2499.     int iSelectedImage;
  2500.     int cChildren;
  2501.     LPARAM lParam;
  2502. } TVITEMW,*LPTVITEMW;
  2503. #define _TV_ITEMW tagTVITEMW
  2504. #define TV_ITEMW TVITEMW
  2505. #define LPTV_ITEMW LPTVITEMW
  2506. #if (_WIN32_IE >= 0x0400)
  2507. typedef struct tagTVITEMEXA {
  2508.     UINT mask;
  2509.     HTREEITEM hItem;
  2510.     UINT state;
  2511.     UINT stateMask;
  2512.     LPSTR pszText;
  2513.     int cchTextMax;
  2514.     int iImage;
  2515.     int iSelectedImage;
  2516.     int cChildren;
  2517.     LPARAM lParam;
  2518.     int iIntegral;
  2519. } TVITEMEXA, *LPTVITEMEXA;
  2520. typedef struct tagTVITEMEXW {
  2521.     UINT mask;
  2522.     HTREEITEM hItem;
  2523.     UINT state;
  2524.     UINT stateMask;
  2525.     LPWSTR pszText;
  2526.     int cchTextMax;
  2527.     int iImage;
  2528.     int iSelectedImage;
  2529.     int cChildren;
  2530.     LPARAM lParam;
  2531.     int iIntegral;
  2532. } TVITEMEXW, *LPTVITEMEXW;
  2533. #endif /* _WIN32_IE >= 0x0400 */
  2534. typedef struct tagTVINSERTSTRUCTA {
  2535.     HTREEITEM hParent;
  2536.     HTREEITEM hInsertAfter;
  2537. #if (_WIN32_IE >= 0x0400)
  2538.     _ANONYMOUS_UNION union {
  2539.     TVITEMEXA itemex;
  2540.     TV_ITEMA item;
  2541.     } DUMMYUNIONNAME;
  2542. #else
  2543.     TV_ITEMA item;
  2544. #endif
  2545. } TVINSERTSTRUCTA,*LPTVINSERTSTRUCTA;
  2546. #define _TV_INSERTSTRUCTA tagTVINSERTSTRUCTA
  2547. #define TV_INSERTSTRUCTA TVINSERTSTRUCTA
  2548. #define LPTV_INSERTSTRUCTA LPTVINSERTSTRUCTA
  2549. typedef struct tagTVINSERTSTRUCTW {
  2550.     HTREEITEM hParent;
  2551.     HTREEITEM hInsertAfter;
  2552. #if (_WIN32_IE >= 0x0400)
  2553.     _ANONYMOUS_UNION union {
  2554.       TVITEMEXW itemex;
  2555.       TV_ITEMW  item;
  2556.     } DUMMYUNIONNAME;
  2557. #else
  2558.     TV_ITEMW item;
  2559. #endif
  2560. } TVINSERTSTRUCTW,*LPTVINSERTSTRUCTW;
  2561. #define _TV_INSERTSTRUCTW tagTVINSERTSTRUCTW
  2562. #define TV_INSERTSTRUCTW TVINSERTSTRUCTW
  2563. #define LPTV_INSERTSTRUCTW LPTVINSERTSTRUCTW
  2564. typedef struct tagTVHITTESTINFO {
  2565.     POINT pt;
  2566.      UINT flags;
  2567.     HTREEITEM hItem;
  2568. } TVHITTESTINFO, *LPTVHITTESTINFO;
  2569. #define _TV_HITTESTINFO tagTVHITTESTINFO
  2570. #define TV_HITTESTINFO TVHITTESTINFO
  2571. #define LPTV_HITTESTINFO LPTVHITTESTINFO
  2572. typedef int(CALLBACK *PFNTVCOMPARE)(LPARAM,LPARAM,LPARAM);
  2573. typedef struct tagTVSORTCB {
  2574.     HTREEITEM hParent;
  2575.     PFNTVCOMPARE lpfnCompare;
  2576.     LPARAM lParam;
  2577. } TVSORTCB,*LPTVSORTCB;
  2578. #define _TV_SORTCB tagTVSORTCB
  2579. #define TV_SORTCB TVSORTCB
  2580. #define LPTV_SORTCB LPTVSORTCB
  2581. typedef struct tagNMTREEVIEWA {
  2582.     NMHDR hdr;
  2583.     UINT action;
  2584.     TV_ITEMA itemOld;
  2585.     TV_ITEMA itemNew;
  2586.     POINT ptDrag;
  2587. } NMTREEVIEWA,*LPNMTREEVIEWA;
  2588. #define _NM_TREEVIEWA tagNMTREEVIEWA
  2589. #define NM_TREEVIEWA NMTREEVIEWA
  2590. #define LPNM_TREEVIEWA LPNMTREEVIEWA
  2591. typedef struct tagNMTREEVIEWW {
  2592.     NMHDR hdr;
  2593.     UINT action;
  2594.     TV_ITEMW itemOld;
  2595.     TV_ITEMW itemNew;
  2596.     POINT ptDrag;
  2597. } NMTREEVIEWW,*LPNMTREEVIEWW;
  2598. #define _NM_TREEVIEWW tagNMTREEVIEWW
  2599. #define NM_TREEVIEWW NMTREEVIEWW
  2600. #define LPNM_TREEVIEWW LPNMTREEVIEWW
  2601. typedef struct tagNMTVDISPINFOA {
  2602.     NMHDR hdr;
  2603.     TVITEMA item;
  2604. } NMTVDISPINFOA, *LPNMTVDISPINFOA;
  2605. #define _TV_DISPINFOA tagNMTVDISPINFOA
  2606. #define TV_DISPINFOA NMTVDISPINFOA
  2607. typedef struct tagNMTVDISPINFOW {
  2608.     NMHDR hdr;
  2609.     TVITEMW item;
  2610. } NMTVDISPINFOW, *LPNMTVDISPINFOW;
  2611. #define _TV_DISPINFOW tagNMTVDISPINFOW
  2612. #define TV_DISPINFOW NMTVDISPINFOW
  2613. #if (_WIN32_IE >= 0x0400)
  2614. typedef struct tagNMTVGETINFOTIPA {
  2615.     NMHDR hdr;
  2616.     LPSTR pszText;
  2617.     int cchTextMax;
  2618.     HTREEITEM hItem;
  2619.     LPARAM lParam;
  2620. } NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA;
  2621. typedef struct tagNMTVGETINFOTIPW {
  2622.     NMHDR hdr;
  2623.     LPWSTR pszText;
  2624.     int cchTextMax;
  2625.     HTREEITEM hItem;
  2626.     LPARAM lParam;
  2627. } NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW;
  2628. #endif
  2629. typedef struct _TV_KEYDOWN {
  2630.     NMHDR hdr;
  2631.     WORD wVKey;
  2632.     UINT flags;
  2633. } TV_KEYDOWN;
  2634. typedef struct _TC_ITEMHEADERA {
  2635.     UINT mask;
  2636.     UINT lpReserved1;
  2637.     UINT lpReserved2;
  2638.     LPSTR pszText;
  2639.     int cchTextMax;
  2640.     int iImage;
  2641. } TC_ITEMHEADERA;
  2642. typedef struct _TC_ITEMHEADERW {
  2643.     UINT mask;
  2644.     UINT lpReserved1;
  2645.     UINT lpReserved2;
  2646.     LPWSTR pszText;
  2647.     int cchTextMax;
  2648.     int iImage;
  2649. } TC_ITEMHEADERW;
  2650. typedef struct tagTCITEMA {
  2651.     UINT mask;
  2652. #if (_WIN32_IE >= 0x0300)
  2653.     DWORD dwState;
  2654.     DWORD dwStateMask;
  2655. #else
  2656.      UINT lpReserved1;
  2657.      UINT lpReserved2;
  2658. #endif
  2659.     LPSTR pszText;
  2660.     int cchTextMax;
  2661.     int iImage;
  2662.     LPARAM lParam;
  2663. } TCITEMA, *LPTCITEMA;
  2664. #define TC_ITEMA TCITEMA
  2665. typedef struct tagTCITEMW {
  2666.     UINT mask;
  2667. #if (_WIN32_IE >= 0x0300)
  2668.     DWORD dwState;
  2669.     DWORD dwStateMask;
  2670. #else
  2671.      UINT lpReserved1;
  2672.      UINT lpReserved2;
  2673. #endif
  2674.     LPWSTR pszText;
  2675.     int cchTextMax;
  2676.     int iImage;
  2677.     LPARAM lParam;
  2678. } TCITEMW, *LPTCITEMW;
  2679. #define TC_ITEMW TCITEMW
  2680. typedef struct tagTCHITTESTINFO {
  2681.     POINT pt;
  2682.     UINT flags;
  2683. } TCHITTESTINFO, *LPTCHITTESTINFO;
  2684. #define TC_HITTESTINFO TCHITTESTINFO
  2685. #define LPTC_HITTESTINFO LPTCHITTESTINFO
  2686. typedef struct _TC_KEYDOWN {
  2687.     NMHDR hdr;
  2688.     WORD wVKey;
  2689.     UINT flags;
  2690. } TC_KEYDOWN;
  2691. #if (_WIN32_IE >= 0x0300)
  2692. typedef struct tagINITCOMMONCONTROLSEX {
  2693.     DWORD dwSize;
  2694.     DWORD dwICC;
  2695. } INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
  2696. #endif
  2697. typedef struct tagPBRANGE {
  2698.     int iLow;
  2699.     int iHigh;
  2700. } PBRANGE,*PPBRANGE;
  2701. typedef struct tagCOLORSCHEME {
  2702.     DWORD dwSize;
  2703.     COLORREF clrBtnHighlight;
  2704.     COLORREF clrBtnShadow;
  2705. } COLORSCHEME,*LPCOLORSCHEME;
  2706. typedef struct tagMCHITTESTINFO {
  2707.     UINT cbSize;
  2708.     POINT pt;
  2709.     UINT uHit;
  2710.     SYSTEMTIME st;
  2711. }MCHITTESTINFO, *PMCHITTESTINFO;
  2712. typedef DWORD MONTHDAYSTATE;
  2713. typedef MONTHDAYSTATE *LPMONTHDAYSTATE;
  2714. typedef struct tagNMDAYSTATE {
  2715.     NMHDR nmhdr;
  2716.     SYSTEMTIME stStart;
  2717.     int cDayState;
  2718.     LPMONTHDAYSTATE prgDayState;
  2719. }NMDAYSTATE,*LPNMDAYSTATE;
  2720. typedef struct tagREBARINFO {
  2721.     UINT cbSize;
  2722.     UINT fMask;
  2723.     HIMAGELIST himl;
  2724. } REBARINFO,*LPREBARINFO;
  2725. typedef struct tagREBARBANDINFOA {
  2726.     UINT cbSize;
  2727.     UINT fMask;
  2728.     UINT fStyle;
  2729.     COLORREF clrFore;
  2730.     COLORREF clrBack;
  2731.     LPSTR lpText;
  2732.     UINT cch;
  2733.     int iImage;
  2734.     HWND hwndChild;
  2735.     UINT cxMinChild;
  2736.     UINT cyMinChild;
  2737.     UINT cx;
  2738.     HBITMAP hbmBack;
  2739.     UINT wID;
  2740. #if (_WIN32_IE >= 0x0400)
  2741.     UINT cyChild;
  2742.     UINT cyMaxChild;
  2743.     UINT cyIntegral;
  2744.     UINT cxIdeal;
  2745.     LPARAM lParam;
  2746.     UINT cxHeader;
  2747. #endif
  2748. } REBARBANDINFOA,*LPREBARBANDINFOA;
  2749. typedef struct tagREBARBANDINFOW {
  2750.     UINT cbSize;
  2751.     UINT fMask;
  2752.     UINT fStyle;
  2753.     COLORREF clrFore;
  2754.     COLORREF clrBack;
  2755.     LPWSTR lpText;
  2756.     UINT cch;
  2757.     int iImage;
  2758.     HWND hwndChild;
  2759.     UINT cxMinChild;
  2760.     UINT cyMinChild;
  2761.     UINT cx;
  2762.     HBITMAP hbmBack;
  2763.     UINT wID;
  2764. #if (_WIN32_IE >= 0x0400)
  2765.     UINT cyChild;
  2766.     UINT cyMaxChild;
  2767.     UINT cyIntegral;
  2768.     UINT cxIdeal;
  2769.     LPARAM lParam;
  2770.     UINT cxHeader;
  2771. #endif
  2772. } REBARBANDINFOW,*LPREBARBANDINFOW;
  2773. typedef REBARBANDINFOA const *LPCREBARBANDINFOA;
  2774. typedef REBARBANDINFOW const *LPCREBARBANDINFOW;
  2775. #define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA,wID)
  2776. #define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID)
  2777. #if (_WIN32_IE >= 0x0300)
  2778. typedef struct tagIMAGELISTDRAWPARAMS {
  2779.     DWORD cbSize;
  2780.     HIMAGELIST himl;
  2781.     int i;
  2782.     HDC hdcDst;
  2783.     int x;
  2784.     int y;
  2785.     int cx;
  2786.     int cy;
  2787.     int xBitmap;        
  2788.     int yBitmap;        
  2789.     COLORREF rgbBk;
  2790.     COLORREF rgbFg;
  2791.     UINT fStyle;
  2792.     DWORD dwRop;
  2793. #if (_WIN32_WINNT >= 0x0501)
  2794.     DWORD fState;
  2795.     DWORD Frame;
  2796.     COLORREF crEffect;
  2797. #endif
  2798. } IMAGELISTDRAWPARAMS,*LPIMAGELISTDRAWPARAMS;
  2799. #endif /* (_WIN32_IE >= 0x0300) */
  2800. #if (_WIN32_IE >= 0x0400)
  2801. typedef struct tagNMREBARCHILDSIZE {
  2802.     NMHDR hdr;
  2803.     UINT uBand;
  2804.     UINT wID;
  2805.     RECT rcChild;
  2806.     RECT rcBand;
  2807. } NMREBARCHILDSIZE,*LPNMREBARCHILDSIZE;
  2808. typedef struct tagNMREBAR {
  2809.     NMHDR hdr;
  2810.     DWORD dwMask;
  2811.     UINT uBand;
  2812.     UINT fStyle;
  2813.     UINT wID;
  2814.     LPARAM lParam;
  2815. } NMREBAR,*LPNMREBAR;
  2816. typedef struct tagNMRBAUTOSIZE {
  2817.     NMHDR hdr;
  2818.     BOOL fChanged;
  2819.     RECT rcTarget;
  2820.     RECT rcActual;
  2821. } NMRBAUTOSIZE,*LPNMRBAUTOSIZE;
  2822. #if (_WIN32_IE >= 0x0500)
  2823. typedef struct tagNMREBARCHEVRON {
  2824.     NMHDR hdr;
  2825.     UINT uBand;
  2826.     UINT wID;
  2827.     LPARAM lParam;
  2828.     RECT rc;
  2829.     LPARAM lParamNM;
  2830. } NMREBARCHEVRON, *LPNMREBARCHEVRON;
  2831. #endif
  2832. typedef struct _RB_HITTESTINFO {
  2833.     POINT pt;
  2834.     UINT flags;
  2835.     int iBand;
  2836. } RBHITTESTINFO,*LPRBHITTESTINFO;
  2837. #endif
  2838. typedef struct _DSA *HDSA;
  2839. typedef struct _DPA *HDPA;
  2840. typedef INT (CALLBACK *PFNDPAENUMCALLBACK)(PVOID,PVOID);
  2841. typedef INT (CALLBACK *PFNDSAENUMCALLBACK)(PVOID,PVOID);
  2842. typedef INT (CALLBACK *PFNDPACOMPARE)(PVOID,PVOID,LPARAM);
  2843. #if (_WIN32_WINNT >= 0x0501)
  2844. typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND,UINT,WPARAM,LPARAM,UINT_PTR,DWORD_PTR);
  2845. #endif /* _WIN32_WINNT >= 0x0501 */
  2846.  
  2847. #define INDEXTOOVERLAYMASK(i) ((i)<<8)
  2848. #define INDEXTOSTATEIMAGEMASK(i) ((i)<<12)
  2849. #define HANDLE_WM_NOTIFY(h,w,l,f) (f)((h),(int)(w),(NMHDR*)(l))
  2850. #define FORWARD_WM_NOTIFY(h,i,p,f) (LRESULT)(f)((h),WM_NOTIFY,(WPARAM)(int)(i),(LPARAM)(NMHDR*)(p))
  2851. #define CCSIZEOF_STRUCT(s,m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m))
  2852. #define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
  2853. #define MAKEIPRANGE(low,high) ((LPARAM)(WORD)(((BYTE)(high)<<8)+(BYTE)(low)))
  2854. #define FIRST_IPADDRESS(a) ((a>>24) & 0xff)
  2855. #define SECOND_IPADDRESS(a) ((a>>16) & 0xff)
  2856. #define THIRD_IPADDRESS(a)  ((a>>8) & 0xff)
  2857. #define FOURTH_IPADDRESS(a) (a & 0xff)
  2858. #define Animate_Create(w,i,s,hI) CreateWindow(ANIMATE_CLASS,NULL,s,0,0,0,0,w,(HMENU)(i),hI,NULL)
  2859. #define Animate_Open(w,f) (BOOL)SNDMSG(w,ACM_OPEN,0,(LPARAM)f)
  2860. #define Animate_OpenEx(w,h,s) (BOOL)SNDMSG(w,ACM_OPEN,(WPARAM)h,(LPARAM)(LPTSTR)(s))
  2861. #define Animate_Play(w,f,t,r) (BOOL)SNDMSG(w,ACM_PLAY,(r),(LPARAM)MAKELONG(f,t))
  2862. #define Animate_Stop(w)    (BOOL)SNDMSG(w,ACM_STOP,0,0)
  2863. #define Animate_Close(w)    Animate_Open(w,NULL)
  2864. #define Animate_Seek(w,f)    Animate_Play(w,f,f,1)
  2865. HBITMAP WINAPI CreateMappedBitmap(HINSTANCE,int,UINT,LPCOLORMAP,int);
  2866. HWND WINAPI CreateStatusWindowA(LONG,LPCSTR,HWND,UINT);
  2867. HWND WINAPI CreateStatusWindowW(LONG,LPCWSTR,HWND,UINT);
  2868. HWND WINAPI CreateToolbarEx(HWND,DWORD,UINT,int,HINSTANCE,UINT,LPCTBBUTTON,int,int,int,int,int,UINT);
  2869. HWND WINAPI CreateUpDownControl(DWORD,int,int,int,int,HWND,int,HINSTANCE,HWND,int,int,int);
  2870. #define DateTime_GetMonthCal(hwnd) SNDMSG(hwnd, DTM_GETMONTHCAL, 0, 0)
  2871. #define DateTime_GetMonthCalColor(hwnd, icolor) SNDMSG(hwnd, DTM_GETMONTHCAL, (WPARAM)icolor,0)
  2872. #define DateTime_GetMonthCalFont(hwnd) SNDMSG(hwnd,DTM_GETMCFONT,0,0)
  2873. #define DateTime_GetRange(hwnd,lpsystimearray) SNDMSG(hwnd,DTM_GETRANGE,0,(LPARAM)lpsystimearray)
  2874. #define DateTime_GetSystemtime(hwnd,lpsystime) SNDMSG(hwnd,DTM_GETSYSTEMTIME,0,(LPARAM)lpsystime)
  2875. #define DateTime_SetFormat(hwnd,lpszformat) SNDMSG(hwnd,DTM_SETFORMAT,0,(LPARAM)lpszformat)
  2876. #define DateTime_SetMonthCalColor(hwnd,icolor,clr) SNDMSG(hwnd,DTM_SETMCCOLOR,(WPARAM)icolor,(LPARAM)clr)
  2877. #define DateTime_SetMonthCalFont(hwnd,hfont,lparam) SNDMSG(hwnd,DTM_SETMCFONT,(WPARAM)hfont,(LPARAM)lparam)
  2878. #define DateTime_SetRange(hwnd,flags,lpsystimearray) SNDMSG(hwnd,DTM_SETRANGE,(WPARAM)flags,(LPARAM)lpsystimearray)
  2879. #define DateTime_SetSystemtime(hwnd,flag,lpsystime) SNDMSG(hwnd,DTM_SETSYSTEMTIME,(WPARAM)flag,(LPARAM)lpsystime)
  2880. void WINAPI DrawInsert(HWND,HWND,int);
  2881. void WINAPI DrawStatusTextA(HDC,LPRECT,LPCSTR,UINT);
  2882. void WINAPI DrawStatusTextW(HDC,LPRECT,LPCWSTR,UINT);
  2883. void WINAPI GetEffectiveClientRect(HWND,LPRECT,LPINT);
  2884. #define Header_GetItemCount(w) (int)SNDMSG((w),HDM_GETITEMCOUNT,0,0)
  2885. #define Header_InsertItem(w,i,phdi) (int)SNDMSG((w),HDM_INSERTITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
  2886. #define Header_DeleteItem(w,i) (BOOL)SNDMSG((w),HDM_DELETEITEM,(WPARAM)(int)(i),0)
  2887. #define Header_GetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM*)(phdi))
  2888. #define Header_SetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
  2889. #define Header_Layout(w,l) (BOOL)SNDMSG((w),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT*)(l))
  2890. #if (_WIN32_IE >= 0x0300)
  2891. #define Header_OrderToIndex(w,o) (int)SNDMSG((w),HDM_ORDERTOINDEX,(WPARAM)(o),0)
  2892. #define Header_GetItemRect(w,i,r) (BOOL)SNDMSG((w),HDM_GETITEMRECT,(WPARAM)(i),(LPARAM)(r))
  2893. #define Header_GetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_GETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
  2894. #define Header_SetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_SETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
  2895. #define Header_CreateDragImage(w, i) (HIMAGELIST)SNDMSG((w), HDM_CREATEDRAGIMAGE, (WPARAM)i, 0)
  2896. #define Header_SetImageList(w,l) (HIMAGELIST)SNDMSG((w), HDM_SETIMAGELIST, 0, (LPARAM)l)
  2897. #define Header_GetImageList(w) (HIMAGELIST)SNDMSG((w),HDM_GETIMAGELIST,0,0)
  2898. #endif
  2899. #if (_WIN32_IE >= 0x0400)
  2900. #define Header_GetUnicodeFormat(w) (BOOL)SNDMSG((w),HDM_GETUNICODEFORMAT,0,0)
  2901. #define Header_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),HDM_SETUNICODEFORMAT,(WPARAM)(f),0)
  2902. #endif
  2903. HDSA WINAPI DSA_Create(INT,INT);
  2904. BOOL WINAPI DSA_Destroy(HDSA);
  2905. VOID WINAPI DSA_DestroyCallback(HDSA,PFNDSAENUMCALLBACK,PVOID);
  2906. PVOID WINAPI DSA_GetItemPtr(HDSA,INT);
  2907. INT WINAPI DSA_InsertItem(HDSA,INT,PVOID);
  2908. HDPA WINAPI DPA_Create(INT);
  2909. BOOL WINAPI DPA_Destroy(HDPA);
  2910. PVOID WINAPI DPA_DeletePtr(HDPA,INT);
  2911. BOOL WINAPI DPA_DeleteAllPtrs(HDPA);
  2912. VOID WINAPI DPA_EnumCallback(HDPA,PFNDPAENUMCALLBACK,PVOID);
  2913. VOID WINAPI DPA_DestroyCallback(HDPA,PFNDPAENUMCALLBACK,PVOID);
  2914. BOOL WINAPI DPA_SetPtr(HDPA,INT,PVOID);
  2915. INT WINAPI DPA_InsertPtr(HDPA,INT,PVOID);
  2916. PVOID WINAPI DPA_GetPtr(HDPA,INT_PTR);
  2917. BOOL WINAPI DPA_Sort(HDPA,PFNDPACOMPARE,LPARAM);
  2918. INT WINAPI DPA_Search(HDPA,PVOID,INT,PFNDPACOMPARE,LPARAM,UINT);
  2919. BOOL WINAPI Str_SetPtrW(LPWSTR*,LPCWSTR);
  2920. #if (_WIN32_IE >= 0x0400)
  2921. BOOL WINAPI FlatSB_EnableScrollBar(HWND,INT,UINT);
  2922. BOOL WINAPI FlatSB_ShowScrollBar(HWND,INT,BOOL);
  2923. BOOL WINAPI FlatSB_GetScrollRange(HWND,INT,LPINT,LPINT);
  2924. BOOL WINAPI FlatSB_GetScrollInfo(HWND,INT,LPSCROLLINFO);
  2925. INT WINAPI FlatSB_GetScrollPos(HWND,INT);
  2926. BOOL WINAPI FlatSB_GetScrollProp(HWND,INT,LPINT);
  2927. #ifdef _WIN64
  2928. BOOL WINAPI FlatSB_GetScrollPropPtr(HWND,INT,PINT_PTR);
  2929. #else
  2930. #define FlatSB_GetScrollPropPtr FlatSB_GetScrollProp
  2931. #endif
  2932. INT WINAPI FlatSB_SetScrollPos(HWND,INT,INT,BOOL);
  2933. INT WINAPI FlatSB_SetScrollInfo(HWND,INT,LPSCROLLINFO,BOOL);
  2934. INT WINAPI FlatSB_SetScrollRange(HWND,INT,INT,INT,BOOL);
  2935. BOOL WINAPI FlatSB_SetScrollProp(HWND,UINT,INT_PTR,BOOL);
  2936. #define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
  2937. BOOL WINAPI InitializeFlatSB(HWND);
  2938. HRESULT WINAPI UninitializeFlatSB(HWND);
  2939. #endif /* _WIN32_IE >= 0x0400 */
  2940. #if (_WIN32_WINNT >= 0x0501)
  2941. BOOL WINAPI SetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR);
  2942. BOOL WINAPI GetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR*);
  2943. BOOL WINAPI RemoveWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR);
  2944. LRESULT WINAPI DefSubclassProc(HWND,UINT,WPARAM,LPARAM);
  2945. INT WINAPI DrawShadowText(HDC,LPCWSTR,UINT,RECT*,DWORD,COLORREF,COLORREF,INT,INT);
  2946. #endif /* _WIN32_WINNT >= 0x0501 */
  2947. int WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);
  2948. #define ImageList_AddIcon(l,i) ImageList_ReplaceIcon(l,-1,i)
  2949. int WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
  2950. BOOL WINAPI ImageList_BeginDrag(HIMAGELIST,int,int,int);
  2951. HIMAGELIST WINAPI ImageList_Create(int,int,UINT,int,int);
  2952. BOOL WINAPI ImageList_Destroy(HIMAGELIST);
  2953. BOOL WINAPI ImageList_DragEnter(HWND,int,int);
  2954. BOOL WINAPI ImageList_DragLeave(HWND);
  2955. BOOL WINAPI ImageList_DragMove(int,int);
  2956. BOOL WINAPI ImageList_DragShowNolock(BOOL);
  2957. BOOL WINAPI ImageList_Draw(HIMAGELIST,int,HDC,int,int,UINT);
  2958. BOOL WINAPI ImageList_DrawEx(HIMAGELIST,int,HDC,int,int,int,int,COLORREF,COLORREF,UINT);
  2959. void WINAPI ImageList_EndDrag(VOID);
  2960. #define ImageList_ExtractIcon(h,l,i) ImageList_GetIcon(l,i,0)
  2961. COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
  2962. HIMAGELIST WINAPI ImageList_GetDragImage(LPPOINT,LPPOINT);
  2963. HICON WINAPI ImageList_GetIcon(HIMAGELIST,int,UINT);
  2964. BOOL WINAPI ImageList_GetIconSize(HIMAGELIST,int*,int*);
  2965. int WINAPI ImageList_GetImageCount(HIMAGELIST);
  2966. BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST,int,IMAGEINFO*);
  2967. #define ImageList_LoadBitmap(h,l,x,G,M) ImageList_LoadImage(h,l,x,G,M,IMAGE_BITMAP,0)
  2968. HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE,LPCSTR,int,int,COLORREF,UINT,UINT);
  2969. HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,int,int,COLORREF,UINT,UINT);
  2970. HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,int,HIMAGELIST,int,int,int);
  2971. BOOL WINAPI ImageList_Remove(HIMAGELIST,int);
  2972. #define ImageList_RemoveAll(l) ImageList_Remove(l,-1)
  2973. BOOL WINAPI ImageList_Replace(HIMAGELIST,int,HBITMAP,HBITMAP);
  2974. int WINAPI ImageList_ReplaceIcon(HIMAGELIST,int,HICON);
  2975. COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
  2976. BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,int,int,int);
  2977. BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,int,int);
  2978. BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,int,int);
  2979. #ifdef _OBJIDL_H
  2980. HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
  2981. BOOL WINAPI ImageList_Write(HIMAGELIST,LPSTREAM);
  2982. #endif
  2983. #if (_WIN32_IE >= 0x0400)
  2984. HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himl);
  2985. #endif
  2986. void WINAPI InitCommonControls(void);
  2987. #if (_WIN32_IE >= 0x0300)
  2988. BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
  2989. #endif
  2990. int WINAPI LBItemFromPt(HWND,POINT,BOOL);
  2991. #define ListView_GetBkColor(w) (COLORREF)SNDMSG((w),LVM_GETBKCOLOR,0,0)
  2992. #define ListView_GetImageList(w,i) (HIMAGELIST)SNDMSG((w),LVM_GETIMAGELIST,(i),0)
  2993. #define ListView_GetItemCount(w) (int)SNDMSG((w),LVM_GETITEMCOUNT,0,0)
  2994. #define ListView_GetItem(w,i) (BOOL)SNDMSG((w),LVM_GETITEM,0,(LPARAM)(i))
  2995. #define ListView_SetBkColor(w,c) (BOOL)SNDMSG((w),LVM_SETBKCOLOR,0,(LPARAM)c)
  2996. #define ListView_SetImageList(w,h,i) (HIMAGELIST)(UINT)SNDMSG((w),LVM_SETIMAGELIST,(i),(LPARAM)(h))
  2997. #define ListView_SetItem(w,i) (BOOL)SNDMSG((w),LVM_SETITEM,0,(LPARAM)(const LV_ITEM*)(i))
  2998. #define ListView_InsertItem(w,i) (int)SNDMSG((w),LVM_INSERTITEM,0,(LPARAM)(const LV_ITEM*)(i))
  2999. #define ListView_DeleteItem(w,i) (BOOL)SNDMSG((w),LVM_DELETEITEM,i,0)
  3000. #define ListView_DeleteAllItems(w) (BOOL)SNDMSG((w),LVM_DELETEALLITEMS,0,0)
  3001. #define ListView_GetCallbackMask(w) (BOOL)SNDMSG((w),LVM_GETCALLBACKMASK,0,0)
  3002. #define ListView_SetCallbackMask(w,m) (BOOL)SNDMSG((w),LVM_SETCALLBACKMASK,m,0)
  3003. #define ListView_GetNextItem(w,i,f) (int)SNDMSG((w),LVM_GETNEXTITEM,i,MAKELPARAM((f),0))
  3004. #define ListView_FindItem(w,i,p) (int)SNDMSG((w), LVM_FINDITEM,(WPARAM)i,(LPARAM)(const LV_FINDINFO*)(p))
  3005. #define ListView_GetItemRect(w,i,p,c) (BOOL)SNDMSG((w),LVM_GETITEMRECT,i,((p)?(((LPRECT)(p))->left=(c),(LPARAM)(LPRECT)(p)):0))
  3006. #define ListView_SetItemPosition(w,i,x,y) (BOOL)SNDMSG((w),LVM_SETITEMPOSITION,i,MAKELPARAM(x,y))
  3007. #define ListView_GetItemPosition(w,i,p) (BOOL)SNDMSG((w),LVM_GETITEMPOSITION,i,(LPARAM)p)
  3008. #define ListView_GetItemSpacing(w,f) (DWORD)SNDMSG((w),LVM_GETITEMSPACING,f,0)
  3009. #define ListView_GetStringWidth(w,s) (int)SNDMSG((w),LVM_GETSTRINGWIDTH,0,(LPARAM)s)
  3010. #define ListView_HitTest(w,p) (int)SNDMSG((w),LVM_HITTEST,0,(LPARAM)(LV_HITTESTINFO*)(p))
  3011. #define ListView_EnsureVisible(w,i,f) (BOOL)SNDMSG((w),LVM_ENSUREVISIBLE,i,MAKELPARAM((f),0))
  3012. #define ListView_Scroll(w,dx,dy) (BOOL)SNDMSG((w),LVM_SCROLL,dx,dy)
  3013. #define ListView_RedrawItems(w,f,l) (BOOL)SNDMSG((w),LVM_REDRAWITEMS,f,l)
  3014. #define ListView_Arrange(w,c) (BOOL)SNDMSG((w),LVM_ARRANGE,c,0)
  3015. #define ListView_EditLabel(w,i) (HWND)SNDMSG((w),LVM_EDITLABEL,i,0)
  3016. #define ListView_GetEditControl(w) (HWND)SNDMSG((w),LVM_GETEDITCONTROL,0,0)
  3017. #define ListView_GetColumn(w,i,p) (BOOL)SNDMSG((w),LVM_GETCOLUMN,i,(LPARAM)(LV_COLUMN*)(p))
  3018. #define ListView_SetColumn(w,i,p) (BOOL)SNDMSG((w),LVM_SETCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
  3019. #define ListView_InsertColumn(w,i,p) (int)SNDMSG((w),LVM_INSERTCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
  3020. #define ListView_DeleteColumn(w,i) (BOOL)SNDMSG((w),LVM_DELETECOLUMN,i,0)
  3021. #define ListView_GetColumnWidth(w,i) (int)SNDMSG((w),LVM_GETCOLUMNWIDTH,i,0)
  3022. #define ListView_SetColumnWidth(w,i,x) (BOOL)SNDMSG((w),LVM_SETCOLUMNWIDTH,i,MAKELPARAM((x),0))
  3023. #define ListView_CreateDragImage(w,i,p) (HIMAGELIST)SNDMSG((w),LVM_CREATEDRAGIMAGE,i,(LPARAM)(LPPOINT)(p))
  3024. #define ListView_GetViewRect(w,p) (BOOL)SNDMSG((w),LVM_GETVIEWRECT,0,(LPARAM)(LPRECT)(p))
  3025. #define ListView_GetTextColor(w) (COLORREF)SNDMSG((w),LVM_GETTEXTCOLOR,0,0)
  3026. #define ListView_SetTextColor(w,c) (BOOL)SNDMSG((w),LVM_SETTEXTCOLOR,0,(LPARAM)(COLORREF)(c))
  3027. #define ListView_GetTextBkColor(w) (COLORREF)SNDMSG((w),LVM_GETTEXTBKCOLOR,0,0)
  3028. #define ListView_SetTextBkColor(w,c) (BOOL)SNDMSG((w),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(c))
  3029. #define ListView_GetTopIndex(w) (int)SNDMSG((w),LVM_GETTOPINDEX,0,0)
  3030. #define ListView_GetCountPerPage(w) (int)SNDMSG((w),LVM_GETCOUNTPERPAGE,0,0)
  3031. #define ListView_GetOrigin(w,p) (BOOL)SNDMSG((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
  3032. #define ListView_GetOrigin(w,p) (BOOL)SNDMSG((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
  3033. #define ListView_Update(w,i) (BOOL)SNDMSG((w),LVM_UPDATE,i,0)
  3034. #define ListView_SetItemState(w,i,d,m) \
  3035. { \
  3036.     LV_ITEM _lvi;\
  3037.     _lvi.stateMask=m;\
  3038.     _lvi.state=d;\
  3039.     SNDMSG((w),LVM_SETITEMSTATE,i,(LPARAM)(LV_ITEM*)&_lvi);\
  3040. }
  3041. #define ListView_GetItemState(w,i,m) (UINT)SNDMSG((w),LVM_GETITEMSTATE,i,m)
  3042. #define ListView_GetItemText(w,i,iS,s,n) \
  3043. { \
  3044.     LV_ITEM _lvi;\
  3045.     _lvi.iSubItem=iS;\
  3046.     _lvi.cchTextMax=n;\
  3047.     _lvi.pszText=s;\
  3048.     SNDMSG((w),LVM_GETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
  3049. }
  3050. #define ListView_SetItemText(w,i,iS,s) \
  3051. { \
  3052.     LV_ITEM _lvi;\
  3053.     _lvi.iSubItem=iS;\
  3054.     _lvi.pszText=s;\
  3055.     SNDMSG((w),LVM_SETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
  3056. }
  3057. #define ListView_SetItemCount(w,n) SNDMSG((w),LVM_SETITEMCOUNT,n,0)
  3058. #define ListView_SortItems(w,f,l) (BOOL)SNDMSG((w),LVM_SORTITEMS,l,(LPARAM)f)
  3059. #define ListView_SetItemPosition32(w,i,x,y) \
  3060. { \
  3061.     POINT p={x,y}; \
  3062.     SNDMSG((w),LVM_SETITEMPOSITION32,i,(LPARAM)&p);\
  3063. }
  3064. #define ListView_GetSelectedCount(w) (UINT)SNDMSG((w),LVM_GETSELECTEDCOUNT,0,0)
  3065. #define ListView_GetCheckState(w,i) ((((UINT)(SNDMSG((w),LVM_GETITEMSTATE,(WPARAM)(i),LVIS_STATEIMAGEMASK)))>>12)-1)
  3066. #define ListView_SetCheckState(w,i,f) ListView_SetItemState(w,i,INDEXTOSTATEIMAGEMASK((f)+1),LVIS_STATEIMAGEMASK)
  3067. #define ListView_GetISearchString(w, lpsz) (BOOL)SNDMSG((w), LVM_GETISEARCHSTRING, 0, (LPARAM) (LPTSTR)(lpsz)) 
  3068.  
  3069. BOOL WINAPI MakeDragList(HWND);
  3070. void WINAPI MenuHelp(UINT,WPARAM,LPARAM,HMENU,HINSTANCE,HWND,PUINT);
  3071. #define MonthCal_GetColor(hwnd,icolor) SNDMSG(hwnd,MCM_GETCOLOR,(WPARAM)icolor,(LPARAM)0)
  3072. #define MonthCal_GetCurSel(hwnd,lpsystime) SNDMSG(hwnd,MCM_GETCURSEL,0,(LPARAM)lpsystime)
  3073. #define MonthCal_GetFirstDayOfWeek(hwnd) SNDMSG(hwnd,MCM_GETFIRSTDAYOFWEEK,0,0)
  3074. #define MonthCal_GetMaxSelCount(hwnd) SNDMSG(hwnd,MCM_GETMAXSELCOUNT,0,0)
  3075. #define MonthCal_GetMaxTodayWidth(hwnd) SNDMSG(hwnd,MCM_GETMAXTODAYWIDTH,0,0)
  3076. #define MonthCal_GetMinReqRect(hwnd,lpRectInfo) SNDMSG(hwnd,MCM_GETMINREQRECT,0,(LPARAM)lpRectInfo)
  3077. #define MonthCal_GetMonthDelta(hwnd) SNDMSG(hwnd,MCM_GETMONTHDELTA,0,0)
  3078. #define MonthCal_GetMonthRange(hwnd,flag,systimearray) SNDMSG(hwnd,MCM_GETMONTHRANGE,(WPARAM)flag,(LPARAM)systimearray)
  3079. #define MonthCal_GetRange(hwnd,systimearray) SNDMSG(hwnd,MCM_GETRANGE,0,(LPARAM)systimearray)
  3080. #define MonthCal_GetSelRange(hwnd,systimearray) SNDMSG(hwnd,MCM_GETSELRANGE,0,(LPARAM)systimearray)
  3081. #define MonthCal_GetToday(hwnd,systime) SNDMSG(hwnd,MCM_GETTODAY,0,(LPARAM)systime)
  3082. #define MonthCal_GetUnicodeFormat(hwnd) SNDMSG(hwnd,MCM_GETUNICODEFORMAT,0,0)
  3083. #define MonthCal_HitTest(hwnd,pmchittest) SNDMSG(hwnd,MCM_HITTEST,0,(LPARAM)pmchittest)
  3084. #define MonthCal_SetColor(hwnd,icolor,clr) SNDMSG(hwnd,MCM_SETCOLOR,(WPARAM)icolor,(LPARAM)clr)
  3085. #define MonthCal_SetCurSel(hwnd,lpsystime) SNDMSG(hwnd,MCM_SETCURSEL,0,(LPARAM)lpsystime)
  3086. #define MonthCal_SetDayState(hwnd,imonths,lpdatestatearray) SNDMSG(hwnd,MCM_SETDAYSTATE,(WPARAM)imonths,(LPARAM)lpdatestatearray)
  3087. #define MonthCal_SetFirstDayOfWeek(hwnd,iday) SNDMSG(hwnd,MCM_SETFIRSTDAYOFWEEK,0,(LPARAM)iday)
  3088. #define MonthCal_SetMaxSelCount(hwnd,imax) SNDMSG(hwnd,MCM_SETMAXSELCOUNT,(WPARAM)imax,0)
  3089. #define MonthCal_SetMonthDelta(hwnd,idelta) SNDMSG(hwnd,MCM_SETMONTHDELTA,(WPARAM)idelta,0)
  3090. #define MonthCal_SetSelRange(hwnd,systimearray) SNDMSG(hwnd,MCM_SETSELRANGE,0,(LPARAM)systimearray)
  3091. #define MonthCal_SetToday(hwnd,systime) SNDMSG(hwnd,MCM_SETTODAY,0,(LPARAM)systime)
  3092. #define MonthCal_SetUnicodeFormat(hwnd,unicode) SNDMSG(hwnd,MCM_SETUNICODEFORMAT,(WPARAM)unicode,0)
  3093. #define MonthCal_SetRange(w,f,st) (BOOL)SNDMSG((w),MCM_SETRANGE,(WPARAM)(f),(LPARAM)(st))
  3094. BOOL WINAPI ShowHideMenuCtl(HWND,UINT,PINT);
  3095. #define TabCtrl_GetItem(w,i,p) (BOOL)SNDMSG((w),TCM_GETITEM,i,(LPARAM)(TC_ITEM*)(p))
  3096. #define TabCtrl_SetItem(w,i,p) (BOOL)SNDMSG((w),TCM_SETITEM,i,(LPARAM)(TC_ITEM*)(p))
  3097. #define TabCtrl_InsertItem(w,i,p) (int)SNDMSG((w),TCM_INSERTITEM,i,(LPARAM)(const TC_ITEM*)(p))
  3098. #define TabCtrl_DeleteItem(w,i) (BOOL)SNDMSG((w),TCM_DELETEITEM,i,0)
  3099. #define TabCtrl_DeleteAllItems(w) (BOOL)SNDMSG((w),TCM_DELETEALLITEMS,0,0)
  3100. #define TabCtrl_GetItemRect(w,i,p) (BOOL)SNDMSG((w),TCM_GETITEMRECT,i,(LPARAM)(LPRECT)(p))
  3101. #define TabCtrl_GetCurSel(w) (int)SNDMSG((w),TCM_GETCURSEL,0,0)
  3102. #define TabCtrl_SetCurSel(w,i) (int)SNDMSG((w),TCM_SETCURSEL,i,0)
  3103. #define TabCtrl_HitTest(w,p) (int)SNDMSG((w),TCM_HITTEST,0,(LPARAM)(TC_HITTESTINFO*)(p))
  3104. #define TabCtrl_SetItemExtra(w,c) (BOOL)SNDMSG((w),TCM_SETITEMEXTRA,c,0)
  3105. #define TabCtrl_AdjustRect(w,b,p) (int)SNDMSG((w),TCM_ADJUSTRECT,b,(LPARAM)(LPRECT)p)
  3106. #define TabCtrl_SetItemSize(w,x,y) (DWORD)SNDMSG((w),TCM_SETITEMSIZE,0,MAKELPARAM(x,y))
  3107. #define TabCtrl_RemoveImage(w,i) (void)SNDMSG((w),TCM_REMOVEIMAGE,i,0)
  3108. #define TabCtrl_SetPadding(w,x,y) (void)SNDMSG((w),TCM_SETPADDING,0,MAKELPARAM(x,y))
  3109. #define TabCtrl_GetRowCount(w) (int)SNDMSG((w),TCM_GETROWCOUNT,0,0)
  3110. #define TabCtrl_GetToolTips(w) (HWND)SNDMSG((w),TCM_GETTOOLTIPS,0,0)
  3111. #define TabCtrl_SetToolTips(w,t) (void)SNDMSG((w),TCM_SETTOOLTIPS,(WPARAM)t,0)
  3112. #define TabCtrl_GetCurFocus(w) (int)SNDMSG((w),TCM_GETCURFOCUS,0,0)
  3113. #define TabCtrl_SetCurFocus(w,i) (void)SNDMSG((w),TCM_SETCURFOCUS,i,0)
  3114. #define TabCtrl_GetImageList(w) (HIMAGELIST)SNDMSG((w),TCM_GETIMAGELIST,0,0)
  3115. #define TabCtrl_SetImageList(w,h) (HIMAGELIST)SNDMSG((w),TCM_SETIMAGELIST,0,(LPARAM)(UINT)(h))
  3116. #define TabCtrl_GetItemCount(w) (int)SNDMSG((w),TCM_GETITEMCOUNT,0,0)
  3117. BOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT);
  3118. #define TreeView_InsertItem(w,i) (HTREEITEM)SNDMSG((w),TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)(i))
  3119. #define TreeView_DeleteItem(w,i) (BOOL)SNDMSG((w),TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(i))
  3120. #define TreeView_DeleteAllItems(w) (BOOL)SNDMSG((w),TVM_DELETEITEM,0,(LPARAM)TVI_ROOT)
  3121. #define TreeView_Expand(w,i,c) (BOOL)SNDMSG((w),TVM_EXPAND,c,(LPARAM)(HTREEITEM)(i))
  3122. #define TreeView_GetItemRect(w,i,p,c) (*(HTREEITEM*)p=(i),(BOOL)SNDMSG((w),TVM_GETITEMRECT,c,(LPARAM)(LPRECT)(p)))
  3123. #define TreeView_GetCount(w) (UINT)SNDMSG((w),TVM_GETCOUNT,0,0)
  3124. #define TreeView_GetIndent(w) (UINT)SNDMSG((w),TVM_GETINDENT,0,0)
  3125. #define TreeView_SetIndent(w,i) (BOOL)SNDMSG((w),TVM_SETINDENT,i,0)
  3126. #define TreeView_GetImageList(w,i) (HIMAGELIST)SNDMSG((w),TVM_GETIMAGELIST,i,0)
  3127. #define TreeView_SetImageList(w,h,i) (HIMAGELIST)SNDMSG((w),TVM_SETIMAGELIST,i,(LPARAM)(HIMAGELIST)(h))
  3128. #define TreeView_GetNextItem(w,i,c) (HTREEITEM)SNDMSG((w),TVM_GETNEXTITEM,c,(LPARAM)(HTREEITEM)(i))
  3129. #define TreeView_GetChild(w,i)    TreeView_GetNextItem(w,i,TVGN_CHILD)
  3130. #define TreeView_GetNextSibling(w,i)    TreeView_GetNextItem(w,i,TVGN_NEXT)
  3131. #define TreeView_GetPrevSibling(w,i)    TreeView_GetNextItem(w,i,TVGN_PREVIOUS)
  3132. #define TreeView_GetParent(w,i)    TreeView_GetNextItem(w,i,TVGN_PARENT)
  3133. #define TreeView_GetFirstVisible(w)    TreeView_GetNextItem(w,NULL,TVGN_FIRSTVISIBLE)
  3134. #define TreeView_GetNextVisible(w,i)    TreeView_GetNextItem(w,i,TVGN_NEXTVISIBLE)
  3135. #define TreeView_GetPrevVisible(w,i)    TreeView_GetNextItem(w,i,TVGN_PREVIOUSVISIBLE)
  3136. #define TreeView_GetSelection(w)    TreeView_GetNextItem(w,NULL,TVGN_CARET)
  3137. #define TreeView_GetDropHilight(w)    TreeView_GetNextItem(w,NULL,TVGN_DROPHILITE)
  3138. #define TreeView_GetRoot(w)    TreeView_GetNextItem(w,NULL,TVGN_ROOT)
  3139. #define TreeView_Select(w,i,c) (BOOL)SNDMSG((w),TVM_SELECTITEM,c,(LPARAM)(HTREEITEM)(i))
  3140. #define TreeView_SelectItem(w,i)    TreeView_Select(w,i,TVGN_CARET)
  3141. #define TreeView_SelectDropTarget(w,i)    TreeView_Select(w,i,TVGN_DROPHILITE)
  3142. #define TreeView_SelectSetFirstVisible(w,i)    TreeView_Select(w,i,TVGN_FIRSTVISIBLE)
  3143. #define TreeView_GetItem(w,i) (BOOL)SNDMSG((w),TVM_GETITEM,0,(LPARAM)(TV_ITEM*)(i))
  3144. #define TreeView_SetItem(w,i) (BOOL)SNDMSG((w),TVM_SETITEM,0,(LPARAM)(const TV_ITEM*)(i))
  3145. #define TreeView_EditLabel(w,i) (HWND)SNDMSG((w),TVM_EDITLABEL,0,(LPARAM)(HTREEITEM)(i))
  3146. #define TreeView_GetEditControl(w) (HWND)SNDMSG((w),TVM_GETEDITCONTROL,0,0)
  3147. #define TreeView_GetVisibleCount(w) (UINT)SNDMSG((w),TVM_GETVISIBLECOUNT,0,0)
  3148. #define TreeView_HitTest(w,p) (HTREEITEM)SNDMSG((w),TVM_HITTEST,0,(LPARAM)(LPTV_HITTESTINFO)(p))
  3149. #define TreeView_CreateDragImage(w,i) (HIMAGELIST)SNDMSG((w),TVM_CREATEDRAGIMAGE,0,(LPARAM)(HTREEITEM)(i))
  3150. #define TreeView_SortChildren(w,i,r) (BOOL)SNDMSG((w),TVM_SORTCHILDREN,r,(LPARAM)(HTREEITEM)(i))
  3151. #define TreeView_EnsureVisible(w,i) (BOOL)SNDMSG((w),TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(i))
  3152. #define TreeView_SortChildrenCB(w,s,r) (BOOL)SNDMSG((w),TVM_SORTCHILDRENCB,r,(LPARAM)(LPTVSORTCB)(s))
  3153. #define TreeView_EndEditLabelNow(w,f) (BOOL)SNDMSG((w),TVM_ENDEDITLABELNOW,f,0)
  3154. #define TreeView_GetISearchString(w,s) (BOOL)SNDMSG((w),TVM_GETISEARCHSTRING,0,(LPARAM)s)
  3155. #if (_WIN32_IE >= 0x0300)
  3156. #define ListView_ApproximateViewRect(w,iw,ih,i) (DWORD)SNDMSG((w),LVM_APPROXIMATEVIEWRECT,(i),MAKELPARAM((iw),(ih)))
  3157. #define ListView_SetExtendedListViewStyle(w,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,0,(s))
  3158. #define ListView_GetExtendedListViewStyle(w) (DWORD)SNDMSG((w),LVM_GETEXTENDEDLISTVIEWSTYLE,0,0)
  3159. #define ListView_SetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_SETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
  3160. #define ListView_GetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_GETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
  3161. #define ListView_GetHeader(w) (HWND)SNDMSG((w),LVM_GETHEADER,0,0)
  3162. #define ListView_GetHotCursor(w) (HCURSOR)SNDMSG((w),LVM_GETHOTCURSOR,0,0)
  3163. #define ListView_GetHotItem(w) (INT)SNDMSG((w),LVM_GETHOTITEM,0,0)
  3164. #define ListView_GetSubItemRect(w,i,is,c,p) (BOOL)SNDMSG((w),LVM_GETSUBITEMRECT,(WPARAM)(int)(i),((p)?(((LPRECT)(p))->left=(c),(((LPRECT)(p))->top=(is)),(LPARAM)(LPRECT)(p)):0))
  3165. #define ListView_SetHotCursor(w,c) (HCURSOR)SNDMSG((w),LVM_SETHOTCURSOR,0,(LPARAM)(c))
  3166. #define ListView_SetHotItem(w,i) (int)SNDMSG((w),LVM_SETHOTITEM,(WPARAM)(i),0)
  3167. #define ListView_SetIconSpacing(w,x,y) (DWORD)SNDMSG((w),LVM_SETICONSPACING,0,MAKELONG(x,y))
  3168. #define ListView_SubItemHitTest(w,p) (int)SNDMSG((w),LVM_SUBITEMHITTEST,0,(LPARAM)(LPLVHITTESTINFO)(p))
  3169. #define ListView_SetItemCountEx(w, i, f) SNDMSG((w), LVM_SETITEMCOUNT, (WPARAM)(i), (LPARAM)(f))
  3170. WINBOOL WINAPI ImageList_SetImageCount(HIMAGELIST,UINT);
  3171. WINBOOL WINAPI ImageList_Copy(HIMAGELIST,int,HIMAGELIST,int,UINT);
  3172. WINBOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
  3173. #define TabCtrl_SetMinTabWidth(hwnd, x) SNDMSG((hwnd), TCM_SETMINTABWIDTH, 0, x)
  3174. #define TabCtrl_DeselectAll(hwnd, fExcludeFocus) SNDMSG((hwnd), TCM_DESELECTALL, fExcludeFocus, 0)
  3175. #define TreeView_GetToolTips(w) (HWND)SNDMSG((w),TVM_GETTOOLTIPS,0,0)
  3176. #define TreeView_SetToolTips(w,wt) (HWND)SNDMSG((w),TVM_SETTOOLTIPS,(WPARAM)(wt),0)
  3177. #endif
  3178. #if (_WIN32_IE >= 0x0400)
  3179. #define ListView_GetBkImage(h,plvbki) (BOOL)SNDMSG((h), LVM_GETBKIMAGE, 0, (LPARAM)(plvbki))
  3180. #define ListView_SetBkImage(h, plvbki) (BOOL)SNDMSG((h), LVM_SETBKIMAGE, 0, (LPARAM)(plvbki))
  3181. #define ListView_SetExtendedListViewStyleEx(w,m,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,(m),(s))
  3182. #define ListView_SetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_SETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
  3183. #define ListView_GetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_GETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
  3184. #define ListView_GetNumberOfWorkAreas(w,n) (BOOL)SNDMSG((w),LVM_GETNUMBEROFWORKAREAS,0,(LPARAM)(UINT *)(n))
  3185. #define ListView_SetHoverTime(w,t) (DWORD)SNDMSG((w),LVM_SETHOVERTIME,0,(LPARAM)(t))
  3186. #define ListView_GetHoverTime(w) (DWORD)SNDMSG((w),LVM_GETHOVERTIME,0,0)
  3187. #define ListView_GetSelectionMark(w) (INT)SNDMSG((w),LVM_GETSELECTIONMARK,0,0)
  3188. #define ListView_SetSelectionMark(w,i) (INT)SNDMSG((w),LVM_SETSELECTIONMARK,0,(LPARAM)(i))
  3189. #define ListView_SetToolTips(w,n) (HWND)SNDMSG((w),LVM_SETTOOLTIPS,(WPARAM)(n),0)
  3190. #define ListView_GetToolTips(w) (HWND)SNDMSG((w),LVM_GETTOOLTIPS,0,0)
  3191. #define ListView_SetUnicodeFormat(w, f) (BOOL)SNDMSG((w), LVM_SETUNICODEFORMAT, (WPARAM)(f), 0)
  3192. #define ListView_GetUnicodeFormat(w) (BOOL)SNDMSG((w), LVM_GETUNICODEFORMAT, 0, 0)
  3193. #define TabCtrl_HighlightItem(hwnd, i, fHighlight) SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)i, (LPARAM)MAKELONG (fHighlight, 0))
  3194. #define TabCtrl_SetExtendedStyle(hwnd, dw) SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw)
  3195. #define TabCtrl_GetExtendedStyle(hwnd) SNDMSG((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0)
  3196. #define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) SNDMSG((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
  3197. #define TabCtrl_GetUnicodeFormat(hwnd) SNDMSG((hwnd), TCM_GETUNICODEFORMAT, 0, 0)
  3198. #define TreeView_GetBkColor(w) (COLORREF)SNDMSG((w),TVM_GETBKCOLOR,0,0)
  3199. #define TreeView_GetInsertMarkColor(w) (COLORREF)SNDMSG((w),TVM_GETINSERTMARKCOLOR,0,0)
  3200. #define TreeView_GetItemHeight(w) (int)SNDMSG((w),TVM_GETITEMHEIGHT,0,0)
  3201. #define TreeView_GetScrollTime(w) (UINT)SNDMSG((w),TVM_GETSCROLLTIME,0,0)
  3202. #define TreeView_GetTextColor(w) (COLORREF)SNDMSG((w),TVM_GETTEXTCOLOR,0,0)
  3203. #define TreeView_SetBkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETBKCOLOR,0,(LPARAM)(c))
  3204. #define TreeView_SetInsertMarkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETINSERTMARKCOLOR,0,(LPARAM)(c))
  3205. #define TreeView_SetItemHeight(w,h) (int)SNDMSG((w),TVM_SETITEMHEIGHT,(WPARAM)(h),0)
  3206. #define TreeView_SetScrollTime(w,t) (UINT)SNDMSG((w),TVM_SETSCROLLTIME,(WPARAM)(UINT)(t),0)
  3207. #define TreeView_SetTextColor(w,c) (COLORREF)SNDMSG((w),TVM_SETTEXTCOLOR,0,(LPARAM)(c))
  3208. #define TreeView_SetInsertMark(w,i,a) (BOOL)SNDMSG((w),TVM_SETINSERTMARK,(WPARAM)(a),(LPARAM)(i))
  3209. #define TreeView_SetUnicodeFormat(w,u) (BOOL)SNDMSG((w),TVM_SETUNICODEFORMAT,(WPARAM)(u),0)
  3210. #define TreeView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),TVM_GETUNICODEFORMAT,0,0)
  3211. #define TreeView_GetLastVisible(w) TreeView_GetNextItem(w,NULL,TVGN_LASTVISIBLE)
  3212. #endif
  3213. #if (_WIN32_IE >= 0x0500)
  3214. #define TreeView_GetItemState(w,i,m) (UINT)SNDMSG((w),TVM_GETITEMSTATE,(WPARAM)(i),(LPARAM)(m))
  3215. #define TreeView_SetItemState(w,i,d,m) \
  3216. { \
  3217.     TVITEM _tvi;\
  3218.     _tvi.mask=TVIF_STATE;\
  3219.     _tvi.stateMask=m;\
  3220.     _tvi.state=d;\
  3221.     SNDMSG((w),TVM_SETITEM,0,(LPARAM)(TVITEM*)&_tvi);\
  3222. }
  3223. #endif
  3224.  
  3225. #ifdef UNICODE
  3226. typedef HDITEMW HDITEM;
  3227. typedef TOOLINFOW TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
  3228. typedef TTHITTESTINFOW TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
  3229. typedef TOOLTIPTEXTW TOOLTIPTEXT,*LPTOOLTIPTEXT;
  3230. typedef NMTTDISPINFOW NMTTDISPINFO, *LPNMTTDISPINFO;
  3231. typedef TV_ITEMW TV_ITEM,*LPTV_ITEM;
  3232. typedef TVITEMW TVITEM,*LPTVITEM;
  3233. #if (_WIN32_IE >= 0x0400)
  3234. typedef TVITEMEXW TVITEMEX,*LPTVITEMEX;
  3235. #endif
  3236. typedef TV_INSERTSTRUCTW TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
  3237. typedef TVINSERTSTRUCTW TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
  3238. typedef NM_TREEVIEWW NM_TREEVIEW,*LPNM_TREEVIEW;
  3239. typedef NMTREEVIEWW NMTREEVIEW,*LPNMTREEVIEW;
  3240. typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
  3241. #define ACM_OPEN ACM_OPENW
  3242. #define COMBOBOXEXITEM    COMBOBOXEXITEMW
  3243. #define PCOMBOBOXEXITEM    PCOMBOBOXEXITEMW
  3244. #define PCCOMBOBOXEXITEM    PCCOMBOBOXEXITEMW
  3245. #define CBEM_INSERTITEM    CBEM_INSERTITEMW
  3246. #define CBEM_SETITEM    CBEM_SETITEMW
  3247. #define CBEM_GETITEM    CBEM_GETITEMW
  3248. #define CBEN_ENDEDIT    CBEN_ENDEDITW
  3249. #define NMCBEENDEDIT    NMCBEENDEDITW
  3250. #define LPNMCBEENDEDIT    LPNMCBEENDEDITW
  3251. #define PNMCBEENDEDIT    PNMCBEENDEDITW
  3252. #if _WIN32_IE >= 0x0400
  3253. #define NMCOMBOBOXEX    NMCOMBOBOXEXW
  3254. #define PNMCOMBOBOXEX    PNMCOMBOBOXEXW
  3255. #define CBEN_GETDISPINFO    CBEN_GETDISPINFOW
  3256. #define CBEN_DRAGBEGIN    CBEN_DRAGBEGINW
  3257. #define NMCBEDRAGBEGIN    NMCBEDRAGBEGINW
  3258. #define LPNMCBEDRAGBEGIN    LPNMCBEDRAGBEGINW
  3259. #define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINW
  3260. #endif /* _WIN32_IE >= 0x0400 */
  3261. #define SB_GETTEXT    SB_GETTEXTW
  3262. #define SB_SETTEXT    SB_SETTEXTW
  3263. #define SB_GETTEXTLENGTH    SB_GETTEXTLENGTHW
  3264. #define HDM_INSERTITEM HDM_INSERTITEMW
  3265. #define HDM_GETITEM HDM_GETITEMW
  3266. #define HDM_SETITEM HDM_SETITEMW
  3267. #define HDN_ITEMCHANGING    HDN_ITEMCHANGINGW
  3268. #define HDN_ITEMCHANGED    HDN_ITEMCHANGEDW
  3269. #define HDN_ITEMCLICK    HDN_ITEMCLICKW
  3270. #define HDN_ITEMDBLCLICK    HDN_ITEMDBLCLICKW
  3271. #define HDN_DIVIDERDBLCLICK    HDN_DIVIDERDBLCLICKW
  3272. #define HDN_BEGINTRACK    HDN_BEGINTRACKW
  3273. #define HDN_ENDTRACK    HDN_ENDTRACKW
  3274. #define HDN_TRACK    HDN_TRACKW
  3275. #if (_WIN32_IE >= 0x0300)
  3276. #define HDN_GETDISPINFO HDN_GETDISPINFOW
  3277. #endif
  3278. #define HD_NOTIFY HD_NOTIFYW
  3279. #define TBSAVEPARAMS TBSAVEPARAMSW
  3280. #define TB_GETBUTTONTEXT TB_GETBUTTONTEXTW
  3281. #define TB_SAVERESTORE TB_SAVERESTOREW
  3282. #define TB_ADDSTRING TB_ADDSTRINGW
  3283. #define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW
  3284. #if _WIN32_IE >= 0x400
  3285. #define TB_GETBUTTONINFO TB_GETBUTTONINFOW
  3286. #define TB_SETBUTTONINFO TB_SETBUTTONINFOW
  3287. #define TB_INSERTBUTTON TB_INSERTBUTTONW
  3288. #define TB_ADDBUTTONS TB_ADDBUTTONSW
  3289. #define TB_MAPACCELERATOR TB_MAPACCELERATORW
  3290. #define TB_GETSTRING TB_GETSTRINGW
  3291. #define TBBUTTONINFO TBBUTTONINFOW
  3292. #define LPTBBUTTONINFO LPTBBUTTONINFOW
  3293. #define TBN_GETDISPINFO TBN_GETDISPINFOW
  3294. #define NMTBDISPINFO NMTBDISPINFOW
  3295. #define LPNMTBDISPINFO LPNMTBDISPINFOW
  3296. #define NMTBGETINFOTIP NMTBGETINFOTIPW
  3297. #define LPNMTBGETINFOTIP LPNMTBGETINFOTIPW
  3298. #endif
  3299. #define TBNOTIFY TBNOTIFYW
  3300. #define LPTBNOTIFY LPTBNOTIFYW
  3301. #define NMTOOLBAR NMTOOLBARW
  3302. #define LPNMTOOLBAR LPNMTOOLBARW
  3303. #define TTM_ADDTOOL    TTM_ADDTOOLW
  3304. #define TTM_DELTOOL    TTM_DELTOOLW
  3305. #define TTM_NEWTOOLRECT    TTM_NEWTOOLRECTW
  3306. #define TTM_GETTOOLINFO    TTM_GETTOOLINFOW
  3307. #define TTM_SETTOOLINFO    TTM_SETTOOLINFOW
  3308. #define TTM_HITTEST    TTM_HITTESTW
  3309. #define TTM_GETTEXT    TTM_GETTEXTW
  3310. #define TTM_UPDATETIPTEXT    TTM_UPDATETIPTEXTW
  3311. #define TTM_ENUMTOOLS    TTM_ENUMTOOLSW
  3312. #define TTM_GETCURRENTTOOL    TTM_GETCURRENTTOOLW
  3313. #define TTN_NEEDTEXT TTN_NEEDTEXTW
  3314. #define TTN_GETDISPINFO TTN_GETDISPINFOW
  3315. #define SB_GETTEXT    SB_GETTEXTW
  3316. #define SB_SETTEXT    SB_SETTEXTW
  3317. #define SB_GETTEXTLENGTH    SB_GETTEXTLENGTHW
  3318. #define LV_ITEM LV_ITEMW
  3319. #define LVITEM LVITEMW
  3320. #define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW
  3321. #if _WIN32_IE >= 0x0400
  3322. #define LVBKIMAGE    LVBKIMAGEW
  3323. #define LPLVBKIMAGE    LPLVBKIMAGEW
  3324. #define LVM_SETBKIMAGE    LVM_SETBKIMAGEW
  3325. #define LVM_GETBKIMAGE    LVM_GETBKIMAGEW
  3326. #endif /* _WIN32_IE >= 0x400 */
  3327. #define LVM_GETITEM    LVM_GETITEMW
  3328. #define LVM_SETITEM LVM_SETITEMW
  3329. #define LVM_INSERTITEM LVM_INSERTITEMW
  3330. #define LV_FINDINFO LV_FINDINFOW
  3331. #define LVFINDINFO LVFINDINFOW
  3332. #define LPFINDINFO LPFINDINFOW
  3333. #define LVM_FINDITEM LVM_FINDITEMW
  3334. #define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHW
  3335. #define LVM_EDITLABEL LVM_EDITLABELW
  3336. #define LV_COLUMN LV_COLUMNW
  3337. #define LVCOLUMN LVCOLUMNW
  3338. #define LVM_GETCOLUMN LVM_GETCOLUMNW
  3339. #define LVM_SETCOLUMN LVM_SETCOLUMNW
  3340. #define LVM_INSERTCOLUMN LVM_INSERTCOLUMNW
  3341. #define LVM_GETITEMTEXT LVM_GETITEMTEXTW
  3342. #define LVM_SETITEMTEXT LVM_SETITEMTEXTW
  3343. #define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGW
  3344. #define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITW
  3345. #define LVN_ENDLABELEDIT LVN_ENDLABELEDITW
  3346. #define LVN_GETDISPINFO LVN_GETDISPINFOW
  3347. #define LVN_SETDISPINFO LVN_SETDISPINFOW
  3348. #define LVN_GETINFOTIP LVN_GETINFOTIPW
  3349. #define NMLVGETINFOTIP NMLVGETINFOTIPW
  3350. #define LPNMLVGETINFOTIP LPNMLVGETINFOTIPW
  3351. #define LV_DISPINFO LV_DISPINFOW
  3352. #define NMLVDISPINFO NMLVDISPINFOW
  3353. #define LPNMLVDISPINFO LPNMLVDISPINFOW
  3354. #define TVM_INSERTITEM TVM_INSERTITEMW
  3355. #define TVM_GETITEM TVM_GETITEMW
  3356. #define TVM_SETITEM TVM_SETITEMW
  3357. #define TVM_EDITLABEL TVM_EDITLABELW
  3358. #define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGW
  3359. #define TV_DISPINFO NMTVDISPINFOW
  3360. #define NMTVDISPINFO NMTVDISPINFOW
  3361. #define LPNMTVDISPINFO LPNMTVDISPINFOW
  3362. #if (_WIN32_IE >= 0x0400)
  3363. #define NMTVGETINFOTIP NMTVGETINFOTIPW
  3364. #define LPNMTVGETINFOTIP LPNMTVGETINFOTIPW
  3365. #define TVN_GETINFOTIP TVN_GETINFOTIPW
  3366. #endif
  3367. #define TVN_SELCHANGING TVN_SELCHANGINGW
  3368. #define TVN_SELCHANGED TVN_SELCHANGEDW
  3369. #define TVN_GETDISPINFO TVN_GETDISPINFOW
  3370. #define TVN_SETDISPINFO TVN_SETDISPINFOW
  3371. #define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGW
  3372. #define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDW
  3373. #define TVN_BEGINDRAG TVN_BEGINDRAGW
  3374. #define TVN_BEGINRDRAG TVN_BEGINRDRAGW
  3375. #define TVN_DELETEITEM TVN_DELETEITEMW
  3376. #define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITW
  3377. #define TVN_ENDLABELEDIT TVN_ENDLABELEDITW
  3378. #define TC_ITEMHEADER TC_ITEMHEADERW
  3379. #define TC_ITEM TC_ITEMW
  3380. #define TCITEM TCITEMW
  3381. #define LPTCITEM LPTCITEMW
  3382. #define TCM_GETITEM TCM_GETITEMW
  3383. #define TCM_SETITEM TCM_SETITEMW
  3384. #define TCM_INSERTITEM TCM_INSERTITEMW
  3385. #define CreateStatusWindow CreateStatusWindowW
  3386. #define DrawStatusText DrawStatusTextW
  3387. #define ImageList_LoadImage ImageList_LoadImageW
  3388. #define DTM_SETFORMAT DTM_SETFORMATW
  3389. #define DTN_USERSTRING DTN_USERSTRINGW
  3390. #define DTN_WMKEYDOWN DTN_WMKEYDOWNW
  3391. #define DTN_FORMAT DTN_FORMATW
  3392. #define DTN_FORMATQUERY DTN_FORMATQUERYW
  3393. typedef REBARBANDINFOW REBARBANDINFO,*LPREBARBANDINFO;
  3394. #define LPCREBARBANDINFO LPCREBARBANDINFOW
  3395. #define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE
  3396. #define RB_INSERTBAND RB_INSERTBANDW
  3397. #define RB_SETBANDINFO RB_SETBANDINFOW
  3398. #else /* UNICODE */
  3399. typedef HDITEMA HDITEM;
  3400. typedef TOOLINFOA TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
  3401. typedef TTHITTESTINFOA TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
  3402. typedef TOOLTIPTEXTA TOOLTIPTEXT,*LPTOOLTIPTEXT;
  3403. typedef NMTTDISPINFOA NMTTDISPINFO, *LPNMTTDISPINFO;
  3404. typedef TV_ITEMA TV_ITEM,*LPTV_ITEM;
  3405. typedef TVITEMA TVITEM,*LPTVITEM;
  3406. #if (_WIN32_IE >= 0x0400)
  3407. typedef TVITEMEXA TVITEMEX,*LPTVITEMEX;
  3408. #endif
  3409. typedef TV_INSERTSTRUCTA TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
  3410. typedef TVINSERTSTRUCTA TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
  3411. typedef NM_TREEVIEWA NM_TREEVIEW,*LPNM_TREEVIEW;
  3412. typedef NMTREEVIEWA NMTREEVIEW,*LPNMTREEVIEW;
  3413. typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
  3414. #define ACM_OPEN ACM_OPENA
  3415. #define COMBOBOXEXITEM    COMBOBOXEXITEMA
  3416. #define PCOMBOBOXEXITEM    PCOMBOBOXEXITEMA
  3417. #define PCCOMBOBOXEXITEM    PCCOMBOBOXEXITEMA
  3418. #define CBEM_INSERTITEM    CBEM_INSERTITEMA
  3419. #define CBEM_SETITEM    CBEM_SETITEMA
  3420. #define CBEM_GETITEM    CBEM_GETITEMA
  3421. #define CBEN_ENDEDIT    CBEN_ENDEDITA
  3422. #define NMCBEENDEDIT    NMCBEENDEDITA
  3423. #define LPNMCBEENDEDIT    LPNMCBEENDEDITA
  3424. #define PNMCBEENDEDIT    PNMCBEENDEDITA
  3425. #if _WIN32_IE >= 0x0400
  3426. #define TB_GETBUTTONINFO TB_GETBUTTONINFOA
  3427. #define TB_SETBUTTONINFO TB_SETBUTTONINFOA
  3428. #define TB_INSERTBUTTON TB_INSERTBUTTONA
  3429. #define TB_ADDBUTTONS TB_ADDBUTTONSA
  3430. #define TB_MAPACCELERATOR TB_MAPACCELERATORA
  3431. #define TB_GETSTRING TB_GETSTRINGA
  3432. #define NMCOMBOBOXEX    NMCOMBOBOXEXA
  3433. #define PNMCOMBOBOXEX    PNMCOMBOBOXEXA
  3434. #define CBEN_DRAGBEGIN    CBEN_DRAGBEGINA
  3435. #define CBEN_GETDISPINFO    CBEN_GETDISPINFOA
  3436. #define NMCBEDRAGBEGIN    NMCBEDRAGBEGINA
  3437. #define LPNMCBEDRAGBEGIN    LPNMCBEDRAGBEGINA
  3438. #define PNMCBEDRAGBEGIN    PNMCBEDRAGBEGINA
  3439. #define TBN_GETDISPINFO TBN_GETDISPINFOA
  3440. #define NMTBDISPINFO NMTBDISPINFOA
  3441. #define LPNMTBDISPINFO LPNMTBDISPINFOA
  3442. #define NMTBGETINFOTIP NMTBGETINFOTIPA
  3443. #define LPNMTBGETINFOTIP LPNMTBGETINFOTIPA
  3444. #endif /* _WIN32_IE >= 0x0400 */
  3445. #define SB_GETTEXT    SB_GETTEXTA
  3446. #define SB_SETTEXT    SB_SETTEXTA
  3447. #define SB_GETTEXTLENGTH    SB_GETTEXTLENGTHA
  3448. #define HDM_INSERTITEM HDM_INSERTITEMA
  3449. #define HDM_GETITEM HDM_GETITEMA
  3450. #define HDM_SETITEM HDM_SETITEMA
  3451. #define HDN_ITEMCHANGING    HDN_ITEMCHANGINGA
  3452. #define HDN_ITEMCHANGED    HDN_ITEMCHANGEDA
  3453. #define HDN_ITEMCLICK    HDN_ITEMCLICKA
  3454. #define HDN_ITEMDBLCLICK    HDN_ITEMDBLCLICKA
  3455. #define HDN_DIVIDERDBLCLICK    HDN_DIVIDERDBLCLICKA
  3456. #define HDN_BEGINTRACK    HDN_BEGINTRACKA
  3457. #define HDN_ENDTRACK    HDN_ENDTRACKA
  3458. #define HDN_TRACK    HDN_TRACKA
  3459. #if (_WIN32_IE >= 0x0300)
  3460. #define HDN_GETDISPINFO HDN_GETDISPINFOA
  3461. #endif
  3462. #define HD_NOTIFY HD_NOTIFYA
  3463. #define TBSAVEPARAMS TBSAVEPARAMSA
  3464. #define TB_GETBUTTONTEXT TB_GETBUTTONTEXTA
  3465. #define TB_SAVERESTORE TB_SAVERESTOREA
  3466. #define TB_ADDSTRING TB_ADDSTRINGA
  3467. #define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA
  3468. #if _WIN32_IE >= 0x400
  3469. #define TBBUTTONINFO TBBUTTONINFOA
  3470. #define LPTBBUTTONINFO LPTBBUTTONINFOA
  3471. #endif
  3472. #define TBNOTIFY TBNOTIFYA
  3473. #define LPTBNOTIFY LPTBNOTIFYA
  3474. #define NMTOOLBAR NMTOOLBARA
  3475. #define LPNMTOOLBAR LPNMTOOLBARA
  3476. #define TTM_ADDTOOL    TTM_ADDTOOLA
  3477. #define TTM_DELTOOL    TTM_DELTOOLA
  3478. #define TTM_NEWTOOLRECT    TTM_NEWTOOLRECTA
  3479. #define TTM_GETTOOLINFO    TTM_GETTOOLINFOA
  3480. #define TTM_SETTOOLINFO    TTM_SETTOOLINFOA
  3481. #define TTM_HITTEST    TTM_HITTESTA
  3482. #define TTM_GETTEXT    TTM_GETTEXTA
  3483. #define TTM_UPDATETIPTEXT    TTM_UPDATETIPTEXTA
  3484. #define TTM_ENUMTOOLS    TTM_ENUMTOOLSA
  3485. #define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLA
  3486. #define TTN_NEEDTEXT TTN_NEEDTEXTA
  3487. #define TTN_GETDISPINFO TTN_GETDISPINFOA
  3488. #define SB_GETTEXT    SB_GETTEXTA
  3489. #define SB_SETTEXT    SB_SETTEXTA
  3490. #define SB_GETTEXTLENGTH    SB_GETTEXTLENGTHA
  3491. #define LV_ITEM LV_ITEMA
  3492. #define LVITEM LVITEMA
  3493. #define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA
  3494. #if _WIN32_IE >= 0x0400
  3495. #define LVBKIMAGE    LVBKIMAGEA
  3496. #define LPLVBKIMAGE    LPLVBKIMAGEA
  3497. #define LVM_SETBKIMAGE    LVM_SETBKIMAGEA
  3498. #define LVM_GETBKIMAGE    LVM_GETBKIMAGEA
  3499. #endif /* _WIN32_IE >= 0x0400 */
  3500. #define LVM_GETITEM    LVM_GETITEMA
  3501. #define LVM_SETITEM LVM_SETITEMA
  3502. #define LVM_INSERTITEM LVM_INSERTITEMA
  3503. #define LV_FINDINFO LV_FINDINFOA
  3504. #define LVFINDINFO LVFINDINFOA
  3505. #define LPFINDINFO LPFINDINFOA
  3506. #define LVM_FINDITEM LVM_FINDITEMA
  3507. #define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHA
  3508. #define LVM_EDITLABEL LVM_EDITLABELA
  3509. #define LV_COLUMN LV_COLUMNA
  3510. #define LVCOLUMN LVCOLUMNA
  3511. #define LVM_GETCOLUMN LVM_GETCOLUMNA
  3512. #define LVM_SETCOLUMN LVM_SETCOLUMNA
  3513. #define LVM_INSERTCOLUMN LVM_INSERTCOLUMNA
  3514. #define LVM_GETITEMTEXT LVM_GETITEMTEXTA
  3515. #define LVM_SETITEMTEXT LVM_SETITEMTEXTA
  3516. #define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGA
  3517. #define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA
  3518. #define LVN_ENDLABELEDIT LVN_ENDLABELEDITA
  3519. #define LVN_GETDISPINFO LVN_GETDISPINFOA
  3520. #define LVN_SETDISPINFO LVN_SETDISPINFOA
  3521. #define LVN_GETINFOTIP LVN_GETINFOTIPA
  3522. #define NMLVGETINFOTIP NMLVGETINFOTIPA
  3523. #define LPNMLVGETINFOTIP LPNMLVGETINFOTIPA
  3524. #define LV_DISPINFO LV_DISPINFOA
  3525. #define NMLVDISPINFO NMLVDISPINFOA
  3526. #define LPNMLVDISPINFO LPNMLVDISPINFOA
  3527. #define TVM_INSERTITEM TVM_INSERTITEMA
  3528. #define TVM_GETITEM TVM_GETITEMA
  3529. #define TVM_SETITEM TVM_SETITEMA
  3530. #define TVM_EDITLABEL TVM_EDITLABELA
  3531. #define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGA
  3532. #define TV_DISPINFO NMTVDISPINFOA
  3533. #define NMTVDISPINFO NMTVDISPINFOA
  3534. #define LPNMTVDISPINFO LPNMTVDISPINFOA
  3535. #if (_WIN32_IE >= 0x0400)
  3536. #define NMTVGETINFOTIP NMTVGETINFOTIPA
  3537. #define LPNMTVGETINFOTIP LPNMTVGETINFOTIPA
  3538. #define TVN_GETINFOTIP TVN_GETINFOTIPA
  3539. #endif
  3540. #define TVN_SELCHANGING TVN_SELCHANGINGA
  3541. #define TVN_SELCHANGED TVN_SELCHANGEDA
  3542. #define TVN_GETDISPINFO TVN_GETDISPINFOA
  3543. #define TVN_SETDISPINFO TVN_SETDISPINFOA
  3544. #define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGA
  3545. #define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDA
  3546. #define TVN_BEGINDRAG TVN_BEGINDRAGA
  3547. #define TVN_BEGINRDRAG TVN_BEGINRDRAGA
  3548. #define TVN_DELETEITEM TVN_DELETEITEMA
  3549. #define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITA
  3550. #define TVN_ENDLABELEDIT TVN_ENDLABELEDITA
  3551. #define TC_ITEMHEADER TC_ITEMHEADERA
  3552. #define TC_ITEM TC_ITEMA
  3553. #define TCITEM TCITEMA
  3554. #define LPTCITEM LPTCITEMA
  3555. #define TCM_GETITEM TCM_GETITEMA
  3556. #define TCM_SETITEM TCM_SETITEMA
  3557. #define TCM_INSERTITEM TCM_INSERTITEMA
  3558. #define CreateStatusWindow CreateStatusWindowA
  3559. #define DrawStatusText DrawStatusTextA
  3560. #define ImageList_LoadImage ImageList_LoadImageA
  3561. #define DTM_SETFORMAT      DTM_SETFORMATA
  3562. #define DTN_USERSTRING DTN_USERSTRINGA
  3563. #define DTN_WMKEYDOWN DTN_WMKEYDOWNA
  3564. #define DTN_FORMAT DTN_FORMATA
  3565. #define DTN_FORMATQUERY DTN_FORMATQUERYA
  3566. typedef REBARBANDINFOA REBARBANDINFO,*LPREBARBANDINFO;
  3567. #define LPCREBARBANDINFO LPCREBARBANDINFOA
  3568. #define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE
  3569. #define RB_INSERTBAND RB_INSERTBANDA
  3570. #define RB_SETBANDINFO RB_SETBANDINFOA
  3571. #endif
  3572. #endif /* RC_INVOKED */
  3573.  
  3574. #ifdef __cplusplus
  3575. }
  3576. #endif
  3577. #endif
  3578.