home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 November / PCWorld_2000-11_cd.bin / Software / Topware / devc40 / _SETUP.5 / Group3 / commctrl.h < prev    next >
C/C++ Source or Header  |  1999-11-07  |  69KB  |  2,054 lines

  1. #ifndef _COMMCTRL_H
  2. #define _COMMCTRL_H
  3. #include <prsht.h>
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #ifndef _WIN32_IE
  8. /* define _WIN32_IE if you really want it */
  9. #if 0
  10. #define _WIN32_IE    0x0300
  11. #endif
  12. #endif
  13.  
  14. #define DRAGLISTMSGSTRING TEXT("commctrl_DragListMsg")
  15. #define ANIMATE_CLASSW    L"SysAnimate32"
  16. #define ANIMATE_CLASSA    "SysAnimate32"
  17. #define HOTKEY_CLASSA    "msctls_hotkey32"
  18. #define HOTKEY_CLASSW    L"msctls_hotkey32"
  19. #define PROGRESS_CLASSA    "msctls_progress32"
  20. #define PROGRESS_CLASSW    L"msctls_progress32"
  21. #define STATUSCLASSNAMEA    "msctls_statusbar32"
  22. #define STATUSCLASSNAMEW    L"msctls_statusbar32"
  23. #define TOOLBARCLASSNAMEW    L"ToolbarWindow32"
  24. #define TOOLBARCLASSNAMEA    "ToolbarWindow32"
  25. #define TOOLTIPS_CLASSW    L"tooltips_class32"
  26. #define TOOLTIPS_CLASSA    "tooltips_class32"
  27. #define TRACKBAR_CLASSA    "msctls_trackbar32"
  28. #define TRACKBAR_CLASSW    L"msctls_trackbar32"
  29. #define UPDOWN_CLASSA    "msctls_updown32"
  30. #define UPDOWN_CLASSW    L"msctls_updown32"
  31. #define WC_LISTVIEWA    "SysListView32"
  32. #define WC_LISTVIEWW    L"SysListView32"
  33. #define WC_TABCONTROLA    "SysTabControl32"
  34. #define WC_TABCONTROLW    L"SysTabControl32"
  35. #define WC_TREEVIEWA    "SysTreeView32"
  36. #define WC_TREEVIEWW    L"SysTreeView32"
  37. #define WC_HEADERA    "SysHeader32"
  38. #define WC_HEADERW     L"SysHeader32"
  39. #define DATETIMEPICK_CLASSW L"SysDateTimePick32"
  40. #define DATETIMEPICK_CLASSA "SysDateTimePick32"
  41. #define MONTHCAL_CLASSW L"SysMonthCal32"
  42. #define MONTHCAL_CLASSA "SysMonthCal32"
  43. #define REBARCLASSNAMEW L"ReBarWindow32"
  44. #define REBARCLASSNAMEA "ReBarWindow32"
  45. #define LVM_FIRST 0x1000
  46. #define TV_FIRST 0x1100
  47. #define HDM_FIRST 0x1200
  48. #define ACM_OPENA    (WM_USER+100)
  49. #define ACM_PLAY    (WM_USER+101)
  50. #define ACM_STOP    (WM_USER+102)
  51. #define ACM_OPENW    (WM_USER+103)
  52. #define ACN_START    1
  53. #define ACN_STOP    2
  54. #define DL_BEGINDRAG    1157
  55. #define DL_CANCELDRAG    1160
  56. #define DL_DRAGGING    1158
  57. #define DL_DROPPED    1159
  58. #define DL_CURSORSET    0
  59. #define DL_STOPCURSOR    1
  60. #define DL_COPYCURSOR    2
  61. #define DL_MOVECURSOR    3
  62. #define CCS_TOP    1
  63. #define CCS_NOMOVEY    2
  64. #define CCS_BOTTOM    3
  65. #define CCS_NORESIZE    4
  66. #define CCS_NOPARENTALIGN    8
  67. #define CCS_ADJUSTABLE    32
  68. #define CCS_NODIVIDER    64
  69. #if (_WIN32_IE >= 0x0300)
  70. #define CCS_VERT 128
  71. #define CCS_LEFT 129
  72. #define CCS_NOMOVEX 130
  73. #define CCS_RIGHT 131
  74. #endif
  75. #define CMB_MASKED    2
  76. #define MINSYSCOMMAND    SC_SIZE
  77. #define SBT_OWNERDRAW    0x1000
  78. #define SBT_NOBORDERS    256
  79. #define SBT_POPOUT    512
  80. #define SBT_RTLREADING    1024
  81. #define SB_SETTEXTA    (WM_USER+1)
  82. #define SB_SETTEXTW    (WM_USER+11)
  83. #define SB_GETTEXTA    (WM_USER+2)
  84. #define SB_GETTEXTW    (WM_USER+13)
  85. #define SB_GETTEXTLENGTHA    (WM_USER+3)
  86. #define SB_GETTEXTLENGTHW    (WM_USER+12)
  87. #define SB_SETPARTS    (WM_USER+4)
  88. #define SB_GETPARTS    (WM_USER+6)
  89. #define SB_GETBORDERS    (WM_USER+7)
  90. #define SB_SETMINHEIGHT    (WM_USER+8)
  91. #define SB_SIMPLE    (WM_USER+9)
  92. #define SB_GETRECT    (WM_USER+10)
  93. #define MSGF_COMMCTRL_BEGINDRAG    0x4200
  94. #define MSGF_COMMCTRL_SIZEHEADER    0x4201
  95. #define MSGF_COMMCTRL_DRAGSELECT    0x4202
  96. #define MSGF_COMMCTRL_TOOLBARCUST    0x4203
  97. #define ILC_COLOR 0
  98. #define ILC_COLOR4 4
  99. #define ILC_COLOR8 8
  100. #define ILC_COLOR16 16
  101. #define ILC_COLOR24 24
  102. #define ILC_COLOR32 32
  103. #define ILC_COLORDDB 254
  104. #define ILC_MASK 1
  105. #define ILC_PALETTE 2048
  106. #define ILD_BLEND25 2
  107. #define ILD_BLEND50 4
  108. #define ILD_SELECTED 4
  109. #define ILD_BLEND 4
  110. #define ILD_FOCUS 2
  111. #define ILD_MASK 16
  112. #define ILD_NORMAL 0
  113. #define ILD_TRANSPARENT 1
  114. #define HDS_HORZ    0
  115. #define HDS_BUTTONS    2
  116. #define HDS_HIDDEN    8
  117. #define NM_FIRST    0
  118. #define NM_LAST    (-99)
  119. #define LVN_FIRST    (-100)
  120. #define LVN_LAST    (-199)
  121. #define HDN_FIRST    (-300)
  122. #define HDN_LAST    (-399)
  123. #define TVN_FIRST    (-400)
  124. #define TVN_LAST    (-499)
  125. #define TTN_FIRST    (-520)
  126. #define TTN_LAST    (-549)
  127. #define TCN_FIRST    (-550)
  128. #define TCN_LAST    (-580)
  129. #define CDN_FIRST    (-601)
  130. #define CDN_LAST    (-699)
  131. #define TBN_FIRST    (-700)
  132. #define TBN_LAST    (-720)
  133. #define UDN_FIRST    (-721)
  134. #define UDN_LAST    (-740)
  135. #if (_WIN32_IE >= 0x0300)
  136. #define RBN_FIRST    (-831)
  137. #define RBN_LAST    (-859)
  138. #define MCN_FIRST    (-750)
  139. #define MCN_LAST    (-759)
  140. #define DTN_FIRST    (-760)
  141. #define DTN_LAST    (-799)
  142. #define CBEN_FIRST    (-800)
  143. #define CBEN_LAST    (-830)
  144. #endif
  145. #define HDI_WIDTH    1
  146. #define HDI_HEIGHT    1
  147. #define HDI_TEXT    2
  148. #define HDI_FORMAT    4
  149. #define HDI_LPARAM    8
  150. #define HDI_BITMAP    16
  151. #define HDF_LEFT    0
  152. #define HDF_RIGHT    1
  153. #define HDF_CENTER    2
  154. #define HDF_JUSTIFYMASK3
  155. #define HDF_RTLREADING    4
  156. #define HDF_OWNERDRAW    0x8000
  157. #define HDF_STRING    0x4000
  158. #define HDF_BITMAP    0x2000
  159. #define HDM_GETITEMCOUNT    HDM_FIRST
  160. #define HDM_INSERTITEMA    (HDM_FIRST+1)
  161. #define HDM_INSERTITEMW    (HDM_FIRST+10)
  162. #define HDM_DELETEITEM    (HDM_FIRST+2)
  163. #define HDM_GETITEMA    (HDM_FIRST+3)
  164. #define HDM_GETITEMW    (HDM_FIRST+11)
  165. #define HDM_SETITEMA    (HDM_FIRST+4)
  166. #define HDM_SETITEMW    (HDM_FIRST+12)
  167. #define HDM_LAYOUT    (HDM_FIRST+5)
  168. #define HHT_NOWHERE    1
  169. #define HHT_ONHEADER    2
  170. #define HHT_ONDIVIDER    4
  171. #define HHT_ONDIVOPEN    8
  172. #define HHT_ABOVE    256
  173. #define HHT_BELOW    512
  174. #define HHT_TORIGHT    1024
  175. #define HHT_TOLEFT    2048
  176. #define HDM_HITTEST    (HDM_FIRST+6)
  177. #define HDN_ITEMCHANGINGA    (HDN_FIRST-0)
  178. #define HDN_ITEMCHANGINGW    (HDN_FIRST-20)
  179. #define HDN_ITEMCHANGEDA    (HDN_FIRST-1)
  180. #define HDN_ITEMCHANGEDW    (HDN_FIRST-21)
  181. #define HDN_ITEMCLICKA    (HDN_FIRST-2)
  182. #define HDN_ITEMCLICKW    (HDN_FIRST-22)
  183. #define HDN_ITEMDBLCLICKA    (HDN_FIRST-3)
  184. #define HDN_ITEMDBLCLICKW    (HDN_FIRST-23)
  185. #define HDN_DIVIDERDBLCLICKA    (HDN_FIRST-5)
  186. #define HDN_DIVIDERDBLCLICKW    (HDN_FIRST-25)
  187. #define HDN_BEGINTRACKA    (HDN_FIRST-6)
  188. #define HDN_BEGINTRACKW    (HDN_FIRST-26)
  189. #define HDN_ENDTRACKA    (HDN_FIRST-7)
  190. #define HDN_ENDTRACKW    (HDN_FIRST-27)
  191. #define HDN_TRACKA    (HDN_FIRST-8)
  192. #define HDN_TRACKW    (HDN_FIRST-28)
  193. #define CMB_MASKED 2
  194. #define TBSTATE_CHECKED    1
  195. #define TBSTATE_PRESSED    2
  196. #define TBSTATE_ENABLED    4
  197. #define TBSTATE_HIDDEN    8
  198. #define TBSTATE_INDETERMINATE    16
  199. #define TBSTATE_WRAP    32
  200. #define TBSTYLE_BUTTON    0
  201. #define TBSTYLE_SEP    1
  202. #define TBSTYLE_CHECK    2
  203. #define TBSTYLE_GROUP    4
  204. #define TBSTYLE_CHECKGROUP    (TBSTYLE_GROUP|TBSTYLE_CHECK)
  205. #define TBSTYLE_TOOLTIPS    256
  206. #define TBSTYLE_WRAPABLE    512
  207. #define TBSTYLE_ALTDRAG    1024
  208. #define TB_ENABLEBUTTON    (WM_USER+1)
  209. #define TB_CHECKBUTTON    (WM_USER+2)
  210. #define TB_PRESSBUTTON    (WM_USER+3)
  211. #define TB_HIDEBUTTON    (WM_USER+4)
  212. #define TB_INDETERMINATE    (WM_USER+5)
  213. #define TB_ISBUTTONENABLED    (WM_USER+9)
  214. #define TB_ISBUTTONCHECKED    (WM_USER+10)
  215. #define TB_ISBUTTONPRESSED    (WM_USER+11)
  216. #define TB_ISBUTTONHIDDEN    (WM_USER+12)
  217. #define TB_ISBUTTONINDETERMINATE    (WM_USER+13)
  218. #define TB_SETSTATE    (WM_USER+17)
  219. #define TB_GETSTATE    (WM_USER+18)
  220. #define TB_ADDBITMAP    (WM_USER+19)
  221. #define HINST_COMMCTRL    ((HINSTANCE)-1)
  222. #define IDB_STD_SMALL_COLOR    0
  223. #define IDB_STD_LARGE_COLOR    1
  224. #define IDB_VIEW_SMALL_COLOR    4
  225. #define IDB_VIEW_LARGE_COLOR    5
  226. #define STD_CUT    0
  227. #define STD_COPY    1
  228. #define STD_PASTE    2
  229. #define STD_UNDO    3
  230. #define STD_REDOW    4
  231. #define STD_DELETE    5
  232. #define STD_FILENEW    6
  233. #define STD_FILEOPEN    7
  234. #define STD_FILESAVE    8
  235. #define STD_PRINTPRE    9
  236. #define STD_PROPERTIES    10
  237. #define STD_HELP    11
  238. #define STD_FIND    12
  239. #define STD_REPLACE    13
  240. #define STD_PRINT    14
  241. #define VIEW_LARGEICONS    0
  242. #define VIEW_SMALLICONS    1
  243. #define VIEW_LIST    2
  244. #define VIEW_DETAILS    3
  245. #define VIEW_SORTNAME    4
  246. #define VIEW_SORTSIZE    5
  247. #define VIEW_SORTDATE    6
  248. #define VIEW_SORTTYPE    7
  249. #define VIEW_PARENTFOLDER    8
  250. #define VIEW_NETCONNECT    9
  251. #define VIEW_NETDISCONNECT    10
  252. #define VIEW_NEWFOLDER    11
  253. #define TB_ADDBUTTONS    (WM_USER+20)
  254. #define TB_INSERTBUTTON    (WM_USER+21)
  255. #define TB_DELETEBUTTON    (WM_USER+22)
  256. #define TB_GETBUTTON    (WM_USER+23)
  257. #define TB_BUTTONCOUNT    (WM_USER+24)
  258. #define TB_COMMANDTOINDEX    (WM_USER+25)
  259. #define TB_SAVERESTOREA    (WM_USER+26)
  260. #define TB_SAVERESTOREW    (WM_USER+76)
  261. #define TB_CUSTOMIZE    (WM_USER+27)
  262. #define TB_ADDSTRINGA    (WM_USER+28)
  263. #define TB_ADDSTRINGW    (WM_USER+77)
  264. #define TB_GETITEMRECT    (WM_USER+29)
  265. #define TB_BUTTONSTRUCTSIZE    (WM_USER+30)
  266. #define TB_SETBUTTONSIZE    (WM_USER+31)
  267. #define TB_SETBITMAPSIZE    (WM_USER+32)
  268. #define TB_AUTOSIZE    (WM_USER+33)
  269. #define TB_GETTOOLTIPS    (WM_USER+35)
  270. #define TB_SETTOOLTIPS    (WM_USER+36)
  271. #define TB_SETPARENT    (WM_USER+37)
  272. #define TB_SETROWS    (WM_USER+39)
  273. #define TB_GETROWS    (WM_USER+40)
  274. #define TB_SETCMDID    (WM_USER+42)
  275. #define TB_CHANGEBITMAP    (WM_USER+43)
  276. #define TB_GETBITMAP    (WM_USER+44)
  277. #define TB_GETBUTTONTEXTA    (WM_USER+45)
  278. #define TB_GETBUTTONTEXTW    (WM_USER+75)
  279. #define TB_REPLACEBITMAP    (WM_USER+46)
  280. #define TBBF_LARGE 1
  281. #define TB_GETBITMAPFLAGS    (WM_USER+41)
  282. #define TBN_GETBUTTONINFOA    (TBN_FIRST-0)
  283. #define TBN_GETBUTTONINFOW    (TBN_FIRST-20)
  284. #define TBN_BEGINDRAG    (TBN_FIRST-1)
  285. #define TBN_ENDDRAG    (TBN_FIRST-2)
  286. #define TBN_BEGINADJUST    (TBN_FIRST-3)
  287. #define TBN_ENDADJUST    (TBN_FIRST-4)
  288. #define TBN_RESET    (TBN_FIRST-5)
  289. #define TBN_QUERYINSERT    (TBN_FIRST-6)
  290. #define TBN_QUERYDELETE    (TBN_FIRST-7)
  291. #define TBN_TOOLBARCHANGE    (TBN_FIRST-8)
  292. #define TBN_CUSTHELP    (TBN_FIRST-9)
  293. #define TTS_ALWAYSTIP    1
  294. #define TTS_NOPREFIX    2
  295. #define TTF_IDISHWND    1
  296. #define TTF_CENTERTIP    2
  297. #define TTF_RTLREADING    4
  298. #define TTF_SUBCLASS    16
  299. #define TTDT_AUTOMATIC    0
  300. #define TTDT_RESHOW    1
  301. #define TTDT_AUTOPOP    2
  302. #define TTDT_INITIAL    3
  303. #define TTM_ACTIVATE    (WM_USER+1)
  304. #define TTM_SETDELAYTIME    (WM_USER+3)
  305. #define TTM_ADDTOOLA    (WM_USER+4)
  306. #define TTM_ADDTOOLW    (WM_USER+50)
  307. #define TTM_DELTOOLA    (WM_USER+5)
  308. #define TTM_DELTOOLW    (WM_USER+51)
  309. #define TTM_NEWTOOLRECTA    (WM_USER+6)
  310. #define TTM_NEWTOOLRECTW    (WM_USER+52)
  311. #define TTM_RELAYEVENT    (WM_USER+7)
  312. #define TTM_GETTOOLINFOA    (WM_USER+8)
  313. #define TTM_GETTOOLINFOW    (WM_USER+53)
  314. #define TTM_SETTOOLINFOA    (WM_USER+9)
  315. #define TTM_SETTOOLINFOW    (WM_USER+54)
  316. #define TTM_HITTESTA    (WM_USER+10)
  317. #define TTM_HITTESTW    (WM_USER+55)
  318. #define TTM_GETTEXTA    (WM_USER+11)
  319. #define TTM_GETTEXTW    (WM_USER+56)
  320. #define TTM_UPDATETIPTEXTA    (WM_USER+12)
  321. #define TTM_UPDATETIPTEXTW    (WM_USER+57)
  322. #define TTM_GETTOOLCOUNT    (WM_USER +13)
  323. #define TTM_ENUMTOOLSA    (WM_USER+14)
  324. #define TTM_ENUMTOOLSW    (WM_USER+58)
  325. #define TTM_GETCURRENTTOOLA    (WM_USER+15)
  326. #define TTM_GETCURRENTTOOLW    (WM_USER+59)
  327. #define TTM_WINDOWFROMPOINT    (WM_USER+16)
  328. #if (_WIN32_IE >= 0x0300)
  329. #define TTM_TRACKACTIVATE      (WM_USER+17)  
  330. #define TTM_TRACKPOSITION      (WM_USER+18)  
  331. #define TTM_SETTIPBKCOLOR      (WM_USER+19)
  332. #define TTM_SETTIPTEXTCOLOR    (WM_USER+20)
  333. #define TTM_GETDELAYTIME       (WM_USER+21)
  334. #define TTM_GETTIPBKCOLOR      (WM_USER+22)
  335. #define TTM_GETTIPTEXTCOLOR    (WM_USER+23)
  336. #define TTM_SETMAXTIPWIDTH     (WM_USER+24)
  337. #define TTM_GETMAXTIPWIDTH     (WM_USER+25)
  338. #define TTM_SETMARGIN         (WM_USER+26)  
  339. #define TTM_GETMARGIN         (WM_USER+27)  
  340. #define TTM_POP              (WM_USER+28)
  341. #endif
  342. #if (_WIN32_IE >= 0x0400)            /* IE4.0 ??? */
  343. #define TTM_UPDATE            (WM_USER+29)
  344. #endif
  345. #define TTN_NEEDTEXTA    (TTN_FIRST-0)
  346. #define TTN_NEEDTEXTW    (TTN_FIRST-10)
  347. #define TTN_SHOW    (TTN_FIRST-1)
  348. #define TTN_POP    (TTN_FIRST-2)
  349. #define UD_MAXVAL    0x7fff
  350. #define UD_MINVAL    (-UD_MAXVAL)
  351. #define UDN_DELTAPOS (UDN_FIRST-1)
  352. #define UDS_WRAP    1
  353. #define UDS_SETBUDDYINT    2
  354. #define UDS_ALIGNRIGHT    4
  355. #define UDS_ALIGNLEFT    8
  356. #define UDS_AUTOBUDDY    16
  357. #define UDS_ARROWKEYS    32
  358. #define UDS_HORZ    64
  359. #define UDS_NOTHOUSANDS    128
  360. #define UDM_SETRANGE    (WM_USER+101)
  361. #define UDM_GETRANGE    (WM_USER+102)
  362. #define UDM_SETPOS    (WM_USER+103)
  363. #define UDM_GETPOS    (WM_USER+104)
  364. #define UDM_SETBUDDY    (WM_USER+105)
  365. #define UDM_GETBUDDY    (WM_USER+106)
  366. #define UDM_SETACCEL    (WM_USER+107)
  367. #define UDM_GETACCEL    (WM_USER+108)
  368. #define UDM_SETBASE    (WM_USER+109)
  369. #define UDM_GETBASE    (WM_USER+110)
  370. #define SB_SETTEXTA    (WM_USER+1)
  371. #define SB_SETTEXTW    (WM_USER+11)
  372. #define SB_GETTEXTA    (WM_USER+2)
  373. #define SB_GETTEXTW    (WM_USER+13)
  374. #define SB_GETTEXTLENGTHA    (WM_USER+3)
  375. #define SB_GETTEXTLENGTHW    (WM_USER+12)
  376. #define SB_SETPARTS    (WM_USER+4)
  377. #define SB_GETPARTS    (WM_USER+6)
  378. #define SB_GETBORDERS    (WM_USER+7)
  379. #define SB_SETMINHEIGHT    (WM_USER+8)
  380. #define SB_SIMPLE    (WM_USER+9)
  381. #define SB_GETRECT    (WM_USER+10)
  382. #define SBT_OWNERDRAW    0x1000
  383. #define SBT_NOBORDERS    256
  384. #define SBT_POPOUT    512
  385. #define SBT_RTLREADING    1024
  386. #define TBS_AUTOTICKS    1
  387. #define TBS_VERT    2
  388. #define TBS_HORZ    0
  389. #define TBS_TOP    4
  390. #define TBS_BOTTOM    0
  391. #define TBS_LEFT    4
  392. #define TBS_RIGHT    0
  393. #define TBS_BOTH    8
  394. #define TBS_NOTICKS    16
  395. #define TBS_ENABLESELRANGE    32
  396. #define TBS_FIXEDLENGTH    64
  397. #define TBS_NOTHUMB    128
  398. #define TBM_GETPOS    (WM_USER)
  399. #define TBM_GETRANGEMIN    (WM_USER+1)
  400. #define TBM_GETRANGEMAX    (WM_USER+2)
  401. #define TBM_GETTIC    (WM_USER+3)
  402. #define TBM_SETTIC    (WM_USER+4)
  403. #define TBM_SETPOS    (WM_USER+5)
  404. #define TBM_SETRANGE    (WM_USER+6)
  405. #define TBM_SETRANGEMIN    (WM_USER+7)
  406. #define TBM_SETRANGEMAX    (WM_USER+8)
  407. #define TBM_CLEARTICS    (WM_USER+9)
  408. #define TBM_SETSEL    (WM_USER+10)
  409. #define TBM_SETSELSTART    (WM_USER+11)
  410. #define TBM_SETSELEND    (WM_USER+12)
  411. #define TBM_GETPTICS    (WM_USER+14)
  412. #define TBM_GETTICPOS    (WM_USER+15)
  413. #define TBM_GETNUMTICS    (WM_USER+16)
  414. #define TBM_GETSELSTART    (WM_USER+17)
  415. #define TBM_GETSELEND    (WM_USER+18)
  416. #define TBM_CLEARSEL    (WM_USER+19)
  417. #define TBM_SETTICFREQ    (WM_USER+20)
  418. #define TBM_SETPAGESIZE    (WM_USER+21)
  419. #define TBM_GETPAGESIZE    (WM_USER+22)
  420. #define TBM_SETLINESIZE    (WM_USER+23)
  421. #define TBM_GETLINESIZE    (WM_USER+24)
  422. #define TBM_GETTHUMBRECT    (WM_USER+25)
  423. #define TBM_GETCHANNELRECT    (WM_USER+26)
  424. #define TBM_SETTHUMBLENGTH    (WM_USER+27)
  425. #define TBM_GETTHUMBLENGTH    (WM_USER+28)
  426. #define TB_LINEUP    0
  427. #define TB_LINEDOWN    1
  428. #define TB_PAGEUP    2
  429. #define TB_PAGEDOWN    3
  430. #define TB_THUMBPOSITION    4
  431. #define TB_THUMBTRACK    5
  432. #define TB_TOP    6
  433. #define TB_BOTTOM    7
  434. #define TB_ENDTRACK    8
  435. #define HOTKEYF_SHIFT    1
  436. #define HOTKEYF_CONTROL    2
  437. #define HOTKEYF_ALT    4
  438. #define HOTKEYF_EXT    8
  439. #define HKCOMB_NONE    1
  440. #define HKCOMB_S    2
  441. #define HKCOMB_C    4
  442. #define HKCOMB_A    8
  443. #define HKCOMB_SC    16
  444. #define HKCOMB_SA    32
  445. #define HKCOMB_CA    64
  446. #define HKCOMB_SCA    128
  447. #define HKM_SETHOTKEY    (WM_USER+1)
  448. #define HKM_GETHOTKEY    (WM_USER+2)
  449. #define HKM_SETRULES    (WM_USER+3)
  450. #define PBM_SETRANGE    (WM_USER+1)
  451. #define PBM_SETPOS    (WM_USER+2)
  452. #define PBM_DELTAPOS    (WM_USER+3)
  453. #define PBM_SETSTEP    (WM_USER+4)
  454. #define PBM_STEPIT    (WM_USER+5)
  455. #define PBM_SETRANGE32    1030
  456. #define PBM_GETRANGE    1031
  457. #define PBM_GETPOS    1032
  458. #define PBM_SETBARCOLOR    1033
  459. #define PBM_SETBKCOLOR    CCM_SETBKCOLOR
  460. #define PBS_SMOOTH    1
  461. #define PBS_VERTICAL    4
  462. #define LVS_ICON    0
  463. #define LVS_REPORT    1
  464. #define LVS_SMALLICON    2
  465. #define LVS_LIST    3
  466. #define LVS_TYPEMASK    3
  467. #define LVS_SINGLESEL    4
  468. #define LVS_SHOWSELALWAYS    8
  469. #define LVS_SORTASCENDING    16
  470. #define LVS_SORTDESCENDING    32
  471. #define LVS_SHAREIMAGELISTS    64
  472. #define LVS_NOLABELWRAP    128
  473. #define LVS_AUTOARRANGE    256
  474. #define LVS_EDITLABELS    512
  475. #define LVS_NOSCROLL    0x2000
  476. #define LVS_TYPESTYLEMASK    0xfc00
  477. #define LVS_ALIGNTOP    0
  478. #define LVS_ALIGNLEFT    0x800
  479. #define LVS_ALIGNMASK    0xc00
  480. #define LVS_OWNERDRAWFIXED    0x400
  481. #define LVS_NOCOLUMNHEADER    0x4000
  482. #define LVS_NOSORTHEADER    0x8000
  483. #define LVSIL_NORMAL    0
  484. #define LVSIL_SMALL    1
  485. #define LVSIL_STATE    2
  486. #define LVS_OWNERDATA 4096
  487. #define LVM_GETBKCOLOR    LVM_FIRST
  488. #define LVM_SETBKCOLOR    (LVM_FIRST+1)
  489. #define LVM_GETIMAGELIST    (LVM_FIRST+2)
  490. #define LVM_SETIMAGELIST    (LVM_FIRST+3)
  491. #define LVM_GETITEMCOUNT    (LVM_FIRST+4)
  492. #define LVIF_TEXT    1
  493. #define LVIF_IMAGE    2
  494. #define LVIF_PARAM    4
  495. #define LVIF_STATE    8
  496. #define LVIS_FOCUSED    1
  497. #define LVIS_SELECTED    2
  498. #define LVIS_CUT    4
  499. #define LVIS_DROPHILITED    8
  500. #define LVIS_OVERLAYMASK    0xF00
  501. #define LVIS_STATEIMAGEMASK    0xF000
  502. #define LPSTR_TEXTCALLBACKW    ((LPWSTR)-1)
  503. #define LPSTR_TEXTCALLBACKA    ((LPSTR)-1)
  504. #define I_IMAGECALLBACK    (-1)
  505. #define LVM_GETITEMA    (LVM_FIRST+5)
  506. #define LVM_GETITEMW    (LVM_FIRST+75)
  507. #define LVM_SETITEMA    (LVM_FIRST+6)
  508. #define LVM_SETITEMW    (LVM_FIRST+76)
  509. #define LVM_INSERTITEMA    (LVM_FIRST+7)
  510. #define LVM_INSERTITEMW    (LVM_FIRST+77)
  511. #define LVM_DELETEITEM    (LVM_FIRST+8)
  512. #define LVM_DELETEALLITEMS    (LVM_FIRST+9)
  513. #define LVM_GETCALLBACKMASK    (LVM_FIRST+10)
  514. #define LVM_SETCALLBACKMASK    (LVM_FIRST+11)
  515. #define LVNI_ALL    0
  516. #define LVNI_FOCUSED    1
  517. #define LVNI_SELECTED    2
  518. #define LVNI_CUT    4
  519. #define LVNI_DROPHILITED    8
  520. #define LVNI_ABOVE    256
  521. #define LVNI_BELOW    512
  522. #define LVNI_TOLEFT    1024
  523. #define LVNI_TORIGHT    2048
  524. #define LVM_GETNEXTITEM    (LVM_FIRST+12)
  525. #define LVFI_PARAM    1
  526. #define LVFI_STRING    2
  527. #define LVFI_PARTIAL    8
  528. #define LVFI_WRAP    32
  529. #define LVFI_NEARESTXY    64
  530. #define LVIF_DI_SETITEM    0x1000
  531. #define LVM_FINDITEMA    (LVM_FIRST+13)
  532. #define LVM_FINDITEMW    (LVM_FIRST+83)
  533. #define LVIR_BOUNDS    0
  534. #define LVIR_ICON    1
  535. #define LVIR_LABEL    2
  536. #define LVIR_SELECTBOUNDS    3
  537. #define LVM_GETITEMRECT    (LVM_FIRST+14)
  538. #define LVM_SETITEMPOSITION    (LVM_FIRST+15)
  539. #define LVM_GETITEMPOSITION    (LVM_FIRST+16)
  540. #define LVM_GETSTRINGWIDTHA    (LVM_FIRST+17)
  541. #define LVM_GETSTRINGWIDTHW    (LVM_FIRST+87)
  542. #define LVHT_NOWHERE    1
  543. #define LVHT_ONITEMICON    2
  544. #define LVHT_ONITEMLABEL    4
  545. #define LVHT_ONITEMSTATEICON    8
  546. #define LVHT_ONITEM    (LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON)
  547. #define LVHT_ABOVE    8
  548. #define LVHT_BELOW    16
  549. #define LVHT_TORIGHT    32
  550. #define LVHT_TOLEFT    64
  551. #define LVM_HITTEST    (LVM_FIRST+18)
  552. #define LVM_ENSUREVISIBLE    (LVM_FIRST+19)
  553. #define LVM_SCROLL    (LVM_FIRST+20)
  554. #define LVM_REDRAWITEMS    (LVM_FIRST+21)
  555. #define LVA_DEFAULT    0
  556. #define LVA_ALIGNLEFT    1
  557. #define LVA_ALIGNTOP    2
  558. #define LVA_SNAPTOGRID    5
  559. #define LVM_ARRANGE    (LVM_FIRST+22)
  560. #define LVM_EDITLABELA    (LVM_FIRST+23)
  561. #define LVM_EDITLABELW    (LVM_FIRST+118)
  562. #define LVM_GETEDITCONTROL    (LVM_FIRST+24)
  563. #define LVCF_FMT    1
  564. #define LVCF_WIDTH    2
  565. #define LVCF_TEXT    4
  566. #define LVCF_SUBITEM    8
  567. #define LVCFMT_LEFT    0
  568. #define LVCFMT_RIGHT    1
  569. #define LVCFMT_CENTER    2
  570. #define LVCFMT_JUSTIFYMASK    3
  571. #define LVM_GETCOLUMNA    (LVM_FIRST+25)
  572. #define LVM_GETCOLUMNW    (LVM_FIRST+95)
  573. #define LVM_SETCOLUMNA    (LVM_FIRST+26)
  574. #define LVM_SETCOLUMNW    (LVM_FIRST+96)
  575. #define LVM_INSERTCOLUMNA    (LVM_FIRST+27)
  576. #define LVM_INSERTCOLUMNW    (LVM_FIRST+97)
  577. #define LVM_DELETECOLUMN    (LVM_FIRST+28)
  578. #define LVM_GETCOLUMNWIDTH    (LVM_FIRST+29)
  579. #define LVSCW_AUTOSIZE    (-1)
  580. #define LVSCW_AUTOSIZE_USEHEADER    (-2)
  581. #define LVM_SETCOLUMNWIDTH    (LVM_FIRST+30)
  582. #define LVM_CREATEDRAGIMAGE    (LVM_FIRST+33)
  583. #define LVM_GETVIEWRECT    (LVM_FIRST+34)
  584. #define LVM_GETTEXTCOLOR    (LVM_FIRST+35)
  585. #define LVM_SETTEXTCOLOR    (LVM_FIRST+36)
  586. #define LVM_GETTEXTBKCOLOR    (LVM_FIRST+37)
  587. #define LVM_SETTEXTBKCOLOR    (LVM_FIRST+38)
  588. #define LVM_GETTOPINDEX    (LVM_FIRST+39)
  589. #define LVM_GETCOUNTPERPAGE    (LVM_FIRST+40)
  590. #define LVM_GETORIGIN    (LVM_FIRST+41)
  591. #define LVM_GETORIGIN    (LVM_FIRST+41)
  592. #define LVM_UPDATE    (LVM_FIRST+42)
  593. #define LVM_SETITEMSTATE    (LVM_FIRST+43)
  594. #define LVM_GETITEMSTATE    (LVM_FIRST+44)
  595. #define LVM_GETITEMTEXTA    (LVM_FIRST+45)
  596. #define LVM_GETITEMTEXTW    (LVM_FIRST+115)
  597. #define LVM_SETITEMTEXTA    (LVM_FIRST+46)
  598. #define LVM_SETITEMTEXTW    (LVM_FIRST+116)
  599. #define LVM_SETITEMCOUNT    (LVM_FIRST+47)
  600. #define LVM_SORTITEMS    (LVM_FIRST+48)
  601. #define LVM_SETITEMPOSITION32    (LVM_FIRST+49)
  602. #define LVM_GETSELECTEDCOUNT    (LVM_FIRST+50)
  603. #define LVM_GETITEMSPACING    (LVM_FIRST+51)
  604. #define LVM_GETISEARCHSTRINGA    (LVM_FIRST+52)
  605. #define LVM_GETISEARCHSTRINGW    (LVM_FIRST+117)
  606. #define LVN_ITEMCHANGING    LVN_FIRST
  607. #define LVN_ITEMCHANGED    (LVN_FIRST-1)
  608. #define LVN_INSERTITEM    (LVN_FIRST-2)
  609. #define LVN_DELETEITEM    (LVN_FIRST-3)
  610. #define LVN_DELETEALLITEMS    (LVN_FIRST-4)
  611. #define LVN_BEGINLABELEDITA    (LVN_FIRST-5)
  612. #define LVN_BEGINLABELEDITW    (LVN_FIRST-75)
  613. #define LVN_ENDLABELEDITA    (LVN_FIRST-6)
  614. #define LVN_ENDLABELEDITW    (LVN_FIRST-76)
  615. #define LVN_COLUMNCLICK    (LVN_FIRST-8)
  616. #define LVN_BEGINDRAG    (LVN_FIRST-9)
  617. #define LVN_BEGINRDRAG    (LVN_FIRST-11)
  618. #define LVN_GETDISPINFOA    (LVN_FIRST-50)
  619. #define LVN_GETDISPINFOW    (LVN_FIRST-77)
  620. #define LVN_SETDISPINFOA    (LVN_FIRST-51)
  621. #define LVN_SETDISPINFOW    (LVN_FIRST-78)
  622. #define LVN_KEYDOWN    (LVN_FIRST-55)
  623. #define TVS_HASBUTTONS    1
  624. #define TVS_HASLINES    2
  625. #define TVS_LINESATROOT    4
  626. #define TVS_EDITLABELS    8
  627. #define TVS_DISABLEDRAGDROP    16
  628. #define TVS_SHOWSELALWAYS    32
  629. #define TVIF_TEXT    1
  630. #define TVIF_IMAGE    2
  631. #define TVIF_PARAM    4
  632. #define TVIF_STATE    8
  633. #define TVIF_HANDLE    16
  634. #define TVIF_SELECTEDIMAGE    32
  635. #define TVIF_CHILDREN    64
  636. #define TVIS_FOCUSED    1
  637. #define TVIS_SELECTED    2
  638. #define TVIS_CUT    4
  639. #define TVIS_DROPHILITED    8
  640. #define TVIS_BOLD    16
  641. #define TVIS_EXPANDED    32
  642. #define TVIS_EXPANDEDONCE    64
  643. #define TVIS_OVERLAYMASK    0xF00
  644. #define TVIS_STATEIMAGEMASK    0xF000
  645. #define TVIS_USERMASK    0xF000
  646. #define I_CHILDRENCALLBACK    (-1)
  647. #define TVI_ROOT    ((HTREEITEM)0xFFFF0000)
  648. #define TVI_FIRST    ((HTREEITEM)0xFFFF0001)
  649. #define TVI_LAST    ((HTREEITEM)0xFFFF0002)
  650. #define TVI_SORT    ((HTREEITEM)0xFFFF0003)
  651. #define TVSIL_NORMAL    0
  652. #define TVSIL_STATE    2
  653. #define TVM_INSERTITEMA    TV_FIRST
  654. #define TVM_INSERTITEMW    (TV_FIRST+50)
  655. #define TVM_DELETEITEM    (TV_FIRST+1)
  656. #define TVM_EXPAND    (TV_FIRST+2)
  657. #define TVM_GETITEMRECT    (TV_FIRST+4)
  658. #define TVM_GETCOUNT    (TV_FIRST+5)
  659. #define TVM_GETINDENT    (TV_FIRST+6)
  660. #define TVM_SETINDENT    (TV_FIRST+7)
  661. #define TVM_GETIMAGELIST    (TV_FIRST+8)
  662. #define TVM_SETIMAGELIST    (TV_FIRST+9)
  663. #define TVM_GETNEXTITEM    (TV_FIRST+10)
  664. #define TVM_SELECTITEM    (TV_FIRST+11)
  665. #define TVM_GETITEMA    (TV_FIRST+12)
  666. #define TVM_GETITEMW    (TV_FIRST+62)
  667. #define TVM_SETITEMA    (TV_FIRST+13)
  668. #define TVM_SETITEMW    (TV_FIRST+63)
  669. #define TVM_EDITLABELA    (TV_FIRST+14)
  670. #define TVM_EDITLABELW    (TV_FIRST+65)
  671. #define TVM_GETEDITCONTROL    (TV_FIRST+15)
  672. #define TVM_GETVISIBLECOUNT    (TV_FIRST+16)
  673. #define TVM_HITTEST    (TV_FIRST+17)
  674. #define TVM_CREATEDRAGIMAGE    (TV_FIRST+18)
  675. #define TVM_SORTCHILDREN    (TV_FIRST+19)
  676. #define TVM_ENSUREVISIBLE    (TV_FIRST+20)
  677. #define TVM_SORTCHILDRENCB    (TV_FIRST+21)
  678. #define TVM_ENDEDITLABELNOW    (TV_FIRST+22)
  679. #define TVM_GETISEARCHSTRINGA    (TV_FIRST+23)
  680. #define TVM_GETISEARCHSTRINGW    (TV_FIRST+64)
  681. #define TVE_COLLAPSE    1
  682. #define TVE_EXPAND    2
  683. #define TVE_TOGGLE    3
  684. #define TVE_COLLAPSERESET    0x8000
  685. #define TVC_UNKNOWN    0
  686. #define TVC_BYMOUSE    1
  687. #define TVC_BYKEYBOARD    2
  688. #define TVGN_ROOT    0
  689. #define TVGN_NEXT    1
  690. #define TVGN_PREVIOUS    2
  691. #define TVGN_PARENT    3
  692. #define TVGN_CHILD    4
  693. #define TVGN_FIRSTVISIBLE    5
  694. #define TVGN_NEXTVISIBLE    6
  695. #define TVGN_PREVIOUSVISIBLE    7
  696. #define TVGN_DROPHILITE    8
  697. #define TVGN_CARET    9
  698. #define TVN_SELCHANGINGA    (TVN_FIRST-1)
  699. #define TVN_SELCHANGINGW    (TVN_FIRST-50)
  700. #define TVN_SELCHANGEDA    (TVN_FIRST-2)
  701. #define TVN_SELCHANGEDW    (TVN_FIRST-51)
  702. #define TVN_GETDISPINFOA    (TVN_FIRST-3)
  703. #define TVN_GETDISPINFOW    (TVN_FIRST-52)
  704. #define TVN_SETDISPINFOA    (TVN_FIRST-4)
  705. #define TVN_SETDISPINFOW    (TVN_FIRST-53)
  706. #define TVN_ITEMEXPANDINGA    (TVN_FIRST-5)
  707. #define TVN_ITEMEXPANDINGW    (TVN_FIRST-54)
  708. #define TVN_ITEMEXPANDEDA    (TVN_FIRST-6)
  709. #define TVN_ITEMEXPANDEDW    (TVN_FIRST-55)
  710. #define TVN_BEGINDRAGA    (TVN_FIRST-7)
  711. #define TVN_BEGINDRAGW    (TVN_FIRST-56)
  712. #define TVN_BEGINRDRAGA    (TVN_FIRST-8)
  713. #define TVN_BEGINRDRAGW    (TVN_FIRST-57)
  714. #define TVN_DELETEITEMA    (TVN_FIRST-9)
  715. #define TVN_DELETEITEMW    (TVN_FIRST-58)
  716. #define TVN_BEGINLABELEDITA    (TVN_FIRST-10)
  717. #define TVN_BEGINLABELEDITW    (TVN_FIRST-59)
  718. #define TVN_ENDLABELEDITA    (TVN_FIRST-11)
  719. #define TVN_ENDLABELEDITW    (TVN_FIRST-60)
  720. #define TVN_KEYDOWN    (TVN_FIRST-12)
  721. #define TVIF_DI_SETITEM    0x1000
  722. #define TVHT_NOWHERE    1
  723. #define TVHT_ONITEMICON    2
  724. #define TVHT_ONITEMLABEL    4
  725. #define TVHT_ONITEM    (TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON)
  726. #define TVHT_ONITEMINDENT    8
  727. #define TVHT_ONITEMBUTTON    16
  728. #define TVHT_ONITEMRIGHT    32
  729. #define TVHT_ONITEMSTATEICON    64
  730. #define TVHT_ABOVE    256
  731. #define TVHT_BELOW    512
  732. #define TVHT_TORIGHT    1024
  733. #define TVHT_TOLEFT    2048
  734. #define TCHT_NOWHERE    1
  735. #define TCHT_ONITEMICON    2
  736. #define TCHT_ONITEMLABEL    4
  737. #define TCHT_ONITEM    (TCHT_ONITEMICON|TCHT_ONITEMLABEL)
  738. #define TCS_FORCEICONLEFT    16
  739. #define TCS_FORCELABELLEFT    32
  740. #define TCS_TABS    0
  741. #define TCS_BUTTONS    256
  742. #define TCS_SINGLELINE    0
  743. #define TCS_MULTILINE    512
  744. #define TCS_RIGHTJUSTIFY    0
  745. #define TCS_FIXEDWIDTH    1024
  746. #define TCS_RAGGEDRIGHT    2048
  747. #define TCS_FOCUSONBUTTONDOWN    0x1000
  748. #define TCS_OWNERDRAWFIXED    0x2000
  749. #define TCS_TOOLTIPS    0x4000
  750. #define TCS_FOCUSNEVER    0x8000
  751. #define TCIF_TEXT    1
  752. #define TCIF_IMAGE    2
  753. #define TCIF_RTLREADING    4
  754. #define TCIF_PARAM    8
  755. #define TCM_FIRST    0x1300
  756. #define TCM_GETIMAGELIST    (TCM_FIRST+2)
  757. #define TCM_SETIMAGELIST    (TCM_FIRST+3)
  758. #define TCM_GETITEMCOUNT    (TCM_FIRST+4)
  759. #define TCM_GETITEMA    (TCM_FIRST+5)
  760. #define TCM_GETITEMW    (TCM_FIRST+60)
  761. #define TCM_SETITEMA    (TCM_FIRST+6)
  762. #define TCM_SETITEMW    (TCM_FIRST+61)
  763. #define TCM_INSERTITEMA    (TCM_FIRST+7)
  764. #define TCM_INSERTITEMW    (TCM_FIRST+62)
  765. #define TCM_DELETEITEM    (TCM_FIRST+8)
  766. #define TCM_DELETEALLITEMS    (TCM_FIRST+9)
  767. #define TCM_GETITEMRECT    (TCM_FIRST+10)
  768. #define TCM_GETCURSEL    (TCM_FIRST+11)
  769. #define TCM_SETCURSEL    (TCM_FIRST+12)
  770. #define TCM_HITTEST    (TCM_FIRST+13)
  771. #define TCM_SETITEMEXTRA    (TCM_FIRST+14)
  772. #define TCM_ADJUSTRECT    (TCM_FIRST+40)
  773. #define TCM_SETITEMSIZE    (TCM_FIRST+41)
  774. #define TCM_REMOVEIMAGE    (TCM_FIRST+42)
  775. #define TCM_SETPADDING    (TCM_FIRST+43)
  776. #define TCM_GETROWCOUNT    (TCM_FIRST+44)
  777. #define TCM_GETTOOLTIPS    (TCM_FIRST+45)
  778. #define TCM_SETTOOLTIPS    (TCM_FIRST+46)
  779. #define TCM_GETCURFOCUS    (TCM_FIRST+47)
  780. #define TCM_SETCURFOCUS    (TCM_FIRST+48)
  781. #define TCN_KEYDOWN    TCN_FIRST
  782. #define TCN_SELCHANGE    (TCN_FIRST-1)
  783. #define TCN_SELCHANGING    (TCN_FIRST-2)
  784. #define NM_OUTOFMEMORY (NM_FIRST-1)
  785. #define NM_CLICK (NM_FIRST-2)
  786. #define NM_DBLCLK (NM_FIRST-3)
  787. #define NM_RETURN (NM_FIRST-4)
  788. #define NM_RCLICK (NM_FIRST-5)
  789. #define NM_RDBLCLK (NM_FIRST-6)
  790. #define NM_SETFOCUS (NM_FIRST-7)
  791. #define NM_KILLFOCUS (NM_FIRST-8)
  792. #define NM_CUSTOMDRAW (NM_FIRST-12)
  793. #define NM_HOVER (NM_FIRST-13)
  794. #define NM_NCHITTEST (NM_FIRST-14)
  795. #define NM_KEYDOWN (NM_FIRST-15)
  796. #define NM_RELEASEDCAPTURE (NM_FIRST-16)
  797. #define NM_SETCURSOR (NM_FIRST-17)
  798. #define NM_CHAR (NM_FIRST-18)
  799. #define SBARS_SIZEGRIP 256
  800. #define CCM_SETBKCOLOR 8193
  801. #define CCM_SETCOLORSCHEME 8194
  802. #define CCM_GETCOLORSCHEME 8195
  803. #define CCM_GETDROPTARGET 8196
  804. #define CCM_SETUNICODEFORMAT 8197
  805. #define CCM_GETUNICODEFORMAT 8198
  806. #define ICC_LISTVIEW_CLASSES 1
  807. #define ICC_TREEVIEW_CLASSES 2
  808. #define ICC_TAB_CLASSES      8
  809. #define ICC_UPDOWN_CLASS 16
  810. #define ICC_PROGRESS_CLASS 32
  811. #define ICC_HOTKEY_CLASS 64
  812. #define ICC_ANIMATE_CLASS 128
  813. #define ICC_WIN95_CLASSES 255
  814. #define ICC_DATE_CLASSES 256
  815. #define ICC_USEREX_CLASSES 512
  816. #define ICC_COOL_CLASSES 1024
  817. #if (_WIN32_IE >= 0x0400)
  818. #define ICC_INTERNET_CLASSES 2048
  819. #define ICC_PAGESCROLLER_CLASS 4096
  820. #define ICC_NATIVEFNTCTL_CLASS 8192
  821. #define INFOTIPSIZE
  822. #endif
  823. #define GDTR_MIN 1
  824. #define GDTR_MAX 2
  825. #define GMR_VISIBLE 0
  826. #define GMR_DAYSTATE 1
  827. #define GDT_ERROR -1
  828. #define GDT_VALID 0
  829. #define GDT_NONE 1
  830. #define DTS_UPDOWN 1
  831. #define DTS_SHOWNONE 2
  832. #define DTS_SHORTDATEFORMAT 0
  833. #define DTS_LONGDATEFORMAT 4
  834. #define DTS_TIMEFORMAT 9
  835. #define DTS_APPCANPARSE 16
  836. #define DTS_RIGHTALIGN 32
  837. #define MCS_DAYSTATE 1
  838. #define MCS_MULTISELECT 2
  839. #define MCS_WEEKNUMBERS 4
  840. #define MCS_NOTODAY 8
  841. #define DTM_GETSYSTEMTIME 0x1001
  842. #define DTM_SETSYSTEMTIME 0x1002
  843. #define DTM_GETRANGE 0x1003
  844. #define DTM_SETRANGE 0x1004
  845. #define DTM_SETFORMATA 0x1005
  846. #define DTM_SETFORMATW 0x1050
  847. #define DTM_SETMCCOLOR 0x1006
  848. #define DTM_GETMCCOLOR 0x1007
  849. #define DTM_GETMONTHCAL 0x1008
  850. #define DTM_SETMCFONT    0x1009
  851. #define DTM_GETMCFONT    0x100a
  852. #define DTN_USERSTRINGA  (-758)
  853. #define DTN_USERSTRINGW  (-745)
  854. #define DTN_WMKEYDOWNA  (-757)
  855. #define DTN_WMKEYDOWNW  (-744)
  856. #define DTN_FORMATA  (-756) 
  857. #define DTN_FORMATW  (-743)
  858. #define DTN_FORMATQUERYA  (-755) 
  859. #define DTN_FORMATQUERYW (-742)
  860. #define DTN_DROPDOWN    (-754) 
  861. #define DTN_CLOSEUP    (-753) 
  862. #define DTN_DATETIMECHANGE (-759) 
  863. #define MCM_GETCURSEL    0x1001
  864. #define MCM_SETCURSEL    0x1002
  865. #define MCM_GETMAXSELCOUNT 0x1003
  866. #define MCM_SETMAXSELCOUNT 0x1004
  867. #define MCM_GETSELRANGE    0x1005
  868. #define MCM_SETSELRANGE    0x1006
  869. #define MCM_GETMONTHRANGE 0x1007
  870. #define MCM_SETDAYSTATE    0x1008
  871. #define MCM_GETMINREQRECT 0x1009
  872. #define MCM_SETCOLOR 0x100a
  873. #define MCM_GETCOLOR 0x100b
  874. #define MCM_SETTODAY 0x100c
  875. #define MCM_GETTODAY 0x100d
  876. #define MCM_HITTEST 0x100e
  877. #define MCM_SETFIRSTDAYOFWEEK 0x100f
  878. #define MCM_GETFIRSTDAYOFWEEK 0x1010
  879. #define MCM_GETRANGE 0x1011
  880. #define MCM_SETRANGE 0x1012
  881. #define MCM_GETMONTHDELTA 0x1013
  882. #define MCM_SETMONTHDELTA 0x1014
  883. #define MCN_SELCHANGE      (-749)
  884. #define MCN_GETDAYSTATE    (-747)
  885. #define MCN_SELECT        (-746)
  886. #define ODT_HEADER 100
  887. #define ODT_TAB 101
  888. #define ODT_LISTVIEW
  889. #define SB_SETBKCOLOR    0x2001
  890. #if (_WIN32_IE >= 0x0300)
  891. #define SB_ISSIMPLE 1038
  892. #endif
  893. #define RBS_TOOLTIPS 256
  894. #define RBS_VARHEIGHT 512
  895. #define RBS_BANDBORDERS 1024
  896. #define RBS_FIXEDORDER 2048
  897. #define RBIM_IMAGELIST 1
  898. #define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME
  899. #define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME
  900. #define RBBS_BREAK 1
  901. #define RBBS_FIXEDSIZE 2
  902. #define RBBS_CHILDEDGE 4
  903. #define RBBS_HIDDEN 8
  904. #define RBBS_NOVERT 16
  905. #define RBBS_FIXEDBMP 32
  906. #define RBBIM_STYLE 1
  907. #define RBBIM_COLORS 2
  908. #define RBBIM_TEXT 4
  909. #define RBBIM_IMAGE 8
  910. #define RBBIM_CHILD 16
  911. #define RBBIM_CHILDSIZE 32
  912. #define RBBIM_SIZE 64
  913. #define RBBIM_BACKGROUND 128
  914. #define RBBIM_ID 256
  915. #define RB_INSERTBANDA (WM_USER+1)
  916. #define RB_INSERTBANDW (WM_USER+10)
  917. #define RB_DELETEBAND (WM_USER+2)
  918. #define RB_GETBARINFO (WM_USER+3)
  919. #define RB_SETBARINFO (WM_USER+4)
  920. #define RB_GETBANDCOUNT (WM_USER+12)
  921. #define RB_GETROWCOUNT (WM_USER+13)
  922. #define RB_GETROWHEIGHT (WM_USER+14)
  923. #define RB_SETBANDINFOA (WM_USER+6)
  924. #define RB_SETBANDINFOW (WM_USER+11)
  925. #define RB_SETPARENT (WM_USER+7)
  926. #define RBN_HEIGHTCHANGE RBN_FIRST
  927. #if (_WIN32_IE >= 0x0300)
  928. #define LVN_ODCACHEHINT (LVN_FIRST-13)
  929. #define LVN_ODFINDITEMA (LVN_FIRST-52)
  930. #define LVN_ODFINDITEMW (LVN_FIRST-79)
  931. #define LVN_ITEMACTIVATE (LVN_FIRST-14)
  932. #define LVN_ODSTATECHANGED (LVN_FIRST-15)
  933. #ifdef UNICODE
  934. #define LVN_ODFINDITEM LVN_ODFINDITEMW
  935. #else
  936. #define LVN_ODFINDITEM LVN_ODFINDITEMA
  937. #endif
  938. #endif
  939. #if (_WIN32_IE >= 0x0400)
  940. #define UDM_SETRANGE32    1135
  941. #define UDM_GETRANGE32    1136
  942. #define SB_SETICON 1039
  943. #define SB_SETTIPTEXTA    1040
  944. #define SB_SETTIPTEXTW    1041
  945. #define SB_GETTIPTEXTA    1042
  946. #define SB_GETTIPTEXTW    1043
  947. #define SB_GETICON    1044
  948. #define SB_SETUNICODEFORMAT    0x2005
  949. #define SB_GETUNICODEFORMAT    0x2006
  950. #define RBS_REGISTERDROP 4096
  951. #define RBS_AUTOSIZE 8192
  952. #define RBS_VERTICALGRIPPER 16384
  953. #define RBS_DBLCLKTOGGLE  32768
  954. #define RBBS_VARIABLEHEIGHT 64
  955. #define RBBS_GRIPPERALWAYS 128
  956. #define RBBS_NOGRIPPER 256
  957. #define RBBIM_IDEALSIZE 512
  958. #define RBBIM_LPARAM 1024
  959. #define RBBIM_HEADERSIZE 2048
  960. #define RB_HITTEST (WM_USER+8)
  961. #define RB_GETRECT (WM_USER+9)
  962. #define RB_IDTOINDEX (WM_USER+16)
  963. #define RB_GETTOOLTIPS (WM_USER+17)
  964. #define RB_SETTOOLTIPS (WM_USER+18)
  965. #define RB_SETBKCOLOR (WM_USER+19)
  966. #define RB_GETBKCOLOR (WM_USER+20)
  967. #define RB_SETTEXTCOLOR (WM_USER+21)
  968. #define RB_GETTEXTCOLOR (WM_USER+22)
  969. #define RB_SIZETORECT (WM_USER+23)
  970. #define RB_BEGINDRAG (WM_USER+24)
  971. #define RB_ENDDRAG (WM_USER+25)
  972. #define RB_DRAGMOVE (WM_USER+26)
  973. #define RB_GETBARHEIGHT (WM_USER+27)
  974. #define RB_GETBANDINFOW (WM_USER+28)
  975. #define RB_GETBANDINFOA (WM_USER+29)
  976. #define RB_MINIMIZEBAND (WM_USER+30)
  977. #define RB_MAXIMIZEBAND (WM_USER+31)
  978. #define RB_GETDROPTARGET CCM_GETDROPTARGET
  979. #define RB_GETBANDBORDERS (WM_USER+34)
  980. #define RB_SHOWBAND (WM_USER+35)
  981. #define RB_SETPALETTE (WM_USER+37)
  982. #define RB_GETPALETTE (WM_USER+38)
  983. #define RB_MOVEBAND (WM_USER+39)
  984. #define RB_SETUNICODEFORMAT     CCM_SETUNICODEFORMAT
  985. #define RB_GETUNICODEFORMAT     CCM_GETUNICODEFORMAT
  986. #define RBN_GETOBJECT (RBN_FIRST-1)
  987. #define RBN_LAYOUTCHANGED (RBN_FIRST-2)
  988. #define RBN_AUTOSIZE (RBN_FIRST-3)
  989. #define RBN_BEGINDRAG (RBN_FIRST-4)
  990. #define RBN_ENDDRAG (RBN_FIRST-5)
  991. #define RBN_DELETINGBAND (RBN_FIRST-6)
  992. #define RBN_DELETEDBAND (RBN_FIRST-7)
  993. #define RBN_CHILDSIZE (RBN_FIRST-8)
  994. #define RBNM_ID 1
  995. #define RBNM_STYLE 2
  996. #define RBNM_LPARAM 4
  997. #define RBHT_NOWHERE 1
  998. #define RBHT_CAPTION 2
  999. #define RBHT_CLIENT 3
  1000. #define RBHT_GRABBER 4
  1001. #ifdef UNICODE
  1002. #define SB_SETTIPTEXT    SB_SETTIPTEXTW
  1003. #define SB_GETTIPTEXT    SB_GETTIPTEXTW
  1004. #define RB_GETBANDINFO    RB_GETBANDINFOW
  1005. #else
  1006. #define SB_SETTIPTEXT    SB_SETTIPTEXTA
  1007. #define SB_GETTIPTEXT    SB_GETTIPTEXTA
  1008. #define RB_GETBANDINFO    RB_GETBANDINFOA
  1009. #endif
  1010. #else
  1011. #define RB_GETBANDINFO (WM_USER+5)
  1012. #endif /* _WIN32_IE >= 0x0400 */
  1013.  
  1014. #ifndef RC_INVOKED
  1015. typedef struct _COLORMAP {
  1016.     COLORREF from;
  1017.     COLORREF to;
  1018. } COLORMAP,*LPCOLORMAP;
  1019. typedef struct {
  1020.     UINT uNotification;
  1021.     HWND hWnd;
  1022.     POINT ptCursor;
  1023. } DRAGLISTINFO,*LPDRAGLISTINFO;
  1024. typedef struct _TBBUTTON {
  1025.     int iBitmap;
  1026.     int idCommand;
  1027.     BYTE fsState;
  1028.     BYTE fsStyle;
  1029.     BYTE bReserved[2];
  1030.     DWORD dwData;
  1031.     int iString;
  1032. } TBBUTTON,*PTBBUTTON,*LPTBBUTTON;
  1033. typedef const TBBUTTON *LPCTBBUTTON;
  1034. typedef struct {
  1035.     NMHDR hdr;
  1036.     int iItem;
  1037.     TBBUTTON tbButton;
  1038.     int cchText;
  1039.     LPTSTR pszText;
  1040. } TBNOTIFY,*LPTBNOTIFY;
  1041. typedef struct {
  1042.     HKEY hkr;
  1043.     LPCTSTR pszSubKey;
  1044.     LPCTSTR pszValueName;
  1045. } TBSAVEPARAMS;
  1046. typedef struct _IMAGEINFO {
  1047.     HBITMAP hbmImage;
  1048.     HBITMAP hbmMask;
  1049.     int Unused1;
  1050.     int Unused2;
  1051.     RECT rcImage;
  1052. } IMAGEINFO;
  1053. DECLARE_HANDLE(HIMAGELIST);
  1054. typedef struct _HD_ITEMA {
  1055.     UINT mask;
  1056.     int cxy;
  1057.     LPSTR pszText;
  1058.     HBITMAP hbm;
  1059.     int cchTextMax;
  1060.     int fmt;
  1061.     LPARAM lParam;
  1062. } HD_ITEMA;
  1063. typedef struct _HD_ITEMW {
  1064.     UINT mask;
  1065.     int cxy;
  1066.     LPWSTR pszText;
  1067.     HBITMAP hbm;
  1068.     int cchTextMax;
  1069.     int fmt;
  1070.     LPARAM lParam;
  1071. } HD_ITEMW;
  1072. typedef struct _HD_LAYOUT {
  1073.     RECT *prc;
  1074.     WINDOWPOS *pwpos;
  1075. } HD_LAYOUT;
  1076. typedef struct _HD_HITTESTINFO {
  1077.     POINT pt;
  1078.     UINT flags;
  1079.     int iItem;
  1080. } HD_HITTESTINFO;
  1081. typedef struct _HD_NOTIFYA {
  1082.     NMHDR hdr;
  1083.     int iItem;
  1084.     int iButton;
  1085.     HD_ITEMA *pitem;
  1086. } HD_NOTIFYA;
  1087. typedef struct _HD_NOTIFYW {
  1088.     NMHDR hdr;
  1089.     int iItem;
  1090.     int iButton;
  1091.     HD_ITEMW *pitem;
  1092. } HD_NOTIFYW;
  1093. /* FIXME: NMHEADER structure (base for all events of the comctl controls)
  1094.    is the same as HD_NOTIFY depending on the value of _WIN32_IE macro.
  1095.    I'm defining both for now. */
  1096. typedef struct _NMHEADERA {
  1097.     NMHDR   hdr;
  1098.     int     iItem;
  1099.     int     iButton;
  1100.     HD_ITEMA* pitem;
  1101. }  NMHEADERA, *LPNMHEADERA;
  1102.  
  1103. typedef struct _NMHEADERW {
  1104.     NMHDR   hdr;
  1105.     int     iItem;
  1106.     int     iButton;
  1107.     HD_ITEMW* pitem;
  1108. }  NMHEADERW, *LPNMHEADERW;
  1109. #ifdef UNICODE
  1110. #define NMHEADER NMHEADERW
  1111. #define LPNMHEADER LPNMHEADERW
  1112. #else
  1113. #define NMHEADER NMHEADERA
  1114. #define LPNMHEADER LPNMHEADERA
  1115. #endif
  1116. /* End FIXME. */
  1117. typedef struct tagTBADDBITMAP {
  1118.     HINSTANCE hInst;
  1119.     UINT nID;
  1120. } TBADDBITMAP,*LPTBADDBITMAP;
  1121. typedef struct tagTBSAVEPARAMSA {
  1122.     HKEY hkr;
  1123.     LPCSTR pszSubKey;
  1124.     LPCSTR pszValueName;
  1125. } TBSAVEPARAMSA;
  1126. typedef struct tagTBSAVEPARAMSW {
  1127.     HKEY hkr;
  1128.     LPCWSTR pszSubKey;
  1129.     LPCWSTR pszValueName;
  1130. } TBSAVEPARAMSW;
  1131. typedef struct {
  1132.     HINSTANCE hInstOld;
  1133.     UINT nIDOld;
  1134.     HINSTANCE hInstNew;
  1135.     UINT nIDNew;
  1136.     int nButtons;
  1137. } TBREPLACEBITMAP,*LPTBREPLACEBITMAP;
  1138. typedef struct tagTBNOTIFYA {
  1139.     NMHDR hdr;
  1140.     int iItem;
  1141.     TBBUTTON tbButton;
  1142.     int cchText;
  1143.     LPSTR pszText;
  1144. } TBNOTIFYA,*LPTBNOTIFYA;
  1145. typedef struct tagTBNOTIFYW {
  1146.     NMHDR hdr;
  1147.     int iItem;
  1148.     TBBUTTON tbButton;
  1149.     int cchText;
  1150.     LPWSTR pszText;
  1151. } TBNOTIFYW,*LPTBNOTIFYW;
  1152. typedef struct tagTOOLINFOA {
  1153.     UINT cbSize;
  1154.     UINT uFlags;
  1155.     HWND hwnd;
  1156.     UINT uId;
  1157.     RECT rect;
  1158.     HINSTANCE hinst;
  1159.     LPSTR lpszText;
  1160. } TOOLINFOA,*PTOOLINFOA,*LPTOOLINFOA;
  1161. typedef struct tagTOOLINFOW {
  1162.     UINT cbSize;
  1163.     UINT uFlags;
  1164.     HWND hwnd;
  1165.     UINT uId;
  1166.     RECT rect;
  1167.     HINSTANCE hinst;
  1168.     LPWSTR lpszText;
  1169. } TOOLINFOW,*PTOOLINFOW,*LPTOOLINFOW;
  1170. typedef struct _TT_HITTESTINFOA {
  1171.     HWND hwnd;
  1172.     POINT pt;
  1173.     TOOLINFOA ti;
  1174. } TTHITTESTINFOA,*LPHITTESTINFOA;
  1175. typedef struct _TT_HITTESTINFOW {
  1176.     HWND hwnd;
  1177.     POINT pt;
  1178.     TOOLINFOW ti;
  1179. } TTHITTESTINFOW,*LPHITTESTINFOW;
  1180. typedef struct tagTOOLTIPTEXTA {
  1181.     NMHDR hdr;
  1182.     LPSTR lpszText;
  1183.     char szText[80];
  1184.     HINSTANCE hinst;
  1185.     UINT uFlags;
  1186. } TOOLTIPTEXTA,*LPTOOLTIPTEXTA;
  1187. typedef struct tagTOOLTIPTEXTW {
  1188.     NMHDR hdr;
  1189.     LPWSTR lpszText;
  1190.     WCHAR szText[80];
  1191.     HINSTANCE hinst;
  1192.     UINT uFlags;
  1193. } TOOLTIPTEXTW,*LPTOOLTIPTEXTW;
  1194. typedef struct _UDACCEL {
  1195.     UINT nSec;
  1196.     UINT nInc;
  1197. } UDACCEL,*LPUDACCEL;
  1198. typedef struct _NM_UPDOWN {
  1199.     NMHDR hdr;
  1200.     int iPos;
  1201.     int iDelta;
  1202. } NM_UPDOWN,*LPNM_UPDOWN;
  1203. typedef struct _LV_ITEMA {
  1204.     UINT mask;
  1205.     int iItem;
  1206.     int iSubItem;
  1207.     UINT state;
  1208.     UINT stateMask;
  1209.     LPSTR pszText;
  1210.     int cchTextMax;
  1211.     int iImage;
  1212.     LPARAM lParam;
  1213. } LV_ITEMA;
  1214. typedef struct _LV_ITEMW {
  1215.     UINT mask;
  1216.     int iItem;
  1217.     int iSubItem;
  1218.     UINT state;
  1219.     UINT stateMask;
  1220.     LPWSTR pszText;
  1221.     int cchTextMax;
  1222.     int iImage;
  1223.     LPARAM lParam;
  1224. } LV_ITEMW;
  1225. typedef struct _LV_FINDINFOA {
  1226.     UINT flags;
  1227.     LPCSTR psz;
  1228.     LPARAM lParam;
  1229.     POINT pt;
  1230.     UINT vkDirection;
  1231. } LV_FINDINFOA;
  1232. typedef struct _LV_FINDINFOW {
  1233.     UINT flags;
  1234.     LPCWSTR psz;
  1235.     LPARAM lParam;
  1236.     POINT pt;
  1237.     UINT vkDirection;
  1238. } LV_FINDINFOW;
  1239. typedef struct _LV_HITTESTINFO {
  1240.     POINT pt;
  1241.     UINT flags;
  1242.     int iItem;
  1243. } LV_HITTESTINFO;
  1244. typedef struct _LV_COLUMNA {
  1245.     UINT mask;
  1246.     int fmt;
  1247.     int cx;
  1248.     LPSTR pszText;
  1249.     int cchTextMax;
  1250.     int iSubItem;
  1251. } LV_COLUMNA;
  1252. typedef struct _LV_COLUMNW {
  1253.     UINT mask;
  1254.     int fmt;
  1255.     int cx;
  1256.     LPWSTR pszText;
  1257.     int cchTextMax;
  1258.     int iSubItem;
  1259. } LV_COLUMNW;
  1260. typedef int(CALLBACK *PFNLVCOMPARE)(LPARAM,LPARAM,LPARAM);
  1261. typedef struct _NM_LISTVIEW {
  1262.     NMHDR hdr;
  1263.     int iItem;
  1264.     int iSubItem;
  1265.     UINT uNewState;
  1266.     UINT uOldState;
  1267.     UINT uChanged;
  1268.     POINT ptAction;
  1269.     LPARAM lParam;
  1270. } NM_LISTVIEW,*LPNM_LISTVIEW;
  1271. typedef struct _LV_DISPINFOA {
  1272.     NMHDR hdr;
  1273.     LV_ITEMA item;
  1274. } LV_DISPINFOA;
  1275. typedef struct _LV_DISPINFOW {
  1276.     NMHDR hdr;
  1277.     LV_ITEMW item;
  1278. } LV_DISPINFOW;
  1279. typedef struct _LV_KEYDOWN {
  1280.     NMHDR hdr;
  1281.     WORD wVKey;
  1282.     UINT flags;
  1283. } LV_KEYDOWN;
  1284. DECLARE_HANDLE(HTREEITEM);
  1285. typedef struct _TV_ITEMA {
  1286.     UINT mask;
  1287.     HTREEITEM hItem;
  1288.     UINT state;
  1289.     UINT stateMask;
  1290.     LPSTR pszText;
  1291.     int cchTextMax;
  1292.     int iImage;
  1293.     int iSelectedImage;
  1294.     int cChildren;
  1295.     LPARAM lParam;
  1296. } TV_ITEMA,*LPTV_ITEMA;
  1297. typedef struct _TV_ITEMW {
  1298.     UINT mask;
  1299.     HTREEITEM hItem;
  1300.     UINT state;
  1301.     UINT stateMask;
  1302.     LPWSTR pszText;
  1303.     int cchTextMax;
  1304.     int iImage;
  1305.     int iSelectedImage;
  1306.     int cChildren;
  1307.     LPARAM lParam;
  1308. } TV_ITEMW,*LPTV_ITEMW;
  1309. typedef struct _TV_INSERTSTRUCTA {
  1310.     HTREEITEM hParent;
  1311.     HTREEITEM hInsertAfter;
  1312.     TV_ITEMA item;
  1313. } TV_INSERTSTRUCTA,*LPTV_INSERTSTRUCTA;
  1314. typedef struct _TV_INSERTSTRUCTW {
  1315.     HTREEITEM hParent;
  1316.     HTREEITEM hInsertAfter;
  1317.     TV_ITEMW item;
  1318. } TV_INSERTSTRUCTW,*LPTV_INSERTSTRUCTW;
  1319. typedef struct _TV_HITTESTINFO {
  1320.     POINT pt;
  1321.     UINT flags;
  1322.     HTREEITEM hItem;
  1323. } TV_HITTESTINFO,*LPTV_HITTESTINFO;
  1324. typedef int(CALLBACK *PFNTVCOMPARE)(LPARAM,LPARAM,LPARAM);
  1325. typedef struct _TV_SORTCB {
  1326.     HTREEITEM hParent;
  1327.     PFNTVCOMPARE lpfnCompare;
  1328.     LPARAM lParam;
  1329. } TV_SORTCB,*LPTV_SORTCB;
  1330. typedef struct _NM_TREEVIEWA {
  1331.     NMHDR hdr;
  1332.     UINT action;
  1333.     TV_ITEMA itemOld;
  1334.     TV_ITEMA itemNew;
  1335.     POINT ptDrag;
  1336. } NM_TREEVIEWA,*LPNM_TREEVIEWA;
  1337. typedef struct _NM_TREEVIEWW {
  1338.     NMHDR hdr;
  1339.     UINT action;
  1340.     TV_ITEMW itemOld;
  1341.     TV_ITEMW itemNew;
  1342.     POINT ptDrag;
  1343. } NM_TREEVIEWW,*LPNM_TREEVIEWW;
  1344. typedef struct _TV_DISPINFOA {
  1345.     NMHDR hdr;
  1346.     TV_ITEMA item;
  1347. } TV_DISPINFOA;
  1348. typedef struct _TV_DISPINFOW {
  1349.     NMHDR hdr;
  1350.     TV_ITEMW item;
  1351. } TV_DISPINFOW;
  1352. typedef struct _TV_KEYDOWN {
  1353.     NMHDR hdr;
  1354.     WORD wVKey;
  1355.     UINT flags;
  1356. } TV_KEYDOWN;
  1357. typedef struct _TC_ITEMHEADERA {
  1358.     UINT mask;
  1359.     UINT lpReserved1;
  1360.     UINT lpReserved2;
  1361.     LPSTR pszText;
  1362.     int cchTextMax;
  1363.     int iImage;
  1364. } TC_ITEMHEADERA;
  1365. typedef struct _TC_ITEMHEADERW {
  1366.     UINT mask;
  1367.     UINT lpReserved1;
  1368.     UINT lpReserved2;
  1369.     LPWSTR pszText;
  1370.     int cchTextMax;
  1371.     int iImage;
  1372. } TC_ITEMHEADERW;
  1373. typedef struct _TC_ITEMA {
  1374.     UINT mask;
  1375.     UINT lpReserved1;
  1376.     UINT lpReserved2;
  1377.     LPSTR pszText;
  1378.     int cchTextMax;
  1379.     int iImage;
  1380.     LPARAM lParam;
  1381. } TC_ITEMA;
  1382. typedef struct _TC_ITEMW {
  1383.     UINT mask;
  1384.     UINT lpReserved1;
  1385.     UINT lpReserved2;
  1386.     LPWSTR pszText;
  1387.     int cchTextMax;
  1388.     int iImage;
  1389.     LPARAM lParam;
  1390. } TC_ITEMW;
  1391. typedef struct _TC_HITTESTINFO {
  1392.     POINT pt;
  1393.     UINT flags;
  1394. } TC_HITTESTINFO,*LPTC_HITTESTINFO;
  1395. typedef struct _TC_KEYDOWN {
  1396.     NMHDR hdr;
  1397.     WORD wVKey;
  1398.     UINT flags;
  1399. } TC_KEYDOWN;
  1400. typedef struct tagINITCOMMONCONTROLSEX {
  1401.     DWORD dwSize;
  1402.     DWORD dwICC;
  1403. } INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
  1404. typedef struct tagPBRANGE {
  1405.     int iLow;
  1406.     int iHigh;
  1407. } PBRANGE,*PPBRANGE;
  1408. typedef struct tagCOLORSCHEME {
  1409.     DWORD dwSize;
  1410.     COLORREF clrBtnHighlight;
  1411.     COLORREF clrBtnShadow;
  1412. } COLORSCHEME,*LPCOLORSCHEME;
  1413. typedef struct tagTCITEM {
  1414.     UINT mask;
  1415. #if (_WIN32_IE >= 0x0300)
  1416.     DWORD dwState;
  1417.     DWORD dwStateMask;
  1418. #else
  1419.     UINT lpReserved1;
  1420.     UINT lpReserved2;
  1421. #endif
  1422. #ifdef UNICODE
  1423.     LPWSTR pszText;
  1424. #else
  1425.     LPSTR pszText;
  1426. #endif
  1427.     int cchTextMax;
  1428.     int iImage;
  1429.     LPARAM lParam;
  1430. } TCITEM,*LPTCITEM;
  1431. typedef struct tagMCHITTESTINFO {
  1432.     UINT cbSize;
  1433.     POINT pt;
  1434.     UINT uHit;
  1435.     SYSTEMTIME st;
  1436. }MCHITTESTINFO, *PMCHITTESTINFO;
  1437. typedef DWORD MONTHDAYSTATE;
  1438. typedef MONTHDAYSTATE *LPMONTHDAYSTATE;
  1439. typedef struct tagNMDAYSTATE {
  1440.     NMHDR nmhdr;
  1441.     SYSTEMTIME stStart;
  1442.     int cDayState;
  1443.     LPMONTHDAYSTATE prgDayState;
  1444. }NMDAYSTATE,*LPNMDAYSTATE;
  1445. typedef struct tagREBARINFO {
  1446.     UINT cbSize;
  1447.     UINT fMask;
  1448.     HIMAGELIST himl;
  1449. } REBARINFO,*LPREBARINFO;
  1450. typedef struct tagREBARBANDINFOA {
  1451.     UINT cbSize;
  1452.     UINT fMask;
  1453.     UINT fStyle;
  1454.     COLORREF clrFore;
  1455.     COLORREF clrBack;
  1456.     LPSTR lpText;
  1457.     UINT cch;
  1458.     int iImage;
  1459.     HWND hwndChild;
  1460.     UINT cxMinChild;
  1461.     UINT cyMinChild;
  1462.     UINT cx;
  1463.     HBITMAP hbmBack;
  1464.     UINT wID;
  1465. #if (_WIN32_IE >= 0x0400)
  1466.     UINT cyChild;
  1467.     UINT cyMaxChild;
  1468.     UINT cyIntegral;
  1469.     UINT cxIdeal;
  1470.     LPARAM lParam;
  1471.     UINT cxHeader;
  1472. #endif
  1473. } REBARBANDINFOA,*LPREBARBANDINFOA;
  1474. typedef struct tagREBARBANDINFOW {
  1475.     UINT cbSize;
  1476.     UINT fMask;
  1477.     UINT fStyle;
  1478.     COLORREF clrFore;
  1479.     COLORREF clrBack;
  1480.     LPWSTR lpText;
  1481.     UINT cch;
  1482.     int iImage;
  1483.     HWND hwndChild;
  1484.     UINT cxMinChild;
  1485.     UINT cyMinChild;
  1486.     UINT cx;
  1487.     HBITMAP hbmBack;
  1488.     UINT wID;
  1489. #if (_WIN32_IE >= 0x0400)
  1490.     UINT cyChild;
  1491.     UINT cyMaxChild;
  1492.     UINT cyIntegral;
  1493.     UINT cxIdeal;
  1494.     LPARAM lParam;
  1495.     UINT cxHeader;
  1496. #endif
  1497. } REBARBANDINFOW,*LPREBARBANDINFOW;
  1498. typedef REBARBANDINFOA const *LPCREBARBANDINFOA;
  1499. typedef REBARBANDINFOW const *LPCREBARBANDINFOW;
  1500. #define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA,wID)
  1501. #define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID)
  1502.  
  1503. #if (_WIN32_IE >= 0x0300)
  1504. typedef struct tagTCHITTESTINFO {
  1505.     POINT pt;
  1506.     UINT flags;
  1507. } TCHITTESTINFO,*LPTCHITTESTINFO;
  1508. typedef struct tagIMAGELISTDRAWPARAMS {
  1509.     DWORD cbSize;
  1510.     HIMAGELIST himl;
  1511.     int i;
  1512.     HDC hdcDst;
  1513.     int x;
  1514.     int y;
  1515.     int cx;
  1516.     int cy;
  1517.     int xBitmap;        
  1518.     int yBitmap;        
  1519.     COLORREF rgbBk;
  1520.     COLORREF rgbFg;
  1521.     UINT fStyle;
  1522.     DWORD dwRop;
  1523. } IMAGELISTDRAWPARAMS,*LPIMAGELISTDRAWPARAMS;
  1524. #elif (_WIN32_IE >= 0x0400)
  1525. typedef struct tagNMREBARCHILDSIZE {
  1526.     NMHDR hdr;
  1527.     UINT uBand;
  1528.     UINT wID;
  1529.     RECT rcChild;
  1530.     RECT rcBand;
  1531. } NMREBARCHILDSIZE,*LPNMREBARCHILDSIZE;
  1532. typedef struct tagNMREBAR {
  1533.     NMHDR hdr;
  1534.     DWORD dwMask;
  1535.     UINT uBand;
  1536.     UINT fStyle;
  1537.     UINT wID;
  1538.     LPARAM lParam;
  1539. } NMREBAR,*LPNMREBAR;
  1540. typedef struct tagNMRBAUTOSIZE {
  1541.     NMHDR hdr;
  1542.     BOOL fChanged;
  1543.     RECT rcTarget;
  1544.     RECT rcActual;
  1545. } NMRBAUTOSIZE,*LPNMRBAUTOSIZE;
  1546. typedef struct _RB_HITTESTINFO {
  1547.     POINT pt;
  1548.     UINT flags;
  1549.     int iBand;
  1550. } RBHITTESTINFO,*LPRBHITTESTINFO;
  1551. #endif
  1552.  
  1553. #define INDEXTOOVERLAYMASK(i) ((i)<<8)
  1554. #define INDEXTOSTATEIMAGEMASK(i) ((i)<<12)
  1555. #define HANDLE_WM_NOTIFY(h,w,l,f) (f)((h),(int)(w),(NMHDR*)(l))
  1556. #define FORWARD_WM_NOTIFY(h,i,p,f) (LRESULT)(f)((h),WM_NOTIFY,(WPARAM)(int)(i),(LPARAM)(NMHDR*)(p))
  1557. #define CCSIZEOF_STRUCT(n,m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m))
  1558. #define Animate_Create(w,i,s,hI) CreateWindow(ANIMATE_CLASS,NULL,s,0,0,0,0,w,(HMENU)(i),hI,NULL)
  1559. #define Animate_Open(w,f) (BOOL)SendMessage(w,ACM_OPEN,0,(LPARAM)f)
  1560. #define Animate_Play(w,f,t,r) (BOOL)SendMessage(w,ACM_PLAY,(r),(LPARAM)MAKELONG(f,t))
  1561. #define Animate_Stop(w)    (BOOL)SendMessage(w,ACM_STOP,0,0)
  1562. #define Animate_Close(w)    Animate_Open(w,NULL)
  1563. #define Animate_Seek(w,f)    Animate_Play(w,f,f,1)
  1564. HBITMAP WINAPI CreateMappedBitmap(HINSTANCE,int,UINT,LPCOLORMAP,int);
  1565. HWND WINAPI CreateStatusWindowA(LONG,LPCSTR,HWND,UINT);
  1566. HWND WINAPI CreateStatusWindowW(LONG,LPCWSTR,HWND,UINT);
  1567. HWND WINAPI CreateToolbarEx(HWND,DWORD,UINT,int,HINSTANCE,UINT,LPCTBBUTTON,int,int,int,int,int,UINT);
  1568. HWND WINAPI CreateUpDownControl(DWORD,int,int,int,int,HWND,int,HINSTANCE,HWND,int,int,int);
  1569. #define DateTime_GetMonthCal(hwnd) SendMessage(hwnd, DTM_GETMONTHCAL, 0, 0)
  1570. #define DateTime_GetMonthCalColor(hwnd, icolor) SendMessage(hwnd, DTM_GETMONTHCAL, (WPARAM)icolor,0)
  1571. #define DateTime_GetMonthCalFont(hwnd) SendMessage(hwnd,DTM_GETMCFONT,0,0)
  1572. #define DateTime_GetRange(hwnd,lpsystimearray) SendMessage(hwnd,DTM_GETRANGE,0,(LPARAM)lpsystimearray)
  1573. #define DateTime_GetSystemTime(hwnd,lpsystime) SendMessage(hwnd,DTM_GETSYSTEMTIME,0,(LPARAM)lpsystime)
  1574. #define DateTime_SetFormat(hwnd,lpszformat) SendMessage(hwnd,DTM_SETFORMAT,0,(LPARAM)lpszformat)
  1575. #define DateTime_SetMonthCalColor(hwnd,icolor,clr) SendMessage(hwnd,DTM_SETMCCOLOR,(WPARAM)icolor,(LPARAM)clr)
  1576. #define DateTime_SetMonthCalFont(hwnd,hfont,lparam) SendMessage(hwnd,DTM_SETMCFONT,(WPARAM)hfont,(LPARAM)lparam)
  1577. #define DateTime_SetRange(hwnd,flags,lpsystimearray) SendMessage(hwnd,DTM_SETRANGE,(WPARAM)flags,(LPARAM)lpsystimearray)
  1578. #define DateTime_SetSystemTime(hwnd,flag,lpsystime) SendMessage(hwnd,DTM_SETSYSTEMTIME,(WPARAM)flag,(LPARAM)lpsystime)
  1579. void WINAPI DrawInsert(HWND,HWND,int);
  1580. void WINAPI DrawStatusTextA(HDC,LPRECT,LPCSTR,UINT);
  1581. void WINAPI DrawStatusTextW(HDC,LPRECT,LPCWSTR,UINT);
  1582. void WINAPI GetEffectiveClientRect(HWND,LPRECT,LPINT);
  1583. #define Header_GetItemCount(w) (int)SendMessage((w),HDM_GETITEMCOUNT,0,0)
  1584. #define Header_InsertItem(w,i,phdi) (int)SendMessage((w),HDM_INSERTITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
  1585. #define Header_DeleteItem(w,i) (BOOL)SendMessage((w),HDM_DELETEITEM,(WPARAM)(int)(i),0)
  1586. #define Header_GetItem(w,i,phdi) (BOOL)SendMessage((w),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM*)(phdi))
  1587. #define Header_SetItem(w,i,phdi) (BOOL)SendMessage((w),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
  1588. #define Header_Layout(w,l) (BOOL)SendMessage((w),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT*)(l))
  1589. int WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);
  1590. #define ImageList_AddIcon(l,i) ImageList_ReplaceIcon(l,-1,i)
  1591. int WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
  1592. BOOL WINAPI ImageList_BeginDrag(HIMAGELIST,int,int,int);
  1593. HIMAGELIST WINAPI ImageList_Create(int,int,UINT,int,int);
  1594. BOOL WINAPI ImageList_Destroy(HIMAGELIST);
  1595. BOOL WINAPI ImageList_DragEnter(HWND,int,int);
  1596. BOOL WINAPI ImageList_DragLeave(HWND);
  1597. BOOL WINAPI ImageList_DragMove(int,int);
  1598. BOOL WINAPI ImageList_DragShowNolock(BOOL);
  1599. BOOL WINAPI ImageList_Draw(HIMAGELIST,int,HDC,int,int,UINT);
  1600. BOOL WINAPI ImageList_DrawEx(HIMAGELIST,int,HDC,int,int,int,int,COLORREF,COLORREF,UINT);
  1601. void WINAPI ImageList_EndDrag(VOID);
  1602. #define ImageList_ExtractIcon(h,l,i) ImageList_GetIcon(l,i,0)
  1603. COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
  1604. HIMAGELIST WINAPI ImageList_GetDragImage(LPPOINT,LPPOINT);
  1605. HICON WINAPI ImageList_GetIcon(HIMAGELIST,int,UINT);
  1606. BOOL WINAPI ImageList_GetIconSize(HIMAGELIST,int*,int*);
  1607. int WINAPI ImageList_GetImageCount(HIMAGELIST);
  1608. BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST,int,IMAGEINFO*);
  1609. #define ImageList_LoadBitmap(h,l,x,G,M) ImageList_LoadImage(h,l,x,G,M,IMAGE_BITMAP,0)
  1610. HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE,LPCSTR,int,int,COLORREF,UINT,UINT);
  1611. HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,int,int,COLORREF,UINT,UINT);
  1612. HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,int,HIMAGELIST,int,int,int);
  1613. BOOL WINAPI ImageList_Remove(HIMAGELIST,int);
  1614. #define ImageList_RemoveAll(l) ImageList_Remove(l,-1)
  1615. BOOL WINAPI ImageList_Replace(HIMAGELIST,int,HBITMAP,HBITMAP);
  1616. int WINAPI ImageList_ReplaceIcon(HIMAGELIST,int,HICON);
  1617. COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
  1618. BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,int,int,int);
  1619. BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,int,int);
  1620. BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,int,int);
  1621. #ifdef _OBJIDL_H
  1622. HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
  1623. BOOL WINAPI ImageList_Write(HIMAGELIST,LPSTREAM);
  1624. #endif
  1625. void WINAPI InitCommonControls(void);
  1626. BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
  1627. WINBOOL WINAPI ImageList_DragShowNolock(BOOL);
  1628. int WINAPI LBItemFromPt(HWND,POINT,BOOL);
  1629. #define ListView_GetBkColor(w) (COLORREF)SendMessage((w),LVM_GETBKCOLOR,0,0)
  1630. #define ListView_GetImageList(w,i) (HIMAGELIST)SendMessage((w),LVM_GETIMAGELIST,(i),0)
  1631. #define ListView_GetItemCount(w) (int)SendMessage((w),LVM_GETITEMCOUNT,0,0)
  1632. #define ListView_GetItem(w,i) (BOOL)SendMessage((w),LVM_GETITEM,0,(LPARAM)(i))
  1633. #define ListView_SetBkColor(w,c) (BOOL)SendMessage((w),LVM_SETBKCOLOR,0,(LPARAM)c)
  1634. #define ListView_SetImageList(w,h,i) (HIMAGELIST)(UINT)SendMessage((w),LVM_SETIMAGELIST,(i),(LPARAM)(h))
  1635. #define ListView_SetItem(w,i) (BOOL)SendMessage((w),LVM_SETITEM,0,(LPARAM)(const LV_ITEM*)(i))
  1636. #define ListView_InsertItem(w,i) (int)SendMessage((w),LVM_INSERTITEM,0,(LPARAM)(const LV_ITEM*)(i))
  1637. #define ListView_DeleteItem(w,i) (BOOL)SendMessage((w),LVM_DELETEITEM,i,0)
  1638. #define ListView_DeleteAllItems(w) (BOOL)SendMessage((w),LVM_DELETEALLITEMS,0,0)
  1639. #define ListView_GetCallbackMask(w) (BOOL)SendMessage((w),LVM_GETCALLBACKMASK,0,0)
  1640. #define ListView_SetCallbackMask(w,m) (BOOL)SendMessage((w),LVM_SETCALLBACKMASK,m,0)
  1641. #define ListView_GetNextItem(w,i,f) (int)SendMessage((w),LVM_GETNEXTITEM,i,MAKELPARAM((f),0))
  1642. #define ListView_FindItem(w,i,p) (int)SendMessage((w), LVM_FINDITEM,i,(LPARAM)(const LV_FINDINFO*)(p))
  1643. #define ListView_GetItemRect(w,i,p,c) (BOOL)SendMessage((w),LVM_GETITEMRECT,i,((p)?(((LPRECT)(p))->left=(c),(LPARAM)(LPRECT)(p)):0))
  1644. #define ListView_SetItemPosition(w,i,x,y) (BOOL)SendMessage((w),LVM_SETITEMPOSITION,i,MAKELPARAM(x,y))
  1645. #define ListView_GetItemPosition(w,i,p) (BOOL)SendMessage((w),LVM_GETITEMPOSITION,i,(LPARAM)p)
  1646. #define ListView_GetItemSpacing(w,f) (DWORD)SendMessage((w),LVM_GETITEMSPACING,f,0)
  1647. #define ListView_GetStringWidth(w,s) (int)SendMessage((w),LVM_GETSTRINGWIDTH,0,(LPARAM)s)
  1648. #define ListView_HitTest(w,p) (int)SendMessage((w),LVM_HITTEST,0,(LPARAM)(LV_HITTESTINFO*)(p))
  1649. #define ListView_EnsureVisible(w,i,f) (BOOL)SendMessage((w),LVM_ENSUREVISIBLE,i,MAKELPARAM((f),0))
  1650. #define ListView_Scroll(w,dx,dy) (BOOL)SendMessage((w),LVM_SCROLL,dx,dy)
  1651. #define ListView_RedrawItems(w,f,l) (BOOL)SendMessage((w),LVM_REDRAWITEMS,f,l)
  1652. #define ListView_Arrange(w,c) (BOOL)SendMessage((w),LVM_ARRANGE,c,0)
  1653. #define ListView_EditLabel(w,i) (HWND)SendMessage((w),LVM_EDITLABEL,i,0)
  1654. #define ListView_GetEditControl(w) (HWND)SendMessage((w),LVM_GETEDITCONTROL,0,0)
  1655. #define ListView_GetColumn(w,i,p) (BOOL)SendMessage((w),LVM_GETCOLUMN,i,(LPARAM)(LV_COLUMN*)(p))
  1656. #define ListView_SetColumn(w,i,p) (BOOL)SendMessage((w),LVM_SETCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
  1657. #define ListView_InsertColumn(w,i,p) (int)SendMessage((w),LVM_INSERTCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
  1658. #define ListView_DeleteColumn(w,i) (BOOL)SendMessage((w),LVM_DELETECOLUMN,i,0)
  1659. #define ListView_GetColumnWidth(w,i) (int)SendMessage((w),LVM_GETCOLUMNWIDTH,i,0)
  1660. #define ListView_SetColumnWidth(w,i,x) (BOOL)SendMessage((w),LVM_SETCOLUMNWIDTH,i,MAKELPARAM((x),0))
  1661. #define ListView_CreateDragImage(w,i,p) (HIMAGELIST)SendMessage((w),LVM_CREATEDRAGIMAGE,i,(LPARAM)(LPPOINT)(p))
  1662. #define ListView_GetViewRect(w,p) (BOOL)SendMessage((w),LVM_GETVIEWRECT,0,(LPARAM)(LPRECT)(p))
  1663. #define ListView_GetTextColor(w) (COLORREF)SendMessage((w),LVM_GETTEXTCOLOR,0,0)
  1664. #define ListView_SetTextColor(w,c) (BOOL)SendMessage((w),LVM_SETTEXTCOLOR,0,(LPARAM)(COLORREF)(c))
  1665. #define ListView_GetTextBkColor(w) (COLORREF)SendMessage((w),LVM_GETTEXTBKCOLOR,0,0)
  1666. #define ListView_SetTextBkColor(w,c) (BOOL)SendMessage((w),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(c))
  1667. #define ListView_GetTopIndex(w) (int)SendMessage((w),LVM_GETTOPINDEX,0,0)
  1668. #define ListView_GetCountPerPage(w) (int)SendMessage((w),LVM_GETCOUNTPERPAGE,0,0)
  1669. #define ListView_GetOrigin(w,p) (BOOL)SendMessage((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
  1670. #define ListView_GetOrigin(w,p) (BOOL)SendMessage((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
  1671. #define ListView_Update(w,i) (BOOL)SendMessage((w),LVM_UPDATE,i,0)
  1672. #define ListView_SetItemState(w,i,d,m) \
  1673. { \
  1674.     LV_ITEM _lvi;\
  1675.     _lvi.stateMask=m;\
  1676.     _lvi.state=d;\
  1677.     SendMessage((w),LVM_SETITEMSTATE,i,(LPARAM)(LV_ITEM*)&_lvi);\
  1678. }
  1679. #define ListView_GetItemState(w,i,m) (UINT)SendMessage((w),LVM_GETITEMSTATE,i,m)
  1680. #define ListView_GetItemText(w,i,iS,s,n) \
  1681. { \
  1682.     LV_ITEM _lvi;\
  1683.     _lvi.iSubItem=iS;\
  1684.     _lvi.cchTextMax=n;\
  1685.     _lvi.pszText=s;\
  1686.     SendMessage((w),LVM_GETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
  1687. }
  1688. #define ListView_SetItemText(w,i,iS,s) \
  1689. { \
  1690.     LV_ITEM _lvi;\
  1691.     _lvi.iSubItem=iS;\
  1692.     _lvi.pszText=s;\
  1693.     SendMessage((w),LVM_SETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
  1694. }
  1695. #define ListView_SetItemCount(w,n) SendMessage((w),LVM_SETITEMCOUNT,n,0)
  1696. #define ListView_SortItems(w,f,l) (BOOL)SendMessage((w),LVM_SORTITEMS,l,(LPARAM)f)
  1697. #define ListView_SetItemPosition32(w,i,x,y) \
  1698. { \
  1699.     POINT p={x,y}; \
  1700.     SendMessage((w),LVM_SETITEMPOSITION32,i,(LPARAM)&p);\
  1701. }
  1702. #define ListView_GetSelectedCount(w) (UINT)SendMessage((w),LVM_GETSELECTEDCOUNT,0,0)
  1703.  
  1704. BOOL WINAPI MakeDragList(HWND);
  1705. void WINAPI MenuHelp(UINT,WPARAM,LPARAM,HMENU,HINSTANCE,HWND,PUINT);
  1706. #define MonthCal_GetColor(hwnd,icolor) SendMessage(hwnd,MCM_GETCOLOR,(WPARAM)icolor,(LPARAM)0)
  1707. #define MonthCal_GetCurSel(hwnd,lpsystime) SendMessage(hwnd,MCM_GETCURSEL,0,(LPARAM)lpsystime)
  1708. #define MonthCal_GetFirstDayOfWeek(hwnd) SendMessage(hwnd,MCM_GETFIRSTDAYOFWEEK,0,0)
  1709. #define MonthCal_GetMaxSelCount(hwnd) SendMessage(hwnd,MCM_GETMAXSELCOUNT,0,0)
  1710. #define MonthCal_GetMaxTodayWidth(hwnd) SendMessage(hwnd,MCM_GETMAXTODAYWIDTH,0,0)
  1711. #define MonthCal_GetMinReqRect(hwnd,lpRectInfo) SendMessage(hwnd,MCM_GETMINREQRECT,0,(LPARAM)lpRectInfo)
  1712. #define MonthCal_GetMonthDelta(hwnd) SendMessage(hwnd,MCM_GETMONTHDELTA,0,0)
  1713. #define MonthCal_GetMonthRange(hwnd,flag,systimearray) SendMessage(hwnd,MCM_GETMONTHRANGE,(WPARAM)flag,(LPARAM)systimearray)
  1714. #define MonthCal_GetRange(hwnd,systimearray) SendMessage(hwnd,MCM_GETRANGE,0,(LPARAM)systimearray)
  1715. #define MonthCal_GetSelRange(hwnd,systimearray) SendMessage(hwnd,MCM_GETSELRANGE,0,(LPARAM)systimearray)
  1716. #define MonthCal_GetToday(hwnd,systime) SendMessage(hwnd,MCM_GETTODAY,0,(LPARAM)systime)
  1717. #define MonthCal_GetUnicodeFormat(hwnd) SendMessage(hwnd,MCM_GETUNICODEFORMAT,0,0)
  1718. #define MonthCal_HitTest(hwnd,pmchittest) SendMessage(hwnd,MCM_HITTEST,0,(LPARAM)pmchittest)
  1719. #define MonthCal_SetColor(hwnd,icolor,clr) SendMessage(hwnd,MCM_SETCOLOR,(WPARAM)icolor,(LPARAM)clr)
  1720. #define MonthCal_SetCurSel(hwnd,lpsystime) SendMessage(hwnd,MCM_SETCURSEL,0,(LPARAM)lpsystime)
  1721. #define MonthCal_SetDayState(hwnd,imonths,lpdatestatearray) SendMessage(hwnd,MCM_SETDAYSTATE,(WPARAM)imonths,(LPARAM)lpdatestatearray)
  1722. #define MonthCal_SetFirstDayOfWeek(hwnd,iday) SendMessage(hwnd,MCM_SETFIRSTDAYOFWEEK,0,(LPARAM)iday)
  1723. #define MonthCal_SetMaxSelCount(hwnd,imax) SendMessage(hwnd,MCM_SETMAXSELCOUNT,(WPARAM)imax,0)
  1724. #define MonthCal_SetMonthDelta(hwnd,idelta) SendMessage(hwnd,MCM_SETMONTHDELTA,(WPARAM)idelta,0)
  1725. #define MonthCal_SetRange(hwnd,whichlimit,systimearray) SendMessage(hwnd,MCM_SETRANGE,whichlimit,systimearray)
  1726. #define MonthCal_SetSelRange(hwnd,systimearray) SendMessage(hwnd,MCM_SETSELRANGE,0,(LPARAM)systimearray)
  1727. #define MonthCal_SetToday(hwnd,systime) SendMessage(hwnd,MCM_SETTODAY,0,(LPARAM)systime)
  1728. #define MonthCal_SetUnicodeFormat(hwnd,unicode) SendMessage(hwnd,MCM_SETUNICODEFORMAT,(WPARAM)unicode,0)
  1729. BOOL WINAPI ShowHideMenuCtl(HWND,UINT,PINT);
  1730. #define TabCtrl_GetItem(w,i,p) (BOOL)SendMessage((w),TCM_GETITEM,i,(LPARAM)(TC_ITEM*)(p))
  1731. #define TabCtrl_SetItem(w,i,p) (BOOL)SendMessage((w),TCM_SETITEM,i,(LPARAM)(TC_ITEM*)(p))
  1732. #define TabCtrl_InsertItem(w,i,p) (int)SendMessage((w),TCM_INSERTITEM,i,(LPARAM)(const TC_ITEM*)(p))
  1733. #define TabCtrl_DeleteItem(w,i) (BOOL)SendMessage((w),TCM_DELETEITEM,i,0)
  1734. #define TabCtrl_DeleteAllItems(w) (BOOL)SendMessage((w),TCM_DELETEALLITEMS,0,0)
  1735. #define TabCtrl_GetItemRect(w,i,p) (BOOL)SendMessage((w),TCM_GETITEMRECT,i,(LPARAM)(LPRECT)(p))
  1736. #define TabCtrl_GetCurSel(w) (int)SendMessage((w),TCM_GETCURSEL,0,0)
  1737. #define TabCtrl_SetCurSel(w,i) (int)SendMessage((w),TCM_SETCURSEL,i,0)
  1738. #define TabCtrl_HitTest(w,p) (int)SendMessage((w),TCM_HITTEST,0,(LPARAM)(TC_HITTESTINFO*)(p))
  1739. #define TabCtrl_SetItemExtra(w,c) (BOOL)SendMessage((w),TCM_SETITEMEXTRA,c,0)
  1740. #define TabCtrl_AdjustRect(w,b,p) (int)SendMessage((w),TCM_ADJUSTRECT,b,(LPARAM)(LPRECT)p)
  1741. #define TabCtrl_SetItemSize(w,x,y) (DWORD)SendMessage((w),TCM_SETITEMSIZE,0,MAKELPARAM(x,y))
  1742. #define TabCtrl_RemoveImage(w,i) (void)SendMessage((w),TCM_REMOVEIMAGE,i,0)
  1743. #define TabCtrl_SetPadding(w,x,y) (void)SendMessage((w),TCM_SETPADDING,0,MAKELPARAM(x,y))
  1744. #define TabCtrl_GetRowCount(w) (int)SendMessage((w),TCM_GETROWCOUNT,0,0)
  1745. #define TabCtrl_GetToolTips(w) (HWND)SendMessage((w),TCM_GETTOOLTIPS,0,0)
  1746. #define TabCtrl_SetToolTips(w,t) (void)SendMessage((w),TCM_SETTOOLTIPS,(WPARAM)t,0)
  1747. #define TabCtrl_GetCurFocus(w) (int)SendMessage((w),TCM_GETCURFOCUS,0,0)
  1748. #define TabCtrl_SetCurFocus(w,i) (void)SendMessage((w),TCM_SETCURFOCUS,i,0)
  1749. #define TabCtrl_SetImageList(w,h) (HIMAGELIST)SendMessage((w),TCM_SETIMAGELIST,0,(LPARAM)(UINT)(h))
  1750. #define TabCtrl_GetItemCount(w) (int)SendMessage((w),TCM_GETITEMCOUNT,0,0)
  1751. #define TreeView_InsertItem(w,i) (HTREEITEM)SendMessage((w),TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)(i))
  1752. #define TreeView_DeleteItem(w,i) (BOOL)SendMessage((w),TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(i))
  1753. #define TreeView_DeleteAllItems(w) (BOOL)SendMessage((w),TVM_DELETEITEM,0,(LPARAM)TVI_ROOT)
  1754. #define TreeView_Expand(w,i,c) (BOOL)SendMessage((w),TVM_EXPAND,c,(LPARAM)(HTREEITEM)(i))
  1755. #define TreeView_GetItemRect(w,i,p,c) (*(HTREEITEM*)p=(i),(BOOL)SendMessage((w),TVM_GETITEMRECT,c,(LPARAM)(LPRECT)(p)))
  1756. #define TreeView_GetCount(w) (UINT)SendMessage((w),TVM_GETCOUNT,0,0)
  1757. #define TreeView_GetIndent(w) (UINT)SendMessage((w),TVM_GETINDENT,0,0)
  1758. #define TreeView_SetIndent(w,i) (BOOL)SendMessage((w),TVM_SETINDENT,indent,0)
  1759. #define TreeView_GetImageList(w,i) (HIMAGELIST)SendMessage((w),TVM_GETIMAGELIST,i,0)
  1760. #define TreeView_SetImageList(w,h,i) (HIMAGELIST)SendMessage((w),TVM_SETIMAGELIST,i,(LPARAM)(HIMAGELIST)(h))
  1761. #define TreeView_GetNextItem(w,i,c) (HTREEITEM)SendMessage((w),TVM_GETNEXTITEM,c,(LPARAM)(HTREEITEM)(i))
  1762. #define TreeView_GetChild(w,i)    TreeView_GetNextItem(w,i,TVGN_CHILD)
  1763. #define TreeView_GetNextSibling(w,i)    TreeView_GetNextItem(w,i,TVGN_NEXT)
  1764. #define TreeView_GetPrevSibling(w,i)    TreeView_GetNextItem(w,i,TVGN_PREVIOUS)
  1765. #define TreeView_GetParent(w,i)    TreeView_GetNextItem(w,i,TVGN_PARENT)
  1766. #define TreeView_GetFirstVisible(w)    TreeView_GetNextItem(w,NULL,TVGN_FIRSTVISIBLE)
  1767. #define TreeView_GetNextVisible(w,i)    TreeView_GetNextItem(w,i,TVGN_NEXTVISIBLE)
  1768. #define TreeView_GetPrevVisible(w,i)    TreeView_GetNextItem(w,i,TVGN_PREVIOUSVISIBLE)
  1769. #define TreeView_GetSelection(w)    TreeView_GetNextItem(w,NULL,TVGN_CARET)
  1770. #define TreeView_GetDropHilight(w)    TreeView_GetNextItem(w,NULL,TVGN_DROPHILITE)
  1771. #define TreeView_GetRoot(w)    TreeView_GetNextItem(w,NULL,TVGN_ROOT)
  1772. #define TreeView_Select(w,i,c) (HTREEITEM)SendMessage((w),TVM_SELECTITEM,c,(LPARAM)(HTREEITEM)(i))
  1773. #define TreeView_SelectItem(w,i)    TreeView_Select(w,i,TVGN_CARET)
  1774. #define TreeView_SelectDropTarget(w,i)    TreeView_Select(w,i,TVGN_DROPHILITE)
  1775. #define TreeView_SelectSetFirstVisible(w,i)    TreeView_Select(w,i,TVGN_FIRSTVISIBLE)
  1776. #define TreeView_GetItem(w,i) (BOOL)SendMessage((w),TVM_GETITEM,0,(LPARAM)(TV_ITEM*)(i))
  1777. #define TreeView_SetItem(w,i) (BOOL)SendMessage((w),TVM_SETITEM,0,(LPARAM)(const TV_ITEM*)(i))
  1778. #define TreeView_EditLabel(w,i) (HWND)SendMessage((w),TVM_EDITLABEL,0,(LPARAM)(HTREEITEM)(i))
  1779. #define TreeView_GetEditControl(w) (HWND)SendMessage((w),TVM_GETEDITCONTROL,0,0)
  1780. #define TreeView_GetVisibleCount(w) (UINT)SendMessage((w),TVM_GETVISIBLECOUNT,0,0)
  1781. #define TreeView_HitTest(w,p) (HTREEITEM)SendMessage((w),TVM_HITTEST,0,(LPARAM)(LPTV_HITTESTINFO)(p))
  1782. #define TreeView_CreateDragImage(w,i) (HIMAGELIST)SendMessage((w),TVM_CREATEDRAGIMAGE,0,(LPARAM)(HTREEITEM)(i))
  1783. #define TreeView_SortChildren(w,i,r) (BOOL)SendMessage((w),TVM_SORTCHILDREN,r,(LPARAM)(HTREEITEM)(i))
  1784. #define TreeView_EnsureVisible(w,i) (BOOL)SendMessage((w),TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(i))
  1785. #define TreeView_SortChildrenCB(w,s,r) (BOOL)SendMessage((w),TVM_SORTCHILDRENCB,r,(LPARAM)(LPTV_SORTCB)(s))
  1786. #define TreeView_EndEditLabelNow(w,f) (BOOL)SendMessage((w),TVM_ENDEDITLABELNOW,f,0)
  1787. #define TreeView_GetISearchString(w,s) (BOOL)SendMessage((w),TVM_GETISEARCHSTRING,0,(LPARAM)s)
  1788.  
  1789. #if (_WIN32_IE >= 0x0300)
  1790. WINBOOL WINAPI ImageList_SetImageCount(HIMAGELIST,UINT);
  1791. WINBOOL WINAPI ImageList_Copy(HIMAGELIST,int,HIMAGELIST,int,UINT);
  1792. WINBOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
  1793. #define TabCtrl_SetMinTabWidth(hwnd, x) SendMessage((hwnd), TCM_SETMINTABWIDTH, 0, x)
  1794. #define TabCtrl_DeselectAll(hwnd, fExcludeFocus) SendMessage((hwnd), TCM_DESELECTALL, fExcludeFocus, 0)
  1795. #endif
  1796. #if (_WIN32_IE >= 0x0400)
  1797. #define TabCtrl_HighlightItem(hwnd, i, fHighlight) SendMessage((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)i, (LPARAM)MAKELONG (fHighlight, 0))
  1798. #define TabCtrl_SetExtendedStyle(hwnd, dw) SendMessage((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw)
  1799. #define TabCtrl_GetExtendedStyle(hwnd) SendMessage((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0)
  1800. #define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) SendMessage((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
  1801. #define TabCtrl_GetUnicodeFormat(hwnd) SendMessage((hwnd), TCM_GETUNICODEFORMAT, 0, 0)
  1802. #endif
  1803.  
  1804. #ifdef UNICODE
  1805. #define ANIMATE_CLASS ANIMATE_CLASSW
  1806. #define HOTKEY_CLASS HOTKEY_CLASSW
  1807. #define PROGRESS_CLASS PROGRESS_CLASSW
  1808. #define STATUSCLASSNAME STATUSCLASSNAMEW
  1809. #define TOOLBARCLASSNAME TOOLBARCLASSNAMEW
  1810. #define TOOLTIPS_CLASS TOOLTIPS_CLASSW
  1811. #define TRACKBAR_CLASS TRACKBAR_CLASSW
  1812. #define UPDOWN_CLASS UPDOWN_CLASSW
  1813. #define WC_HEADER WC_HEADERW
  1814. #define WC_LISTVIEW WC_LISTVIEWW
  1815. #define WC_TABCONTROL WC_TABCONTROLW
  1816. #define WC_TREEVIEW WC_TREEVIEWW
  1817. typedef HD_ITEMW HD_ITEM;
  1818. typedef TOOLINFOW TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
  1819. typedef TTHITTESTINFOW TTHITTESTINFO,*LPHITTESTINFO;
  1820. typedef TOOLTIPTEXTW TOOLTIPTEXT,*LPTOOLTIPTEXT;
  1821. typedef TV_ITEMW TV_ITEM,*LPTV_ITEM;
  1822. typedef TV_INSERTSTRUCTW TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
  1823. typedef NM_TREEVIEWW NM_TREEVIEW,*LPNM_TREEVIEW;
  1824. #define ACM_OPEN ACM_OPENW
  1825. #define SB_GETTEXT    SB_GETTEXTW
  1826. #define SB_SETTEXT    SB_SETTEXTW
  1827. #define SB_GETTEXTLENGTH    SB_GETTEXTLENGTHW
  1828. #define STATUSCLASSNAME         STATUSCLASSNAMEW
  1829. #define WC_HEADER WC_HEADERW
  1830. #define HDM_INSERTITEM HDM_INSERTITEMW
  1831. #define HDM_GETITEM HDM_GETITEMW
  1832. #define HDM_SETITEM HDM_SETITEMW
  1833. #define HDN_ITEMCHANGING    HDN_ITEMCHANGINGW
  1834. #define HDN_ITEMCHANGED    HDN_ITEMCHANGEDW
  1835. #define HDN_ITEMCLICK    HDN_ITEMCLICKW
  1836. #define HDN_ITEMDBLCLICK    HDN_ITEMDBLCLICKW
  1837. #define HDN_DIVIDERDBLCLICK    HDN_DIVIDERDBLCLICKW
  1838. #define HDN_BEGINTRACK    HDN_BEGINTRACKW
  1839. #define HDN_ENDTRACK    HDN_ENDTRACKW
  1840. #define HDN_TRACK    HDN_TRACKW
  1841. #define HD_NOTIFY HD_NOTIFYW
  1842. #define TOOLBARCLASSNAME TOOLBARCLASSNAMEW
  1843. #define TBSAVEPARAMS TBSAVEPARAMSW
  1844. #define TB_GETBUTTONTEXT TB_GETBUTTONTEXTW
  1845. #define TB_SAVERESTORE TB_SAVERESTOREW
  1846. #define TB_ADDSTRING TB_ADDSTRINGW
  1847. #define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW
  1848. #define TBNOTIFY TBNOTIFYW
  1849. #define LPTBNOTIFY LPTBNOTIFYW
  1850. #define TOOLTIPS_CLASS TOOLTIPS_CLASSW
  1851. #define TTM_ADDTOOL    TTM_ADDTOOLW
  1852. #define TTM_DELTOOL    TTM_DELTOOLW
  1853. #define TTM_NEWTOOLRECT    TTM_NEWTOOLRECTW
  1854. #define TTM_GETTOOLINFO    TTM_GETTOOLINFOW
  1855. #define TTM_SETTOOLINFO    TTM_SETTOOLINFOW
  1856. #define TTM_HITTEST    TTM_HITTESTW
  1857. #define TTM_GETTEXT    TTM_GETTEXTW
  1858. #define TTM_UPDATETIPTEXT    TTM_UPDATETIPTEXTW
  1859. #define TTM_ENUMTOOLS    TTM_ENUMTOOLSW
  1860. #define TTM_GETCURRENTTOOL    TTM_GETCURRENTTOOLW
  1861. #define TTN_NEEDTEXT TTN_NEEDTEXTW
  1862. #define SB_GETTEXT    SB_GETTEXTW
  1863. #define SB_SETTEXT    SB_SETTEXTW
  1864. #define SB_GETTEXTLENGTH    SB_GETTEXTLENGTHW
  1865. #define TRACKBAR_CLASS TRACKBAR_CLASSW
  1866. #define UPDOWN_CLASS UPDOWN_CLASSW
  1867. #define PROGRESS_CLASS PROGRESS_CLASSW
  1868. #define HOTKEY_CLASS HOTKEY_CLASSW
  1869. #define WC_LISTVIEW WC_LISTVIEWW
  1870. #define LV_ITEM LV_ITEMW
  1871. #define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW
  1872. #define LVM_GETITEM    LVM_GETITEMW
  1873. #define LVM_SETITEM LVM_SETITEMW
  1874. #define LVM_INSERTITEM LVM_INSERTITEMW
  1875. #define LV_FINDINFO LV_FINDINFOW
  1876. #define LVM_FINDITEM LVM_FINDITEMW
  1877. #define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHW
  1878. #define LVM_EDITLABEL LVM_EDITLABELW
  1879. #define LV_COLUMN LV_COLUMNW
  1880. #define LVM_GETCOLUMN LVM_GETCOLUMNW
  1881. #define LVM_SETCOLUMN LVM_SETCOLUMNW
  1882. #define LVM_INSERTCOLUMN LVM_INSERTCOLUMNW
  1883. #define LVM_GETITEMTEXT LVM_GETITEMTEXTW
  1884. #define LVM_SETITEMTEXT LVM_SETITEMTEXTW
  1885. #define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGW
  1886. #define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITW
  1887. #define LVN_ENDLABELEDIT LVN_ENDLABELEDITW
  1888. #define LVN_GETDISPINFO LVN_GETDISPINFOW
  1889. #define LVN_SETDISPINFO LVN_SETDISPINFOW
  1890. #define LV_DISPINFO LV_DISPINFOW
  1891. #define WC_TREEVIEW WC_TREEVIEWW
  1892. #define TVM_INSERTITEM TVM_INSERTITEMW
  1893. #define TVM_GETITEM TVM_GETITEMW
  1894. #define TVM_SETITEM TVM_SETITEMW
  1895. #define TVM_EDITLABEL TVM_EDITLABELW
  1896. #define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGW
  1897. #define TV_DISPINFO TV_DISPINFOW
  1898. #define TVN_SELCHANGING TVN_SELCHANGINGW
  1899. #define TVN_SELCHANGED TVN_SELCHANGEDW
  1900. #define TVN_GETDISPINFO TVN_GETDISPINFOW
  1901. #define TVN_SETDISPINFO TVN_SETDISPINFOW
  1902. #define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGW
  1903. #define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDW
  1904. #define TVN_BEGINDRAG TVN_BEGINDRAGW
  1905. #define TVN_BEGINRDRAG TVN_BEGINRDRAGW
  1906. #define TVN_DELETEITEM TVN_DELETEITEMW
  1907. #define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITW
  1908. #define TVN_ENDLABELEDIT TVN_ENDLABELEDITW
  1909. #define WC_TABCONTROL WC_TABCONTROLW
  1910. #define TC_ITEMHEADER TC_ITEMHEADERW
  1911. #define TC_ITEM TC_ITEMW
  1912. #define TCM_GETITEM TCM_GETITEMW
  1913. #define TCM_SETITEM TCM_SETITEMW
  1914. #define TCM_INSERTITEM TCM_INSERTITEMW
  1915. #define CreateStatusWindow CreateStatusWindowW
  1916. #define DrawStatusText DrawStatusTextW
  1917. #define ImageList_LoadImage ImageList_LoadImageW
  1918. #define DTM_SETFORMAT DTM_SETFORMATW
  1919. #define DTN_USERSTRING DTN_USERSTRINGW
  1920. #define DTN_WMKEYDOWN DTN_WMKEYDOWNW
  1921. #define DTN_FORMAT DTN_FORMATW
  1922. #define DTN_FORMATQUERY DTN_FORMATQUERYW
  1923. #define DATETIMEPICK_CLASS DATETIMEPICK_CLASSW
  1924. #define MONTHCAL_CLASS MONTHCAL_CLASSW
  1925. #define REBARCLASSNAME REBARCLASSNAMEW
  1926. typedef REBARBANDINFOW REBARBANDINFO,*LPREBARBANDINFO;
  1927. #define LPCREBARBANDINFO LPCREBARBANDINFOW
  1928. #define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE
  1929. #define RB_INSERTBAND RB_INSERTBANDW
  1930. #define RB_SETBANDINFO RB_SETBANDINFOW
  1931. #else
  1932. #define ANIMATE_CLASS ANIMATE_CLASSA
  1933. #define HOTKEY_CLASS HOTKEY_CLASSA
  1934. #define PROGRESS_CLASS PROGRESS_CLASSA
  1935. #define STATUSCLASSNAME STATUSCLASSNAMEA
  1936. #define TOOLBARCLASSNAME TOOLBARCLASSNAMEA
  1937. #define TOOLTIPS_CLASS TOOLTIPS_CLASSA
  1938. #define TRACKBAR_CLASS TRACKBAR_CLASSA
  1939. #define UPDOWN_CLASS UPDOWN_CLASSA
  1940. #define WC_HEADER WC_HEADERA
  1941. #define WC_LISTVIEW WC_LISTVIEWA
  1942. #define WC_TABCONTROL WC_TABCONTROLA
  1943. #define WC_TREEVIEW WC_TREEVIEWA
  1944. typedef HD_ITEMA HD_ITEM;
  1945. typedef TOOLINFOA TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
  1946. typedef TTHITTESTINFOA TTHITTESTINFO,*LPHITTESTINFO;
  1947. typedef TOOLTIPTEXTA TOOLTIPTEXT,*LPTOOLTIPTEXT;
  1948. typedef TV_ITEMA TV_ITEM,*LPTV_ITEM;
  1949. typedef TV_INSERTSTRUCTA TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
  1950. typedef NM_TREEVIEWA NM_TREEVIEW,*LPNM_TREEVIEW;
  1951. #define ACM_OPEN ACM_OPENA
  1952. #define SB_GETTEXT    SB_GETTEXTA
  1953. #define SB_SETTEXT    SB_SETTEXTA
  1954. #define SB_GETTEXTLENGTH    SB_GETTEXTLENGTHA
  1955. #define HDM_INSERTITEM HDM_INSERTITEMA
  1956. #define HDM_GETITEM HDM_GETITEMA
  1957. #define HDM_SETITEM HDM_SETITEMA
  1958. #define HDN_ITEMCHANGING    HDN_ITEMCHANGINGA
  1959. #define HDN_ITEMCHANGED    HDN_ITEMCHANGEDA
  1960. #define HDN_ITEMCLICK    HDN_ITEMCLICKA
  1961. #define HDN_ITEMDBLCLICK    HDN_ITEMDBLCLICKA
  1962. #define HDN_DIVIDERDBLCLICK    HDN_DIVIDERDBLCLICKA
  1963. #define HDN_BEGINTRACK    HDN_BEGINTRACKA
  1964. #define HDN_ENDTRACK    HDN_ENDTRACKA
  1965. #define HDN_TRACK    HDN_TRACKA
  1966. #define HD_NOTIFY HD_NOTIFYA
  1967. #define TBSAVEPARAMS TBSAVEPARAMSA
  1968. #define TB_GETBUTTONTEXT TB_GETBUTTONTEXTA
  1969. #define TB_SAVERESTORE TB_SAVERESTOREA
  1970. #define TB_ADDSTRING TB_ADDSTRINGA
  1971. #define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA
  1972. #define TBNOTIFY TBNOTIFYA
  1973. #define LPTBNOTIFY LPTBNOTIFYA
  1974. #define TTM_ADDTOOL    TTM_ADDTOOLA
  1975. #define TTM_DELTOOL    TTM_DELTOOLA
  1976. #define TTM_NEWTOOLRECT    TTM_NEWTOOLRECTA
  1977. #define TTM_GETTOOLINFO    TTM_GETTOOLINFOA
  1978. #define TTM_SETTOOLINFO    TTM_SETTOOLINFOA
  1979. #define TTM_HITTEST    TTM_HITTESTA
  1980. #define TTM_GETTEXT    TTM_GETTEXTA
  1981. #define TTM_UPDATETIPTEXT    TTM_UPDATETIPTEXTA
  1982. #define TTM_ENUMTOOLS    TTM_ENUMTOOLSA
  1983. #define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLA
  1984. #define TTN_NEEDTEXT TTN_NEEDTEXTA
  1985. #define SB_GETTEXT    SB_GETTEXTA
  1986. #define SB_SETTEXT    SB_SETTEXTA
  1987. #define SB_GETTEXTLENGTH    SB_GETTEXTLENGTHA
  1988. #define LV_ITEM LV_ITEMA
  1989. #define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA
  1990. #define LVM_GETITEM    LVM_GETITEMA
  1991. #define LVM_SETITEM LVM_SETITEMA
  1992. #define LVM_INSERTITEM LVM_INSERTITEMA
  1993. #define LV_FINDINFO LV_FINDINFOA
  1994. #define LVM_FINDITEM LVM_FINDITEMW
  1995. #define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHA
  1996. #define LVM_EDITLABEL LVM_EDITLABELA
  1997. #define LV_COLUMN LV_COLUMNA
  1998. #define LVM_GETCOLUMN LVM_GETCOLUMNA
  1999. #define LVM_SETCOLUMN LVM_SETCOLUMNA
  2000. #define LVM_INSERTCOLUMN LVM_INSERTCOLUMNA
  2001. #define LVM_GETITEMTEXT LVM_GETITEMTEXTA
  2002. #define LVM_SETITEMTEXT LVM_SETITEMTEXTA
  2003. #define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGA
  2004. #define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA
  2005. #define LVN_ENDLABELEDIT LVN_ENDLABELEDITA
  2006. #define LVN_GETDISPINFO LVN_GETDISPINFOA
  2007. #define LVN_SETDISPINFO LVN_SETDISPINFOA
  2008. #define LV_DISPINFO LV_DISPINFOA
  2009. #define TVM_INSERTITEM TVM_INSERTITEMA
  2010. #define TVM_GETITEM TVM_GETITEMA
  2011. #define TVM_SETITEM TVM_SETITEMA
  2012. #define TVM_EDITLABEL TVM_EDITLABELA
  2013. #define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGA
  2014. #define TV_DISPINFO TV_DISPINFOA
  2015. #define TVN_SELCHANGING TVN_SELCHANGINGA
  2016. #define TVN_SELCHANGED TVN_SELCHANGEDA
  2017. #define TVN_GETDISPINFO TVN_GETDISPINFOA
  2018. #define TVN_SETDISPINFO TVN_SETDISPINFOA
  2019. #define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGA
  2020. #define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDA
  2021. #define TVN_BEGINDRAG TVN_BEGINDRAGA
  2022. #define TVN_BEGINRDRAG TVN_BEGINRDRAGA
  2023. #define TVN_DELETEITEM TVN_DELETEITEMA
  2024. #define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITA
  2025. #define TVN_ENDLABELEDIT TVN_ENDLABELEDITA
  2026. #define TC_ITEMHEADER TC_ITEMHEADERA
  2027. #define TC_ITEM TC_ITEMA
  2028. #define TCM_GETITEM TCM_GETITEMA
  2029. #define TCM_SETITEM TCM_SETITEMA
  2030. #define TCM_INSERTITEM TCM_INSERTITEMA
  2031. #define CreateStatusWindow CreateStatusWindowA
  2032. #define DrawStatusText DrawStatusTextA
  2033. #define ImageList_LoadImage ImageList_LoadImageA
  2034. #define DTM_SETFORMAT      DTM_SETFORMATA
  2035. #define DTN_USERSTRING DTN_USERSTRINGA
  2036. #define DTN_WMKEYDOWN DTN_WMKEYDOWNA
  2037. #define DTN_FORMAT DTN_FORMATA
  2038. #define DTN_FORMATQUERY DTN_FORMATQUERYA
  2039. #define DATETIMEPICK_CLASS DATETIMEPICK_CLASSA
  2040. #define MONTHCAL_CLASS MONTHCAL_CLASSA
  2041. #define REBARCLASSNAME REBARCLASSNAMEA
  2042. typedef REBARBANDINFOA REBARBANDINFO,*LPREBARBANDINFO;
  2043. #define LPCREBARBANDINFO LPCREBARBANDINFOA
  2044. #define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE
  2045. #define RB_INSERTBAND RB_INSERTBANDA
  2046. #define RB_SETBANDINFO RB_SETBANDINFOA
  2047. #endif
  2048. #endif
  2049.  
  2050. #ifdef __cplusplus
  2051. }
  2052. #endif
  2053. #endif
  2054.