Differences From Artifact [4681e85cdf159780]:
- File
src/win32/commctrl.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [62776dff0a2d0b7a]:
- File
src/win32/commctrl.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
4 4 * Windows API header module *
5 5 * *
6 6 * Translated from MinGW API for MS-Windows 3.12 *
7 7 * *
8 8 * Placed into public domain *
9 9 \***********************************************************************/
10 10 module win32.commctrl;
11 -pragma(lib, "comctl32.lib");
11 +pragma(lib, "comctl32");
12 12
13 13 private import win32.w32api, win32.windef, win32.winuser;
14 14 private import win32.winbase; // for SYSTEMTIME
15 15 private import win32.objfwd; // for LPSTREAM
16 16
17 17 import win32.prsht;
18 18
................................................................................
53 53 HDM_FIRST = 0x1200
54 54 }
55 55
56 56 enum {
57 57 ACM_OPENA = WM_USER + 100,
58 58 ACM_PLAY = WM_USER + 101,
59 59 ACM_STOP = WM_USER + 102,
60 - ACM_OPENW = WM_USER + 103
60 + ACM_OPENW = WM_USER + 103,
61 + ACM_ISPLAYING = WM_USER + 104
61 62 }
62 63
63 64 enum {
64 65 ACN_START = 1,
65 66 ACN_STOP
66 67 }
67 68
................................................................................
277 278 SBN_LAST = -899U,
278 279 PGN_FIRST = -900U,
279 280 PGN_LAST = -950U,
280 281 PGN_SCROLL = PGN_FIRST-1,
281 282 PGN_CALCSIZE = PGN_FIRST-2
282 283 }
283 284 }
285 +
286 +static if (_WIN32_IE >= 0x500) {
287 + enum {
288 + WMN_FIRST = -1000U,
289 + WMN_LAST = -1200U,
290 + }
291 +}
292 +
293 +static if (_WIN32_WINNT >= 0x501)
294 +{
295 + enum {
296 + BCN_FIRST = -1250U,
297 + BCN_LAST = -1350U,
298 + }
299 +}
300 +
301 +static if (_WIN32_WINNT >= 0x600)
302 +{
303 + enum {
304 + TRBN_FIRST = -1501U,
305 + TRBN_LAST = -1519U,
306 + }
307 +}
284 308
285 309 enum {
286 310 HDI_WIDTH = 1,
287 311 HDI_HEIGHT = 1,
288 312 HDI_TEXT = 2,
289 313 HDI_FORMAT = 4,
290 314 HDI_LPARAM = 8,
................................................................................
374 398 }
375 399 }
376 400 static if (_WIN32_IE >= 0x400) {
377 401 enum {
378 402 HDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
379 403 HDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
380 404 }
405 +}
406 +static if (_WIN32_IE >= 0x500) {
407 + enum {
408 + HDM_SETBITMAPMARGIN = HDM_FIRST + 20,
409 + HDM_GETBITMAPMARGIN = HDM_FIRST + 21,
410 + HDM_SETFILTERCHANGETIMEOUT = HDM_FIRST + 22,
411 + HDM_EDITFILTER = HDM_FIRST + 23,
412 + HDM_CLEARFILTER = HDM_FIRST + 24,
413 + }
414 +}
415 +static if (_WIN32_IE >= 0x600) {
416 + enum {
417 + HDM_GETITEMDROPDOWNRECT = HDM_FIRST + 25,
418 + HDM_GETOVERFLOWRECT = HDM_FIRST + 26,
419 + HDM_GETFOCUSEDITEM = HDM_FIRST + 27,
420 + HDM_SETFOCUSEDITEM = HDM_FIRST + 28,
421 + }
381 422 }
382 423
383 424 enum {
384 425 HHT_NOWHERE = 1,
385 426 HHT_ONHEADER = 2,
386 427 HHT_ONDIVIDER = 4,
387 428 HHT_ONDIVOPEN = 8,
................................................................................
709 750 TB_GETPADDING,
710 751 TB_SETPADDING,
711 752 TB_SETINSERTMARKCOLOR,
712 753 TB_GETINSERTMARKCOLOR,
713 754 TB_MAPACCELERATORW,
714 755 TB_GETSTRINGW,
715 756 TB_GETSTRINGA, // = WM_USER + 92
757 + TB_SETHOTITEM2 = WM_USER + 94,
758 + TB_SETLISTGAP = WM_USER + 96,
759 + TB_GETIMAGELISTCOUNT = WM_USER + 98,
760 + TB_GETIDEALSIZE = WM_USER + 99,
761 + //TB_TRANSLATEACCELERATOR = CCM_TRANSLATEACCELERATOR,
716 762 TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME,
717 763 TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME,
718 764 TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
719 765 TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
720 766 }
721 767 }
768 +
769 +static if (_WIN32_WINNT >= 0x501) {
770 + enum {
771 + TB_GETMETRICS = WM_USER + 101,
772 + TB_SETMETRICS = WM_USER + 102,
773 + }
774 +}
775 +
776 +static if (_WIN32_WINNT >= 0x600) {
777 + enum {
778 + TB_GETITEMDROPDOWNRECT = WM_USER + 103,
779 + TB_SETPRESSEDIMAGELIST = WM_USER + 104,
780 + TB_GETPRESSEDIMAGELIST = WM_USER + 105,
781 + }
782 +}
722 783
723 784 const TBBF_LARGE = 1;
724 785
725 786 enum {
726 787 TBN_GETBUTTONINFOA = TBN_FIRST -0,
727 788 TBN_BEGINDRAG = TBN_FIRST -1,
728 789 TBN_ENDDRAG = TBN_FIRST -2,
................................................................................
879 940 enum {
880 941 TTM_UPDATE = WM_USER + 29,
881 942 TTM_GETBUBBLESIZE,
882 943 TTM_ADJUSTRECT,
883 944 TTM_SETTITLEA,
884 945 TTM_SETTITLEW // = WM_USER + 33
885 946 }
947 + static if (_WIN32_IE >= 0x500)
948 + {
949 + alias TTM_SETTITLEW TTM_SETTITLE;
950 + }
951 + else
952 + {
953 + alias TTM_SETTITLEA TTM_SETTITLE;
954 + }
955 +}
956 +
957 +static if (_WIN32_WINNT >= 0x501) {
958 + enum {
959 + TTM_POPUP = (WM_USER + 34),
960 + TTM_GETTITLE = (WM_USER + 35),
961 + }
886 962 }
887 963
888 964 enum {
889 965 TTN_GETDISPINFOA = TTN_FIRST - 0,
890 966 TTN_GETDISPINFOW = TTN_FIRST - 10,
891 967 TTN_NEEDTEXTA = TTN_GETDISPINFOA,
892 968 TTN_NEEDTEXTW = TTN_GETDISPINFOW,
................................................................................
1105 1181 PBM_STEPIT, // = WM_USER + 5
1106 1182 PBM_SETRANGE32 = 1030,
1107 1183 PBM_GETRANGE,
1108 1184 PBM_GETPOS,
1109 1185 PBM_SETBARCOLOR, // = 1033
1110 1186 PBM_SETBKCOLOR = CCM_SETBKCOLOR
1111 1187 }
1188 +
1189 +static if (_WIN32_WINNT >= 0x501) {
1190 + enum {
1191 + PBM_SETMARQUEE = WM_USER + 10,
1192 + }
1193 +}
1194 +
1195 +static if (_WIN32_WINNT >= 0x600) {
1196 + enum {
1197 + PBM_GETSTEP = WM_USER + 13,
1198 + PBM_GETBKCOLOR,
1199 + PBM_GETBARCOLOR,
1200 + PBM_SETSTATE,
1201 + PBM_GETSTATE,
1202 + }
1203 +}
1112 1204
1113 1205 enum {
1114 1206 PBS_SMOOTH = 1,
1115 1207 PBS_VERTICAL = 4
1116 1208 }
1209 +
1210 +static if (_WIN32_WINNT >= 0x501) {
1211 + enum {
1212 + PBS_MARQUEE = 8,
1213 + }
1214 +}
1215 +
1216 +static if (_WIN32_WINNT >= 0x600) {
1217 + enum {
1218 + PBS_SMOOTHREVERSE = 16,
1219 + }
1220 +}
1117 1221
1118 1222 enum {
1119 1223 LVS_ICON,
1120 1224 LVS_REPORT,
1121 1225 LVS_SMALLICON,
1122 1226 LVS_LIST, // = 3
1123 1227 LVS_TYPEMASK = 3,
................................................................................
1254 1358 enum {
1255 1359 LVM_GETBKCOLOR = LVM_FIRST,
1256 1360 LVM_SETBKCOLOR,
1257 1361 LVM_GETIMAGELIST,
1258 1362 LVM_SETIMAGELIST,
1259 1363 LVM_GETITEMCOUNT, // = LVM_FIRST + 4
1260 1364 LVM_SORTITEMSEX = LVM_FIRST + 81,
1365 + LVM_GETGROUPSTATE = LVM_FIRST + 92,
1366 + LVM_GETFOCUSEDGROUP,
1367 + LVM_GETGROUPRECT = LVM_FIRST + 98,
1261 1368 LVM_SETVIEW = LVM_FIRST + 142,
1262 1369 LVM_GETVIEW, // = LVM_FIRST + 143
1263 1370 LVM_INSERTGROUP = LVM_FIRST + 145,
1264 1371 LVM_SETGROUPINFO = LVM_FIRST + 147,
1265 1372 LVM_GETGROUPINFO = LVM_FIRST + 149,
1266 1373 LVM_REMOVEGROUP,
1267 1374 LVM_MOVEGROUP, // = LVM_FIRST + 151
1375 + LVM_GETGROUPCOUNT,
1376 + LVM_GETGROUPINFOBYINDEX,
1377 + LVM_MOVEITEMTOGROUP,
1268 1378 LVM_SETGROUPMETRICS = LVM_FIRST + 155,
1269 1379 LVM_GETGROUPMETRICS,
1270 1380 LVM_ENABLEGROUPVIEW,
1271 1381 LVM_SORTGROUPS,
1272 1382 LVM_INSERTGROUPSORTED,
1273 1383 LVM_REMOVEALLGROUPS,
1274 1384 LVM_HASGROUP,
................................................................................
1284 1394 LVM_GETINSERTMARKCOLOR, // = LVM_FIRST + 171
1285 1395 LVM_SETINFOTIP = LVM_FIRST + 173,
1286 1396 LVM_GETSELECTEDCOLUMN,
1287 1397 LVM_ISGROUPVIEWENABLED,
1288 1398 LVM_GETOUTLINECOLOR,
1289 1399 LVM_SETOUTLINECOLOR, // = LVM_FIRST + 177
1290 1400 LVM_CANCELEDITLABEL = LVM_FIRST + 179,
1291 - LVM_MAPIDTOINDEX = LVM_FIRST + 181
1401 + LVM_MAPINDEXTOID = LVM_FIRST + 180,
1402 + LVM_MAPIDTOINDEX = LVM_FIRST + 181,
1403 + LVM_ISITEMVISIBLE = LVM_FIRST + 182,
1292 1404 }
1293 1405
1294 1406 static if (_WIN32_WINNT >= 0x501) {
1295 1407 enum {
1296 1408 LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140
1297 1409 }
1298 1410 }
1411 +
1412 +static if (_WIN32_WINNT >= 0x600) {
1413 + enum {
1414 + LVM_GETEMPTYTEXT = LVM_FIRST + 204,
1415 + LVM_GETFOOTERRECT = LVM_FIRST + 205,
1416 + LVM_GETFOOTERINFO = LVM_FIRST + 206,
1417 + LVM_GETFOOTERITEMRECT = LVM_FIRST + 207,
1418 + LVM_GETFOOTERITEM = (LVM_FIRST + 208),
1419 + LVM_GETITEMINDEXRECT = (LVM_FIRST + 209),
1420 + LVM_SETITEMINDEXSTATE = (LVM_FIRST + 210),
1421 + LVM_GETNEXTITEMINDEX = (LVM_FIRST + 211),
1422 + }
1423 +}
1299 1424
1300 1425 enum {
1301 1426 LVIF_TEXT = 1,
1302 1427 LVIF_IMAGE = 2,
1303 1428 LVIF_PARAM = 4,
1304 1429 LVIF_STATE = 8
1305 1430 }
................................................................................
1612 1737 TVIS_USERMASK = 0xF000
1613 1738 }
1614 1739
1615 1740 enum {
1616 1741 I_CHILDRENCALLBACK = -1
1617 1742 }
1618 1743
1619 -alias HANDLE HTREEITEM;
1744 +mixin DECLARE_HANDLE!("HTREEITEM");
1745 +mixin DECLARE_HANDLE!("HIMAGELIST");
1620 1746
1747 +version(Win64)
1748 +{
1749 +const HTREEITEM
1750 + TVI_ROOT = cast(HTREEITEM) cast(ULONG_PTR)-0x10000,
1751 + TVI_FIRST = cast(HTREEITEM) cast(ULONG_PTR)-0xffff,
1752 + TVI_LAST = cast(HTREEITEM) cast(ULONG_PTR)-0xfffe,
1753 + TVI_SORT = cast(HTREEITEM) cast(ULONG_PTR)-0xfffd;
1754 +} else {
1621 1755 const HTREEITEM
1622 1756 TVI_ROOT = cast(HTREEITEM) 0xFFFF0000,
1623 1757 TVI_FIRST = cast(HTREEITEM) 0xFFFF0001,
1624 1758 TVI_LAST = cast(HTREEITEM) 0xFFFF0002,
1625 1759 TVI_SORT = cast(HTREEITEM) 0xFFFF0003;
1760 +}
1626 1761
1627 1762 enum {
1628 1763 TVSIL_NORMAL = 0,
1629 1764 TVSIL_STATE = 2
1630 1765 }
1631 1766
1632 1767 enum {
................................................................................
1688 1823 static if (_WIN32_IE >= 0x500) {
1689 1824 enum {
1690 1825 TVM_GETITEMSTATE = TV_FIRST + 39,
1691 1826 TVM_SETLINECOLOR = TV_FIRST + 40,
1692 1827 TVM_GETLINECOLOR = TV_FIRST + 41
1693 1828 }
1694 1829 }
1830 +
1831 +static if (_WIN32_IE >= 0x501) {
1832 + enum {
1833 + TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42,
1834 + TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43,
1835 + TVM_SETEXTENDEDSTYLE = TV_FIRST + 44,
1836 + TVM_GETEXTENDEDSTYLE = TV_FIRST + 45,
1837 + TVM_SETAUTOSCROLLINFO = TV_FIRST + 59
1838 + }
1839 +}
1840 +
1841 +static if (_WIN32_IE >= 0x600) {
1842 + enum {
1843 + TVM_GETSELECTEDCOUNT = TV_FIRST + 70,
1844 + TVM_SHOWINFOTIP = TV_FIRST + 71,
1845 + TVM_GETITEMPARTRECT = TV_FIRST + 72,
1846 + }
1847 +}
1695 1848
1696 1849 enum {
1697 1850 TVE_COLLAPSE = 1,
1698 1851 TVE_EXPAND = 2,
1699 1852 TVE_TOGGLE = 3,
1700 1853 TVE_COLLAPSERESET = 0x8000
1701 1854 }
................................................................................
1726 1879 }
1727 1880
1728 1881 static if (_WIN32_IE >= 0x400) {
1729 1882 enum {
1730 1883 TVGN_LASTVISIBLE = 10
1731 1884 }
1732 1885 }
1886 +
1887 +static if (_WIN32_IE >= 0x600) {
1888 + enum {
1889 + TVGN_NEXTSELECTED = 11
1890 + }
1891 +}
1733 1892
1734 1893 enum {
1735 1894 TVN_SELCHANGINGA = TVN_FIRST - 1,
1736 1895 TVN_SELCHANGEDA = TVN_FIRST - 2,
1737 1896 TVN_GETDISPINFOA = TVN_FIRST - 3,
1738 1897 TVN_SETDISPINFOA = TVN_FIRST - 4,
1739 1898 TVN_ITEMEXPANDINGA = TVN_FIRST - 5,
................................................................................
1933 2092 CCM_GETVERSION = 0x2008,
1934 2093 CCM_SETNOTIFYWINDOW = 0x2009
1935 2094 }*/
1936 2095
1937 2096 static if (_WIN32_WINNT >= 0x501) {
1938 2097 enum {
1939 2098 CCM_SETWINDOWTHEME = 0x200b,
1940 - CCM_DPISCALE = 0x200c
2099 + CCM_DPISCALE = 0x200c,
2100 +
2101 + RB_GETBANDMARGINS = WM_USER + 40,
2102 + RB_SETWINDOWTHEME = CCM_SETWINDOWTHEME,
2103 + TB_SETWINDOWTHEME = CCM_SETWINDOWTHEME,
2104 + TTM_SETWINDOWTHEME = CCM_SETWINDOWTHEME,
1941 2105 }
1942 2106 }
1943 2107
1944 2108 enum {
1945 2109 ICC_LISTVIEW_CLASSES = 1,
1946 2110 ICC_TREEVIEW_CLASSES = 2,
1947 2111 ICC_BAR_CLASSES = 4,
................................................................................
2018 2182 } else {
2019 2183 enum {
2020 2184 MCS_NOTODAY = 0x0008
2021 2185 }
2022 2186 }
2023 2187
2024 2188 enum {
2189 + DTM_FIRST = 0x10000,
2025 2190 DTM_GETSYSTEMTIME = 0x1001,
2026 2191 DTM_SETSYSTEMTIME = 0x1002,
2027 2192 DTM_GETRANGE = 0x1003,
2028 2193 DTM_SETRANGE = 0x1004,
2029 2194 DTM_SETFORMATA = 0x1005,
2030 2195 DTM_SETMCCOLOR = 0x1006,
2031 2196 DTM_GETMCCOLOR = 0x1007,
2032 2197 DTM_GETMONTHCAL = 0x1008,
2033 2198 DTM_SETMCFONT = 0x1009,
2034 2199 DTM_GETMCFONT = 0x100a,
2035 2200 DTM_SETFORMATW = 0x1050
2036 2201 }
2202 +
2203 +static if (_WIN32_WINNT >= 0x600) {
2204 + enum {
2205 + DTM_SETMCSTYLE = DTM_FIRST + 11,
2206 + DTM_GETMCSTYLE,
2207 + DTM_CLOSEMONTHCAL,
2208 + DTM_GETDATETIMEPICKERINFO,
2209 + DTM_GETIDEALSIZE,
2210 + }
2211 +}
2037 2212
2038 2213 enum {
2039 2214 DTN_USERSTRINGA = -758U,
2040 2215 DTN_USERSTRINGW = -745U,
2041 2216 DTN_WMKEYDOWNA = -757U,
2042 2217 DTN_WMKEYDOWNW = -744U,
2043 2218 DTN_FORMATA = -756U,
................................................................................
2046 2221 DTN_FORMATQUERYW = -742U,
2047 2222 DTN_DROPDOWN = -754U,
2048 2223 DTN_CLOSEUP = -753U,
2049 2224 DTN_DATETIMECHANGE = -759U,
2050 2225 }
2051 2226
2052 2227 enum {
2228 + MCM_FIRST = 0x1000,
2053 2229 MCM_GETCURSEL = 0x1001,
2054 2230 MCM_SETCURSEL = 0x1002,
2055 2231 MCM_GETMAXSELCOUNT = 0x1003,
2056 2232 MCM_SETMAXSELCOUNT = 0x1004,
2057 2233 MCM_GETSELRANGE = 0x1005,
2058 2234 MCM_SETSELRANGE = 0x1006,
2059 2235 MCM_GETMONTHRANGE = 0x1007,
................................................................................
2070 2246 MCM_SETRANGE = 0x1012,
2071 2247 MCM_GETMONTHDELTA = 0x1013,
2072 2248 MCM_SETMONTHDELTA = 0x1014,
2073 2249 MCM_GETMAXTODAYWIDTH = 0x1015,
2074 2250 MCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
2075 2251 MCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
2076 2252 }
2253 +
2254 +static if (_WIN32_WINNT >= 0x600) {
2255 + enum {
2256 + MCM_GETCURRENTVIEW = MCM_FIRST + 22,
2257 + MCM_GETCALENDARCOUNT,
2258 + MCM_GETCALENDARGRIDINFO,
2259 + MCM_GETCALID = MCM_FIRST + 27,
2260 + MCM_SETCALID,
2261 + MCM_SIZERECTTOMIN,
2262 + MCM_SETCALENDARBORDER,
2263 + MCM_GETCALENDARBORDER,
2264 + MCM_SETCURRENTVIEW,
2265 + }
2266 +}
2077 2267
2078 2268 enum {
2079 2269 MCN_SELCHANGE = -749U,
2080 2270 MCN_GETDAYSTATE = -747U,
2081 2271 MCN_SELECT = -746U
2082 2272 }
2083 2273
................................................................................
2355 2545 alias RB_GETBANDINFOA RB_GETBANDINFO;
2356 2546 }
2357 2547 } else {
2358 2548 enum {
2359 2549 RB_GETBANDINFO = WM_USER + 5
2360 2550 }
2361 2551 }
2552 +
2553 +static if (_WIN32_IE >= 0x500) {
2554 + enum {
2555 + RB_PUSHCHEVRON = WM_USER + 43,
2556 + }
2557 +}
2558 +
2559 +static if (_WIN32_IE >= 0x600) {
2560 + enum {
2561 + RB_SETEXTENDEDSTYLE = WM_USER + 41,
2562 + RB_GETEXTENDEDSTYLE = WM_USER + 42,
2563 + }
2564 +}
2565 +
2566 +static if (_WIN32_WINNT >= 0x500) {
2567 + enum {
2568 + RB_SETBANDWIDTH = WM_USER + 44,
2569 + }
2570 +}
2571 +
2572 +static if (_WIN32_WINNT >= 0x501) {
2573 + enum {
2574 + ECM_FIRST = 0x1500,
2575 + BCM_FIRST = 0x1600,
2576 +
2577 + BCM_GETIDEALSIZE = BCM_FIRST + 0x0001,
2578 + BCM_SETIMAGELIST = BCM_FIRST + 0x0002,
2579 + BCM_GETIMAGELIST = BCM_FIRST + 0x0003,
2580 + BCM_SETTEXTMARGIN = BCM_FIRST + 0x0004,
2581 + BCM_GETTEXTMARGIN = BCM_FIRST + 0x0005,
2582 +
2583 + BCN_HOTITEMCHANGE = BCN_FIRST + 0x0001,
2584 + }
2585 +
2586 + struct NMBCHOTITEM {
2587 + NMHDR hdr;
2588 + DWORD dwFlags;
2589 + }
2590 + alias NMBCHOTITEM* LPNMBCHOTITEM;
2591 +}
2592 +
2593 +static if(_WIN32_WINNT >= 0x600) {
2594 + enum {
2595 + BST_DROPDOWNPUSHED = 0x0400,
2596 +
2597 + BS_SPLITBUTTON = 0x0000_000C,
2598 + BS_DEFSPLITBUTTON = 0x0000_000D,
2599 + BS_COMMANDLINK = 0x0000_000E,
2600 + BS_DEFCOMMANDLINK = 0x0000_000F,
2601 +
2602 + BCSIF_GLYPH = 0x0001,
2603 + BCSIF_IMAGE = 0x0002,
2604 + BCSIF_STYLE = 0x0004,
2605 + BCSIF_SIZE = 0x0008,
2606 +
2607 + BCSS_NOSPLIT = 0x0001,
2608 + BCSS_STRETCH = 0x0002,
2609 + BCSS_ALIGNLEFT = 0x0004,
2610 + BCSS_IMAGE = 0x0008,
2611 +
2612 + BCM_SETDROPDOWNSTATE = BCM_FIRST + 0x0006,
2613 + BCM_SETSPLITINFO = BCM_FIRST + 0x0007,
2614 + BCM_GETSPLITINFO = BCM_FIRST + 0x0008,
2615 + BCM_SETNOTE = BCM_FIRST + 0x0009,
2616 + BCM_GETNOTE = BCM_FIRST + 0x000A,
2617 + BCM_GETNOTELENGTH = BCM_FIRST + 0x000B,
2618 + BCM_SETSHIELD = BCM_FIRST + 0x000C,
2619 +
2620 + BCN_DROPDOWN = BCN_FIRST + 0x0002,
2621 + }
2622 +
2623 + const HIMAGELIST BCCL_NOGLYPH = cast(HIMAGELIST)-1;
2624 +
2625 + struct BUTTON_SPLITINFO
2626 + {
2627 + UINT mask;
2628 + HIMAGELIST himlGlyph;
2629 + UINT uSplitStyle;
2630 + SIZE size;
2631 + }
2632 + alias BUTTON_SPLITINFO* PBUTTON_SPLITINFO;
2633 +}
2362 2634
2363 2635 enum {
2364 2636 CBEM_INSERTITEMA = WM_USER + 1,
2365 2637 CBEM_SETIMAGELIST,
2366 2638 CBEM_GETIMAGELIST,
2367 2639 CBEM_GETITEMA,
2368 2640 CBEM_SETITEMA,
................................................................................
2384 2656
2385 2657 enum {
2386 2658 CBEM_HASEDITCHANGED = WM_USER + 10,
2387 2659 CBEM_INSERTITEMW = WM_USER + 11,
2388 2660 CBEM_SETITEMW = WM_USER + 12,
2389 2661 CBEM_GETITEMW = WM_USER + 13
2390 2662 }
2663 +
2664 +static if (_WIN32_WINNT >= 0x501)
2665 +{
2666 + enum {
2667 + CBEM_SETWINDOWTHEME = CCM_SETWINDOWTHEME
2668 + }
2669 +}
2391 2670
2392 2671 enum {
2393 2672 DA_LAST = 0x7fffffff
2394 2673 }
2395 2674
2396 2675 enum {
2397 2676 DPA_APPEND = 0x7fffffff,
................................................................................
2426 2705 WSB_PROP_MASK = 0xfff,
2427 2706 FSB_FLAT_MODE = 2,
2428 2707 FSB_ENCARTA_MODE = 1,
2429 2708 FSB_REGULAR_MODE = 0
2430 2709 }
2431 2710 }
2432 2711
2433 -static if (_WIN32_WINNT >= 0x0501) {
2712 +static if (_WIN32_WINNT >= 0x501) {
2434 2713 enum {
2435 2714 LIF_ITEMINDEX = 1,
2436 2715 LIF_STATE = 2,
2437 2716 LIF_ITEMID = 4,
2438 2717 LIF_URL = 8
2439 2718 }
2440 2719
................................................................................
2444 2723 LIS_VISITED = 4
2445 2724 }
2446 2725
2447 2726 enum {
2448 2727 LM_HITTEST = WM_USER + 768,
2449 2728 LM_GETIDEALHEIGHT,
2450 2729 LM_SETITEM,
2451 - LM_GETITEM // = WM_USER + 771
2730 + LM_GETITEM, // = WM_USER + 771
2731 + LM_GETIDEALSIZE = LM_GETIDEALHEIGHT,
2452 2732 }
2453 2733
2454 2734 const size_t MAX_LINKID_TEXT = 48;
2455 2735 const size_t L_MAX_URL_LENGTH = 2084;
2456 2736 }
2457 2737
2738 +
2739 +struct TBMETRICS {
2740 + UINT cbSize = TBMETRICS.sizeof;
2741 + DWORD dwMask;
2742 + int cxPad;
2743 + int cyPad;
2744 + int cxBarPad;
2745 + int cyBarPad;
2746 + int cxButtonSpacing;
2747 + int cyButtonSpacing;
2748 +}
2749 +alias TBMETRICS* LPTBMETRICS;
2750 +
2751 +static if (_WIN32_WINNT >= 0x501) {
2752 + struct TTGETTITLE {
2753 + DWORD dwSize = TTGETTITLE.sizeof;
2754 + UINT uTitleBitmap;
2755 + UINT cch;
2756 + WCHAR* pszTitle;
2757 + }
2758 + alias TTGETTITLE* PTTGETTITLE;
2759 +}
2760 +
2761 +static if (_WIN32_WINNT >= 0x600) {
2762 + struct MCGRIDINFO {
2763 + UINT cbSize;
2764 + DWORD dwPart;
2765 + DWORD dwFlags;
2766 + int iCalendar;
2767 + int iRow;
2768 + int iCol;
2769 + BOOL bSelected;
2770 + SYSTEMTIME stStart;
2771 + SYSTEMTIME stEnd;
2772 + RECT rc;
2773 + PWSTR pszName;
2774 + size_t cchName;
2775 + }
2776 + alias MCGRIDINFO* PMCGRIDINFO;
2777 +
2778 + struct DATETIMEPICKERINFO
2779 + {
2780 + DWORD cbSize;
2781 + RECT rcCheck;
2782 + DWORD stateCheck;
2783 + RECT rcButton;
2784 + DWORD stateButton;
2785 + HWND hwndEdit;
2786 + HWND hwndUD;
2787 + HWND hwndDropDown;
2788 + }
2789 + alias DATETIMEPICKERINFO* LPDATETIMEPICKERINFO;
2790 +}
2458 2791
2459 2792 struct COMBOBOXEXITEMA {
2460 2793 UINT mask;
2461 - int iItem;
2794 + INT_PTR iItem;
2462 2795 LPSTR pszText;
2463 2796 int cchTextMax;
2464 2797 int iImage;
2465 2798 int iSelectedImage;
2466 2799 int iOverlay;
2467 2800 int iIndent;
2468 2801 LPARAM lParam;
2469 2802 }
2470 -alias COMBOBOXEXITEMA* PCOMBOBOXEXITEMA;
2471 -alias CPtr!(COMBOBOXEXITEMA) PCCOMBOEXITEMA;
2803 +alias COMBOBOXEXITEMA* PCOMBOBOXEXITEMA;
2804 +alias const(COMBOBOXEXITEMA)* PCCOMBOEXITEMA;
2472 2805
2473 2806 struct COMBOBOXEXITEMW {
2474 2807 UINT mask;
2475 - int iItem;
2808 + INT_PTR iItem;
2476 2809 LPWSTR pszText;
2477 2810 int cchTextMax;
2478 2811 int iImage;
2479 2812 int iSelectedImage;
2480 2813 int iOverlay;
2481 2814 int iIndent;
2482 2815 LPARAM lParam;
2483 2816 }
2484 -alias COMBOBOXEXITEMW* PCOMBOBOXEXITEMW;
2485 -alias CPtr!(COMBOBOXEXITEMW) PCCOMBOEXITEMW;
2817 +alias COMBOBOXEXITEMW* PCOMBOBOXEXITEMW;
2818 +alias const(COMBOBOXEXITEMW)* PCCOMBOEXITEMW;
2486 2819
2487 2820 static if (_WIN32_IE >= 0x400) {
2488 2821 struct NMCOMBOBOXEXA {
2489 2822 NMHDR hdr;
2490 2823 COMBOBOXEXITEMA ceItem;
2491 2824 }
2492 2825 alias NMCOMBOBOXEXA* PNMCOMBOBOXEXA;
................................................................................
2496 2829 COMBOBOXEXITEMW ceItem;
2497 2830 }
2498 2831 alias NMCOMBOBOXEXW* PNMCOMBOBOXEXW;
2499 2832
2500 2833 struct NMCBEDRAGBEGINW {
2501 2834 NMHDR hdr;
2502 2835 int iItemid;
2503 - WCHAR szText[CBEMAXSTRLEN];
2836 + WCHAR[CBEMAXSTRLEN] szText;
2504 2837 }
2505 2838 alias NMCBEDRAGBEGINW* LPNMCBEDRAGBEGINW, PNMCBEDRAGBEGINW;
2506 2839
2507 2840 struct NMCBEDRAGBEGINA {
2508 2841 NMHDR hdr;
2509 2842 int iItemid;
2510 - char szText[CBEMAXSTRLEN];
2843 + char[CBEMAXSTRLEN] szText;
2511 2844 }
2512 2845 alias NMCBEDRAGBEGINA* LPNMCBEDRAGBEGINA, PNMCBEDRAGBEGINA;
2513 2846
2514 2847 struct NMIPADDRESS {
2515 2848 NMHDR hdr;
2516 2849 int iField;
2517 2850 int iValue;
................................................................................
2624 2957 }
2625 2958 alias NMDATETIMECHANGE* LPNMDATETIMECHANGE;
2626 2959
2627 2960 struct NMCBEENDEDITW {
2628 2961 NMHDR hdr;
2629 2962 BOOL fChanged;
2630 2963 int iNewSelection;
2631 - WCHAR szText[CBEMAXSTRLEN];
2964 + WCHAR[CBEMAXSTRLEN] szText;
2632 2965 int iWhy;
2633 2966 }
2634 2967 alias NMCBEENDEDITW* LPNMCBEENDEDITW, PNMCBEENDEDITW;
2635 2968
2636 2969 struct NMCBEENDEDITA {
2637 2970 NMHDR hdr;
2638 2971 BOOL fChanged;
2639 2972 int iNewSelection;
2640 - char szText[CBEMAXSTRLEN];
2973 + char[CBEMAXSTRLEN] szText;
2641 2974 int iWhy;
2642 2975 }
2643 2976 alias NMCBEENDEDITA* LPNMCBEENDEDITA, PNMCBEENDEDITA;
2644 2977
2645 2978 struct COLORMAP {
2646 2979 COLORREF from;
2647 2980 COLORREF to;
................................................................................
2656 2989 alias DRAGLISTINFO* LPDRAGLISTINFO;
2657 2990
2658 2991 struct TBBUTTON {
2659 2992 int iBitmap;
2660 2993 int idCommand;
2661 2994 BYTE fsState;
2662 2995 BYTE fsStyle;
2663 - BYTE bReserved[2];
2664 - DWORD dwData;
2665 - int iString;
2996 + version(Win64){
2997 + BYTE[6] bReserved;
2998 + } else {
2999 + BYTE[2] bReserved;
3000 + }
3001 + DWORD_PTR dwData;
3002 + INT_PTR iString;
2666 3003 }
2667 -alias TBBUTTON* PTBBUTTON, LPTBBUTTON;
2668 -alias CPtr!(TBBUTTON) LPCTBBUTTON;
3004 +alias TBBUTTON* PTBBUTTON, LPTBBUTTON;
3005 +alias const(TBBUTTON)* LPCTBBUTTON;
2669 3006
2670 3007 static if (_WIN32_IE >= 0x400) {
2671 3008 struct TBBUTTONINFOA {
2672 3009 UINT cbSize = TBBUTTONINFOA.sizeof;
2673 3010 DWORD dwMask;
2674 3011 int idCommand;
2675 3012 int iImage;
2676 3013 BYTE fsState;
2677 3014 BYTE fsStyle;
2678 3015 WORD cx;
2679 - DWORD lParam;
3016 + DWORD_PTR lParam;
2680 3017 LPSTR pszText;
2681 3018 int cchText;
2682 3019 }
2683 3020 alias TBBUTTONINFOA* LPTBBUTTONINFOA;
2684 3021
2685 3022 struct TBBUTTONINFOW {
2686 3023 UINT cbSize = TBBUTTONINFOW.sizeof;
2687 3024 DWORD dwMask;
2688 3025 int idCommand;
2689 3026 int iImage;
2690 3027 BYTE fsState;
2691 3028 BYTE fsStyle;
2692 3029 WORD cx;
2693 - DWORD lParam;
3030 + DWORD_PTR lParam;
2694 3031 LPWSTR pszText;
2695 3032 int cchText;
2696 3033 }
2697 3034 alias TBBUTTONINFOW* LPTBBUTTONINFOW;
2698 3035
2699 3036 struct TBINSERTMARK {
2700 3037 int iButton;
................................................................................
2744 3081 HBITMAP hbmMask;
2745 3082 int Unused1;
2746 3083 int Unused2;
2747 3084 RECT rcImage;
2748 3085 }
2749 3086 alias IMAGEINFO* LPIMAGEINFO;
2750 3087
2751 -alias HANDLE HIMAGELIST;
2752 -
2753 3088 static if (_WIN32_IE >= 0x500) {
2754 3089 struct HDITEMA {
2755 3090 UINT mask;
2756 3091 int cxy;
2757 3092 LPSTR pszText;
2758 3093 HBITMAP hbm;
2759 3094 int cchTextMax;
................................................................................
2832 3167 //alias HDITEM HD_ITEM; fixme
2833 3168 }
2834 3169
2835 3170 struct HD_LAYOUT {
2836 3171 RECT* prc;
2837 3172 WINDOWPOS* pwpos;
2838 3173 }
2839 -alias HDLAYOUT* LPHDLAYOUT;
3174 +alias HD_LAYOUT* LPHDLAYOUT;
2840 3175 deprecated alias HD_LAYOUT HDLAYOUT;
2841 3176
2842 3177 struct HD_HITTESTINFO {
2843 3178 POINT pt;
2844 3179 UINT flags;
2845 3180 int iItem;
2846 3181 }
................................................................................
3026 3361 UINT uKeyFlags;
3027 3362 }
3028 3363 alias NMITEMACTIVATE* LPNMITEMACTIVATE;
3029 3364 }
3030 3365
3031 3366 struct TBADDBITMAP {
3032 3367 HINSTANCE hInst;
3033 - UINT nID;
3368 + UINT_PTR nID;
3034 3369 }
3035 3370 alias TBADDBITMAP* LPTBADDBITMAP;
3036 3371
3037 3372 struct TBSAVEPARAMSA {
3038 3373 HKEY hkr;
3039 3374 LPCSTR pszSubKey;
3040 3375 LPCSTR pszValueName;
................................................................................
3044 3379 HKEY hkr;
3045 3380 LPCWSTR pszSubKey;
3046 3381 LPCWSTR pszValueName;
3047 3382 }
3048 3383
3049 3384 struct TBREPLACEBITMAP {
3050 3385 HINSTANCE hInstOld;
3051 - UINT nIDOld;
3386 + UINT_PTR nIDOld;
3052 3387 HINSTANCE hInstNew;
3053 - UINT nIDNew;
3388 + UINT_PTR nIDNew;
3054 3389 int nButtons;
3055 3390 }
3056 3391 alias TBREPLACEBITMAP* LPTBREPLACEBITMAP;
3057 3392
3058 3393 static if (_WIN32_IE >= 0x500) {
3059 3394 struct NMTOOLBARA {
3060 3395 NMHDR hdr;
................................................................................
3100 3435 alias LPNMTOOLBARW LPTBNOTIFYW;
3101 3436
3102 3437 static if (_WIN32_WINNT >= 0x501) {
3103 3438 struct TOOLINFOA {
3104 3439 UINT cbSize = TOOLINFOA.sizeof;
3105 3440 UINT uFlags;
3106 3441 HWND hwnd;
3107 - UINT uId;
3442 + UINT_PTR uId;
3108 3443 RECT rect;
3109 3444 HINSTANCE hinst;
3110 3445 LPSTR lpszText;
3111 3446 LPARAM lParam;
3112 3447 void* lpReserved;
3113 3448 }
3114 3449
3115 3450 struct TOOLINFOW {
3116 3451 UINT cbSize = TOOLINFOW.sizeof;
3117 3452 UINT uFlags;
3118 3453 HWND hwnd;
3119 - UINT uId;
3454 + UINT_PTR uId;
3120 3455 RECT rect;
3121 3456 HINSTANCE hinst;
3122 3457 LPWSTR lpszText;
3123 3458 LPARAM lParam;
3124 3459 void* lpReserved;
3125 3460 }
3126 3461
................................................................................
3203 3538 }
3204 3539 alias TTHITTESTINFOW* LPTTHITTESTINFOW, LPHITTESTINFOW;
3205 3540
3206 3541 static if (_WIN32_IE >= 0x300) {
3207 3542 struct NMTTDISPINFOA {
3208 3543 NMHDR hdr;
3209 3544 LPSTR lpszText;
3210 - char szText[80];
3545 + char[80] szText;
3211 3546 HINSTANCE hinst;
3212 3547 UINT uFlags;
3213 3548 LPARAM lParam;
3214 3549 }
3215 3550
3216 3551 struct NMTTDISPINFOW {
3217 3552 NMHDR hdr;
3218 3553 LPWSTR lpszText;
3219 - WCHAR szText[80];
3554 + WCHAR[80] szText;
3220 3555 HINSTANCE hinst;
3221 3556 UINT uFlags;
3222 3557 LPARAM lParam;
3223 3558 }
3224 3559 } else {
3225 3560 struct NMTTDISPINFOA {
3226 3561 NMHDR hdr;
3227 3562 LPSTR lpszText;
3228 - char szText[80];
3563 + char[80] szText;
3229 3564 HINSTANCE hinst;
3230 3565 UINT uFlags;
3231 3566 }
3232 3567
3233 3568 struct NMTTDISPINFOW {
3234 3569 NMHDR hdr;
3235 3570 LPWSTR lpszText;
3236 - WCHAR szText[80];
3571 + WCHAR[80] szText;
3237 3572 HINSTANCE hinst;
3238 3573 UINT uFlags;
3239 3574 }
3240 3575 }
3241 3576 alias NMTTDISPINFOA* LPNMTTDISPINFOA;
3242 3577 alias NMTTDISPINFOW* LPNMTTDISPINFOW;
3243 3578 alias NMTTDISPINFOA TOOLTIPTEXTA;
................................................................................
3501 3836 struct LVINSERTMARK {
3502 3837 UINT cbSize = LVINSERTMARK.sizeof;
3503 3838 DWORD dwFlags;
3504 3839 int iItem;
3505 3840 DWORD dwReserved;
3506 3841 }
3507 3842 alias LVINSERTMARK* PLVINSERTMARK;
3843 + alias LVINSERTMARK* LPLVINSERTMARK;
3508 3844
3509 3845 struct LVTILEINFO {
3510 3846 UINT cbSize = LVTILEINFO.sizeof;
3511 3847 int iItem;
3512 3848 UINT cColumns;
3513 3849 PUINT puColumns;
3514 3850 static if (_WIN32_WINNT >= 0x600) {
................................................................................
3541 3877 DWORD dwFlags;
3542 3878 LPWSTR pszText;
3543 3879 int iItem;
3544 3880 int iSubItem;
3545 3881 HBITMAP hbmp;
3546 3882 }
3547 3883 alias LVSETINFOTIP* PLVSETINFOTIP;
3884 +
3885 + struct BUTTON_IMAGELIST {
3886 + HIMAGELIST himl;
3887 + RECT margin;
3888 + UINT uAlign;
3889 + }
3890 + alias BUTTON_IMAGELIST* PBUTTON_IMAGELIST;
3891 +}
3892 +
3893 +static if (_WIN32_WINNT >= 0x600) {
3894 + struct LVITEMINDEX
3895 + {
3896 + int iItem;
3897 + int iGroup;
3898 + };
3899 + alias LVITEMINDEX* PLVITEMINDEX;
3900 +
3901 + struct LVFOOTERINFO
3902 + {
3903 + UINT mask;
3904 + LPWSTR pszText;
3905 + int cchTextMax;
3906 + UINT cItems;
3907 + }
3908 + alias LVFOOTERINFO* LPLVFOOTERINFO;
3909 +
3910 + struct LVFOOTERITEM
3911 + {
3912 + UINT mask;
3913 + int iItem;
3914 + LPWSTR pszText;
3915 + int cchTextMax;
3916 + UINT state;
3917 + UINT stateMask;
3918 + }
3919 + alias LVFOOTERITEM *LPLVFOOTERITEM;
3920 +
3921 + alias UINT TVITEMPART;
3922 + enum {
3923 + TVGIPR_BUTTON = 0x0001,
3924 + }
3548 3925 }
3549 3926
3550 3927 alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE;
3551 3928
3552 3929 struct NMLISTVIEW {
3553 3930 NMHDR hdr;
3554 3931 int iItem;
................................................................................
3695 4072 struct TVHITTESTINFO {
3696 4073 POINT pt;
3697 4074 UINT flags;
3698 4075 HTREEITEM hItem;
3699 4076 }
3700 4077 alias TVHITTESTINFO* LPTVHITTESTINFO, LPTV_HITTESTINFO;
3701 4078 alias TVHITTESTINFO TV_HITTESTINFO;
4079 +
4080 +static if (_WIN32_WINNT >= 0x600) {
4081 + struct TVGETITEMPARTRECTINFO {
4082 + HTREEITEM hti;
4083 + RECT* prc;
4084 + TVITEMPART partID;
4085 + }
4086 +}
3702 4087
3703 4088 alias int function(LPARAM, LPARAM, LPARAM) PFNTVCOMPARE;
3704 4089 struct TVSORTCB {
3705 4090 HTREEITEM hParent;
3706 4091 PFNTVCOMPARE lpfnCompare;
3707 4092 LPARAM lParam;
3708 4093 }
................................................................................
3980 4365 }
3981 4366
3982 4367 enum : size_t {
3983 4368 REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.sizeof,
3984 4369 REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.sizeof
3985 4370 }
3986 4371 }
3987 -alias REBARBANDINFOA* LPREBARBANDINFOA;
3988 -alias CPtr!(REBARBANDINFOA) LPCREBARBANDINFOA;
3989 -alias REBARBANDINFOW* LPREBARBANDINFOW;
3990 -alias CPtr!(REBARBANDINFOW) LPCREBARBANDINFOW;
4372 +alias REBARBANDINFOA* LPREBARBANDINFOA;
4373 +alias const(REBARBANDINFOA)* LPCREBARBANDINFOA;
4374 +alias REBARBANDINFOW* LPREBARBANDINFOW;
4375 +alias const(REBARBANDINFOW)* LPCREBARBANDINFOW;
3991 4376
3992 4377 static if (_WIN32_IE >= 0x300) {
3993 4378 struct NMLVODSTATECHANGE {
3994 4379 NMHDR hdr;
3995 4380 int iFrom;
3996 4381 int iTo;
3997 4382 UINT uNewState;
................................................................................
4084 4469 POINT pt;
4085 4470 UINT flags;
4086 4471 int iBand;
4087 4472 }
4088 4473 alias RBHITTESTINFO* LPRBHITTESTINFO;
4089 4474 }
4090 4475
4091 -alias HANDLE HDSA;
4092 -alias HANDLE HDPA;
4476 +mixin DECLARE_HANDLE!("HDSA");
4477 +mixin DECLARE_HANDLE!("HDPA");
4093 4478
4094 4479 version (Unicode) {
4095 4480 alias HDITEMW HDITEM;
4096 4481 alias LPHDITEMW LPHDITEM;
4097 4482 alias TOOLINFOW TOOLINFO;
4098 4483 alias TOOLINFOW* PTOOLINFO, LPTOOLINFO;
4099 4484 alias TTHITTESTINFOW TTHITTESTINFO;
................................................................................
4587 4972 HWND Animate_Create(HWND hwndP, UINT id, DWORD dwStyle,
4588 4973 HINSTANCE hInstance) {
4589 4974 return CreateWindow(cast(TCHAR*)ANIMATE_CLASS.ptr, null, dwStyle, 0, 0, 0, 0, hwndP,
4590 4975 cast(HMENU) id, hInstance, null);
4591 4976 }
4592 4977
4593 4978 BOOL Animate_Open(HWND hwnd, LPTSTR szName) {
4594 - return SendMessage(hwnd, ACM_OPEN, 0, cast(LPARAM) szName);
4979 + return cast(BOOL) SendMessage(hwnd, ACM_OPEN, 0, cast(LPARAM) szName);
4595 4980 }
4596 4981
4597 4982 BOOL Animate_OpenEx(HWND hwnd, HINSTANCE hInst, LPTSTR szName) {
4598 - return SendMessage(hwnd, ACM_OPEN, cast(WPARAM) hInst,
4983 + return cast(BOOL) SendMessage(hwnd, ACM_OPEN, cast(WPARAM) hInst,
4599 4984 cast(LPARAM) szName);
4600 4985 }
4601 4986
4602 4987 BOOL Animate_Play(HWND hwnd, int from, int to, int rep) {
4603 - return SendMessage(hwnd, ACM_PLAY, rep,
4988 + return cast(BOOL) SendMessage(hwnd, ACM_PLAY, rep,
4604 4989 MAKELONG(cast(ushort) from, cast(ushort) to));
4605 4990 }
4606 4991
4607 4992 BOOL Animate_Stop(HWND hwnd) {
4608 - return SendMessage(hwnd, ACM_STOP, 0, 0);
4993 + return cast(BOOL) SendMessage(hwnd, ACM_STOP, 0, 0);
4609 4994 }
4610 4995
4611 4996 BOOL Animate_Close(HWND hwnd) {
4612 4997 return Animate_Open(hwnd, null);
4613 4998 }
4614 4999
4615 5000 BOOL Animate_Seek(HWND hwnd, int frame) {
4616 5001 return Animate_Play(hwnd, frame, frame, 1);
4617 5002 }
4618 5003
4619 5004 extern (Windows) {
4620 - HBITMAP CreateMappedBitmap(HINSTANCE, int, UINT, LPCOLORMAP, int);
5005 + HBITMAP CreateMappedBitmap(HINSTANCE, INT_PTR, UINT, LPCOLORMAP, int);
4621 5006 HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT);
4622 5007 HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT);
4623 - HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINSTANCE, UINT,
5008 + HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINSTANCE, UINT_PTR,
4624 5009 LPCTBBUTTON, int, int, int, int, int, UINT);
4625 5010 HWND CreateUpDownControl(DWORD, int, int, int, int, HWND, int, HINSTANCE,
4626 5011 HWND, int, int, int);
4627 5012 }
4628 5013
4629 5014 HWND DateTime_GetMonthCal(HWND hwnd) {
4630 5015 return cast(HWND) SendMessage(hwnd, DTM_GETMONTHCAL, 0, 0);
................................................................................
4635 5020 }
4636 5021
4637 5022 HFONT DateTime_GetMonthCalFont(HWND hwnd) {
4638 5023 return cast(HFONT) SendMessage(hwnd, DTM_GETMCFONT, 0, 0);
4639 5024 }
4640 5025
4641 5026 DWORD DateTime_GetRange(HWND hwnd, LPSYSTEMTIME lpSysTimeArray) {
4642 - return SendMessage(hwnd, DTM_GETRANGE, 0, cast(LPARAM) lpSysTimeArray);
5027 + return cast(DWORD) SendMessage(hwnd, DTM_GETRANGE, 0, cast(LPARAM) lpSysTimeArray);
4643 5028 }
4644 5029
4645 5030 DWORD DateTime_GetSystemtime(HWND hwnd, LPSYSTEMTIME lpSysTime) {
4646 - return SendMessage(hwnd, DTM_GETSYSTEMTIME, 0, cast(LPARAM) lpSysTime);
5031 + return cast(DWORD) SendMessage(hwnd, DTM_GETSYSTEMTIME, 0, cast(LPARAM) lpSysTime);
4647 5032 }
4648 5033
4649 5034 BOOL DateTime_SetFormat(HWND hwnd, LPCTSTR lpszFormat) {
4650 5035 return cast(BOOL) SendMessage(hwnd, DTM_SETFORMAT, 0,
4651 5036 cast(LPARAM) lpszFormat);
4652 5037 }
4653 5038
................................................................................
4674 5059 void DrawInsert(HWND, HWND, int);
4675 5060 void DrawStatusTextA(HDC, LPRECT, LPCSTR, UINT);
4676 5061 void DrawStatusTextW(HDC, LPRECT, LPCWSTR, UINT);
4677 5062 void GetEffectiveClientRect(HWND, LPRECT, LPINT);
4678 5063 }
4679 5064
4680 5065 int Header_GetItemCount(HWND w) {
4681 - return SendMessage(w, HDM_GETITEMCOUNT, 0, 0);
5066 + return cast(int) SendMessage(w, HDM_GETITEMCOUNT, 0, 0);
4682 5067 }
4683 5068
4684 -int Header_InsertItem(HWND w, int i, CPtr!(HDITEM) phdi) {
4685 - return SendMessage(w, HDM_INSERTITEM, i, cast(LPARAM) phdi);
5069 +int Header_InsertItem(HWND w, int i, const(HDITEM)* phdi) {
5070 + return cast(int) SendMessage(w, HDM_INSERTITEM, i, cast(LPARAM) phdi);
4686 5071 }
4687 5072
4688 5073 BOOL Header_DeleteItem(HWND w, int i) {
4689 5074 return cast(BOOL) SendMessage(w, HDM_DELETEITEM, i, 0);
4690 5075 }
4691 5076
4692 5077 BOOL Header_GetItem(HWND w, int i, LPHDITEM phdi) {
4693 5078 return cast(BOOL) SendMessage(w, HDM_GETITEM, i, cast(LPARAM) phdi);
4694 5079 }
4695 5080
4696 -BOOL Header_SetItem(HWND w, int i, CPtr!(HDITEM) phdi) {
5081 +BOOL Header_SetItem(HWND w, int i, const(HDITEM)* phdi) {
4697 5082 return cast(BOOL) SendMessage(w, HDM_SETITEM, i, cast(LPARAM) phdi);
4698 5083 }
4699 5084
4700 5085 BOOL Header_Layout(HWND w, LPHDLAYOUT playout) {
4701 - return SendMessage(w, HDM_LAYOUT, 0, cast(LPARAM) playout);
5086 + return cast(BOOL) SendMessage(w, HDM_LAYOUT, 0, cast(LPARAM) playout);
4702 5087 }
4703 5088
4704 5089 static if (_WIN32_IE >= 0x300) {
4705 5090 int Header_OrderToIndex(HWND w, int i) {
4706 - return SendMessage(w, HDM_ORDERTOINDEX, i, 0);
5091 + return cast(int) SendMessage(w, HDM_ORDERTOINDEX, i, 0);
4707 5092 }
4708 5093
4709 5094 BOOL Header_GetItemRect(HWND w, int i, RECT* r) {
4710 5095 return cast(BOOL) SendMessage(w, HDM_GETITEMRECT, i, cast(LPARAM) r);
4711 5096 }
4712 5097
4713 5098 BOOL Header_GetOrderArray(HWND w, int iSize, LPINT lpiArray) {
................................................................................
4801 5186 BOOL ImageList_DragEnter(HWND, int, int);
4802 5187 BOOL ImageList_DragLeave(HWND);
4803 5188 BOOL ImageList_DragMove(int, int);
4804 5189 BOOL ImageList_DragShowNolock(BOOL);
4805 5190 BOOL ImageList_Draw(HIMAGELIST, int, HDC, int, int, UINT);
4806 5191 BOOL ImageList_DrawEx(HIMAGELIST, int, HDC, int, int, int, int, COLORREF,
4807 5192 COLORREF, UINT);
4808 - void ImageList_EndDrag(PVOID);
5193 + void ImageList_EndDrag();
4809 5194 COLORREF ImageList_GetBkColor(HIMAGELIST);
4810 5195 HIMAGELIST ImageList_GetDragImage(LPPOINT, LPPOINT);
4811 5196 HICON ImageList_GetIcon(HIMAGELIST, int, UINT);
4812 5197 BOOL ImageList_GetIconSize(HIMAGELIST, int*, int*);
4813 5198 int ImageList_GetImageCount(HIMAGELIST);
4814 5199 BOOL ImageList_GetImageInfo(HIMAGELIST, int, IMAGEINFO*);
4815 5200 HIMAGELIST ImageList_LoadImageA(HINSTANCE, LPCSTR, int, int, COLORREF,
................................................................................
4865 5250 }
4866 5251
4867 5252 HIMAGELIST ListView_GetImageList(HWND w, int i) {
4868 5253 return cast(HIMAGELIST) SendMessage(w, LVM_GETIMAGELIST, i, 0);
4869 5254 }
4870 5255
4871 5256 int ListView_GetItemCount(HWND w) {
4872 - return SendMessage(w, LVM_GETITEMCOUNT, 0, 0);
5257 + return cast(int) SendMessage(w, LVM_GETITEMCOUNT, 0, 0);
4873 5258 }
4874 5259
4875 5260 BOOL ListView_GetItem(HWND w, LPLVITEM pitem) {
4876 5261 return cast(BOOL) SendMessage(w, LVM_GETITEM, 0, cast(LPARAM) pitem);
4877 5262 }
4878 5263
4879 5264 BOOL ListView_SetBkColor(HWND w, COLORREF c) {
................................................................................
4881 5266 }
4882 5267
4883 5268 HIMAGELIST ListView_SetImageList(HWND w, HIMAGELIST h, int i) {
4884 5269 return cast(HIMAGELIST) SendMessage(w, LVM_SETIMAGELIST, i,
4885 5270 cast(LPARAM) h);
4886 5271 }
4887 5272
4888 -BOOL ListView_SetItem(HWND w, CPtr!(LV_ITEM) i) {
5273 +BOOL ListView_SetItem(HWND w, const(LV_ITEM)* i) {
4889 5274 return cast(BOOL) SendMessage(w, LVM_SETITEM, 0, cast(LPARAM) i);
4890 5275 }
4891 5276
4892 -int ListView_InsertItem(HWND w, CPtr!(LV_ITEM) i) {
4893 - return SendMessage(w, LVM_INSERTITEM, 0, cast(LPARAM) i);
5277 +int ListView_InsertItem(HWND w, const(LV_ITEM)* i) {
5278 + return cast(int) SendMessage(w, LVM_INSERTITEM, 0, cast(LPARAM) i);
4894 5279 }
4895 5280
4896 5281 BOOL ListView_DeleteItem(HWND w, int i) {
4897 5282 return cast(BOOL) SendMessage(w, LVM_DELETEITEM, i, 0);
4898 5283 }
4899 5284
4900 5285 BOOL ListView_DeleteAllItems(HWND w) {
................................................................................
4906 5291 }
4907 5292
4908 5293 BOOL ListView_SetCallbackMask(HWND w, UINT m) {
4909 5294 return cast(BOOL) SendMessage(w, LVM_SETCALLBACKMASK, m, 0);
4910 5295 }
4911 5296
4912 5297 int ListView_GetNextItem(HWND w, int i, UINT f) {
4913 - return SendMessage(w, LVM_GETNEXTITEM, i, MAKELPARAM(cast(ushort)f, 0));
5298 + return cast(int) SendMessage(w, LVM_GETNEXTITEM, i, MAKELPARAM(cast(ushort)f, 0));
4914 5299 }
4915 5300
4916 -int ListView_FindItem(HWND w, int i, CPtr!(LV_FINDINFO) p) {
4917 - return SendMessage(w, LVM_FINDITEM, i, cast(LPARAM) p);
5301 +int ListView_FindItem(HWND w, int i, const(LV_FINDINFO)* p) {
5302 + return cast(int) SendMessage(w, LVM_FINDITEM, i, cast(LPARAM) p);
4918 5303 }
4919 5304
4920 5305 BOOL ListView_GetItemRect(HWND w, int i, LPRECT p, int c) {
4921 5306 return cast(BOOL) SendMessage(w, LVM_GETITEMRECT, i, p ?
4922 5307 (p.left = c, cast(LPARAM) p) : 0);
4923 5308 }
4924 5309
................................................................................
4931 5316 }
4932 5317
4933 5318 DWORD ListView_GetItemSpacing(HWND w, BOOL f) {
4934 5319 return cast(DWORD) SendMessage(w, LVM_GETITEMSPACING, f, 0);
4935 5320 }
4936 5321
4937 5322 int ListView_GetStringWidth(HWND w, LPCSTR s) {
4938 - return SendMessage(w, LVM_GETSTRINGWIDTH, 0, cast(LPARAM) s);
5323 + return cast(int) SendMessage(w, LVM_GETSTRINGWIDTH, 0, cast(LPARAM) s);
4939 5324 }
4940 5325
4941 5326 int ListView_HitTest(HWND w, LPLVHITTESTINFO p) {
4942 - return SendMessage(w, LVM_HITTEST, 0, cast(LPARAM) p);
5327 + return cast(int) SendMessage(w, LVM_HITTEST, 0, cast(LPARAM) p);
4943 5328 }
4944 5329
4945 5330 BOOL ListView_EnsureVisible(HWND w, int i, BOOL f) {
4946 5331 return cast(BOOL) SendMessage(w, LVM_ENSUREVISIBLE, i, MAKELPARAM(cast(ushort)f, 0));
4947 5332 }
4948 5333
4949 5334 BOOL ListView_Scroll(HWND w, int dx, int dy) {
................................................................................
4966 5351 return cast(HWND) SendMessage(w, LVM_GETEDITCONTROL, 0, 0);
4967 5352 }
4968 5353
4969 5354 BOOL ListView_GetColumn(HWND w, int i, LPLVCOLUMN p) {
4970 5355 return cast(BOOL) SendMessage(w, LVM_GETCOLUMN, i, cast(LPARAM) p);
4971 5356 }
4972 5357
4973 -BOOL ListView_SetColumn(HWND w, int i, CPtr!(LV_COLUMN) p) {
5358 +BOOL ListView_SetColumn(HWND w, int i, const(LV_COLUMN)* p) {
4974 5359 return cast(BOOL) SendMessage(w, LVM_SETCOLUMN, i, cast(LPARAM) p);
4975 5360 }
4976 5361
4977 -int ListView_InsertColumn(HWND w, int i, CPtr!(LV_COLUMN) p) {
4978 - return SendMessage(w, LVM_INSERTCOLUMN, i, cast(LPARAM) p);
5362 +int ListView_InsertColumn(HWND w, int i, const(LV_COLUMN)* p) {
5363 + return cast(int) SendMessage(w, LVM_INSERTCOLUMN, i, cast(LPARAM) p);
4979 5364 }
4980 5365
4981 5366 BOOL ListView_DeleteColumn(HWND w, int i) {
4982 5367 return cast(BOOL) SendMessage(w, LVM_DELETECOLUMN, i, 0);
4983 5368 }
4984 5369
4985 5370 int ListView_GetColumnWidth(HWND w, int i) {
4986 - return SendMessage(w, LVM_GETCOLUMNWIDTH, i, 0);
5371 + return cast(int) SendMessage(w, LVM_GETCOLUMNWIDTH, i, 0);
4987 5372 }
4988 5373
4989 5374 BOOL ListView_SetColumnWidth(HWND w, int i, int x) {
4990 5375 return cast(BOOL) SendMessage(w, LVM_SETCOLUMNWIDTH, i, MAKELPARAM(cast(ushort)x, 0));
4991 5376 }
4992 5377
4993 5378 HIMAGELIST ListView_CreateDragImage(HWND w, int i, LPPOINT p) {
................................................................................
5012 5397 }
5013 5398
5014 5399 BOOL ListView_SetTextBkColor(HWND w, COLORREF c) {
5015 5400 return cast(BOOL) SendMessage(w, LVM_SETTEXTBKCOLOR, 0, cast(LPARAM) c);
5016 5401 }
5017 5402
5018 5403 int ListView_GetTopIndex(HWND w) {
5019 - return SendMessage(w, LVM_GETTOPINDEX, 0, 0);
5404 + return cast(int) SendMessage(w, LVM_GETTOPINDEX, 0, 0);
5020 5405 }
5021 5406
5022 5407 int ListView_GetCountPerPage(HWND w) {
5023 - return SendMessage(w, LVM_GETCOUNTPERPAGE, 0, 0);
5408 + return cast(int) SendMessage(w, LVM_GETCOUNTPERPAGE, 0, 0);
5024 5409 }
5025 5410
5026 5411 BOOL ListView_GetOrigin(HWND w, LPPOINT p) {
5027 5412 return cast(BOOL) SendMessage(w, LVM_GETORIGIN, 0, cast(LPARAM) p);
5028 5413 }
5029 5414
5030 5415 BOOL ListView_Update(HWND w, WPARAM i) {
................................................................................
5094 5479 SendMessage(w, LVM_CANCELEDITLABEL, 0, 0);
5095 5480 }
5096 5481
5097 5482 int ListView_EnableGroupView(HWND w, BOOL i) {
5098 5483 return cast(int) SendMessage(w, LVM_ENABLEGROUPVIEW, i, 0);
5099 5484 }
5100 5485
5101 -static if (_WIN32_WINDOWS >= 0x410 && (_WIN32_WINNT >= 0x500 || _WIN32_IE >= 0x500)) {
5486 +static if (_WIN32_WINNT >= 0x500 || _WIN32_IE >= 0x500) {
5102 5487 BOOL ListView_SortItemsEx(HWND w, PFNLVCOMPARE c, LPARAM p) {
5103 - return SendMessage(w, LVM_SORTITEMSEX, cast(WPARAM) p, cast(LPARAM)c);
5488 + return cast(BOOL) SendMessage(w, LVM_SORTITEMSEX, cast(WPARAM) p, cast(LPARAM)c);
5104 5489 }
5105 5490 }
5106 5491
5107 5492 static if (_WIN32_WINNT >= 0x501) {
5108 5493 int ListView_GetGroupInfo(HWND w, int i, PLVGROUP p) {
5109 - return SendMessage(w, LVM_GETGROUPINFO, i, cast(LPARAM) p);
5494 + return cast(int) SendMessage(w, LVM_GETGROUPINFO, i, cast(LPARAM) p);
5110 5495 }
5111 5496
5112 5497 void ListView_GetGroupMetrics(HWND w, PLVGROUPMETRICS p) {
5113 5498 SendMessage(w, LVM_GETGROUPMETRICS, 0, cast(LPARAM) p);
5114 5499 }
5115 5500
5116 5501 BOOL ListView_GetInsertMark(HWND w, PLVINSERTMARK p) {
5117 - return SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPARAM) p);
5502 + return cast(BOOL) SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPARAM) p);
5118 5503 }
5119 5504
5120 5505 COLORREF ListView_GetInsertMarkColor(HWND w) {
5121 - return SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 0);
5506 + return cast(COLORREF) SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 0);
5122 5507 }
5123 5508
5124 5509 int ListView_GetInsertMarkRect(HWND w, LPRECT p) {
5125 - return SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(LPARAM) p);
5510 + return cast(int) SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(LPARAM) p);
5126 5511 }
5127 5512
5128 5513 COLORREF ListView_GetOutlineColor(HWND w) {
5129 - return SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0);
5514 + return cast(COLORREF) SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0);
5130 5515 }
5131 5516
5132 5517 UINT ListView_GetSelectedColumn(HWND w) {
5133 - return SendMessage(w, LVM_GETSELECTEDCOLUMN, 0, 0);
5518 + return cast(UINT) SendMessage(w, LVM_GETSELECTEDCOLUMN, 0, 0);
5134 5519 }
5135 5520
5136 5521 void ListView_GetTileInfo(HWND w, PLVTILEINFO p) {
5137 5522 SendMessage(w, LVM_GETTILEINFO, 0, cast(LPARAM) p);
5138 5523 }
5139 5524
5140 5525 void ListView_GetTileViewInfo(HWND w, PLVTILEVIEWINFO p) {
5141 5526 SendMessage(w, LVM_GETTILEVIEWINFO, 0, cast(LPARAM) p);
5142 5527 }
5143 5528
5144 5529 DWORD ListView_GetView(HWND w) {
5145 - return SendMessage(w, LVM_GETVIEW, 0, 0);
5530 + return cast(DWORD) SendMessage(w, LVM_GETVIEW, 0, 0);
5146 5531 }
5147 5532
5148 5533 BOOL ListView_HasGroup(HWND w, int i) {
5149 - return SendMessage(w, LVM_HASGROUP, i, 0);
5534 + return cast(BOOL) SendMessage(w, LVM_HASGROUP, i, 0);
5150 5535 }
5151 5536
5152 5537 int ListView_InsertGroup(HWND w, int i, PLVGROUP p) {
5153 - return SendMessage(w, LVM_INSERTGROUP, i, cast(LPARAM) p);
5538 + return cast(int) SendMessage(w, LVM_INSERTGROUP, i, cast(LPARAM) p);
5154 5539 }
5155 5540
5156 5541 void ListView_InsertGroupSorted(HWND w, PLVINSERTGROUPSORTED p) {
5157 5542 SendMessage(w, LVM_INSERTGROUPSORTED, cast(WPARAM) p, 0);
5158 5543 }
5159 5544
5160 5545 BOOL ListView_InsertMarkHitTest(HWND w, LPPOINT p, PLVINSERTMARK t) {
5161 - return SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPARAM) p, cast(LPARAM) t);
5546 + return cast(BOOL) SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPARAM) p, cast(LPARAM) t);
5162 5547 }
5163 5548
5164 5549 BOOL ListView_IsGroupViewEnabled(HWND w) {
5165 - return SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0);
5550 + return cast(BOOL) SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0);
5166 5551 }
5167 5552
5168 5553 UINT ListView_MapIDToIndex(HWND w, UINT i) {
5169 - return SendMessage(w, LVM_MAPIDTOINDEX, i, 0);
5554 + return cast(UINT) SendMessage(w, LVM_MAPIDTOINDEX, i, 0);
5170 5555 }
5171 5556
5172 5557 /* ??? MSDN documents this as "Not implemented", except in relation to
5173 5558 * Windows CE/Mobile.
5174 5559 */
5175 5560 void ListView_MoveGroup(HWND w, int i, int t) {
5176 5561 SendMessage(w, LVM_MOVEGROUP, i, t);
................................................................................
5177 5562 }
5178 5563
5179 5564 void ListView_RemoveAllGroups(HWND w) {
5180 5565 SendMessage(w, LVM_REMOVEALLGROUPS, 0, 0);
5181 5566 }
5182 5567
5183 5568 int ListView_RemoveGroup(HWND w, int i) {
5184 - return SendMessage(w, LVM_REMOVEGROUP, i, 0);
5569 + return cast(int) SendMessage(w, LVM_REMOVEGROUP, i, 0);
5185 5570 }
5186 5571
5187 5572 int ListView_SetGroupInfo(HWND w, int i, PLVGROUP p) {
5188 - return SendMessage(w, LVM_SETGROUPINFO, i, cast(LPARAM) p);
5573 + return cast(int) SendMessage(w, LVM_SETGROUPINFO, i, cast(LPARAM) p);
5189 5574 }
5190 5575
5191 5576 void ListView_SetGroupMetrics(HWND w, PLVGROUPMETRICS p) {
5192 5577 SendMessage(w, LVM_SETGROUPMETRICS, 0, cast(LPARAM) p);
5193 5578 }
5194 5579
5195 5580 BOOL ListView_SetInfoTip(HWND w, PLVSETINFOTIP p) {
5196 - return SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) p);
5581 + return cast(BOOL) SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) p);
5197 5582 }
5198 5583
5199 5584 BOOL ListView_SetInsertMark(HWND w, PLVINSERTMARK p) {
5200 - return SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPARAM) p);
5585 + return cast(BOOL) SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPARAM) p);
5201 5586 }
5202 5587
5203 5588 COLORREF ListView_SetInsertMarkColor(HWND w, COLORREF c) {
5204 - return SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, c);
5589 + return cast(COLORREF) SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, c);
5205 5590 }
5206 5591
5207 5592 COLORREF ListView_SetOutlineColor(HWND w, COLORREF c) {
5208 - return SendMessage(w, LVM_SETOUTLINECOLOR, 0, c);
5593 + return cast(COLORREF) SendMessage(w, LVM_SETOUTLINECOLOR, 0, c);
5209 5594 }
5210 5595
5211 5596 void ListView_SetSelectedColumn(HWND w, int i) {
5212 5597 SendMessage(w, LVM_SETSELECTEDCOLUMN, i, 0);
5213 5598 }
5214 5599
5215 5600 BOOL ListView_SetTileInfo(HWND w, PLVTILEINFO p) {
5216 - return SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM) p);
5601 + return cast(BOOL) SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM) p);
5217 5602 }
5218 5603
5219 5604 BOOL ListView_SetTileViewInfo(HWND w, PLVTILEVIEWINFO p) {
5220 - return SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LPARAM) p);
5605 + return cast(BOOL) SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LPARAM) p);
5221 5606 }
5222 5607
5223 5608 int ListView_SetView(HWND w, DWORD i) {
5224 - return SendMessage(w, LVM_SETVIEW, i, 0);
5609 + return cast(int) SendMessage(w, LVM_SETVIEW, i, 0);
5225 5610 }
5226 5611
5227 5612 int ListView_SortGroups(HWND w, PFNLVGROUPCOMPARE c, LPVOID p) {
5228 - return SendMessage(w, LVM_SORTGROUPS, cast(WPARAM) c, cast(LPARAM) p);
5613 + return cast(int) SendMessage(w, LVM_SORTGROUPS, cast(WPARAM) c, cast(LPARAM) p);
5229 5614 }
5230 5615 }
5231 5616
5232 5617 static if (_WIN32_WINNT >= 0x501) {
5233 5618 enum {
5234 5619 CBM_FIRST = 0x1700,
5235 5620 CB_SETMINVISIBLE = CBM_FIRST + 1,
5236 - CB_GETMINVISIBLE = CBM_FIRST + 2
5621 + CB_GETMINVISIBLE = CBM_FIRST + 2,
5622 + CB_SETCUEBANNER = CBM_FIRST + 3,
5623 + CB_GETCUEBANNER = CBM_FIRST + 4,
5237 5624 }
5238 5625
5239 5626 BOOL ComboBox_SetMinVisible(HWND w, INT i) {
5240 5627 return cast(BOOL) SendMessage(w, CB_SETMINVISIBLE, cast(WPARAM) i, 0);
5241 5628 }
5242 5629
5243 5630 int ComboBox_GetMinVisible(HWND w) {
5244 - return SendMessage(w, CB_GETMINVISIBLE, 0, 0);
5631 + return cast(int) SendMessage(w, CB_GETMINVISIBLE, 0, 0);
5245 5632 }
5246 5633 }
5247 5634
5248 5635 extern (Windows) BOOL MakeDragList(HWND);
5249 5636 extern (Windows) void MenuHelp(UINT, WPARAM, LPARAM, HMENU, HINSTANCE, HWND,
5250 5637 PUINT);
5251 5638
................................................................................
5273 5660
5274 5661 BOOL MonthCal_GetMinReqRect(HWND hwnd, LPRECT lpRectInfo) {
5275 5662 return cast(BOOL) SendMessage(hwnd, MCM_GETMINREQRECT, 0,
5276 5663 cast(LPARAM) lpRectInfo);
5277 5664 }
5278 5665
5279 5666 INT MonthCal_GetMonthDelta(HWND hwnd) {
5280 - return SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0);
5667 + return cast(INT) SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0);
5281 5668 }
5282 5669
5283 5670 INT MonthCal_GetMonthRange(HWND hwnd, DWORD flag, LPSYSTEMTIME systimearray) {
5284 - return SendMessage(hwnd, MCM_GETMONTHRANGE, cast(WPARAM) flag,
5671 + return cast(INT) SendMessage(hwnd, MCM_GETMONTHRANGE, cast(WPARAM) flag,
5285 5672 cast(LPARAM) systimearray);
5286 5673 }
5287 5674
5288 5675 DWORD MonthCal_GetRange(HWND hwnd, LPSYSTEMTIME systimearray) {
5289 5676 return cast(DWORD) SendMessage(hwnd, MCM_GETRANGE, 0,
5290 5677 cast(LPARAM) systimearray);
5291 5678 }
................................................................................
5331 5718
5332 5719 BOOL MonthCal_SetMaxSelCount(HWND hwnd, UINT imax) {
5333 5720 return cast(BOOL) SendMessage(hwnd, MCM_SETMAXSELCOUNT,
5334 5721 cast(WPARAM) imax, 0);
5335 5722 }
5336 5723
5337 5724 INT MonthCal_SetMonthDelta(HWND hwnd, INT idelta) {
5338 - return SendMessage(hwnd, MCM_SETMONTHDELTA, cast(WPARAM) idelta, 0);
5725 + return cast(INT) SendMessage(hwnd, MCM_SETMONTHDELTA, cast(WPARAM) idelta, 0);
5339 5726 }
5340 5727
5341 5728 BOOL MonthCal_SetSelRange(HWND hwnd, LPSYSTEMTIME systimearray) {
5342 5729 return cast(BOOL) SendMessage(hwnd, MCM_SETSELRANGE, 0,
5343 5730 cast(LPARAM) systimearray);
5344 5731 }
5345 5732
................................................................................
5353 5740 }
5354 5741
5355 5742 BOOL MonthCal_SetRange(HWND w, DWORD f, LPSYSTEMTIME st) {
5356 5743 return cast(BOOL) SendMessage(w, MCM_SETRANGE, cast(WPARAM) f,
5357 5744 cast(LPARAM) st);
5358 5745 }
5359 5746
5360 -extern (Windows) BOOL ShowHideMenuCtl(HWND, UINT, PINT);
5747 +extern (Windows) BOOL ShowHideMenuCtl(HWND, UINT_PTR, PINT);
5361 5748
5362 5749 BOOL TabCtrl_GetItem(HWND w, int i, LPTCITEM p) {
5363 5750 return cast(BOOL) SendMessage(w, TCM_GETITEM, i, cast(LPARAM) p);
5364 5751 }
5365 5752
5366 5753 BOOL TabCtrl_SetItem(HWND w, int i, LPTCITEM p) {
5367 5754 return cast(BOOL) SendMessage(w, TCM_SETITEM, i, cast(LPARAM) p);
5368 5755 }
5369 5756
5370 -int TabCtrl_InsertItem(HWND w, int i, CPtr!(TC_ITEM) p) {
5371 - return SendMessage(w, TCM_INSERTITEM, i, cast(LPARAM) p);
5757 +int TabCtrl_InsertItem(HWND w, int i, const(TC_ITEM)* p) {
5758 + return cast(int) SendMessage(w, TCM_INSERTITEM, i, cast(LPARAM) p);
5372 5759 }
5373 5760
5374 5761 BOOL TabCtrl_DeleteItem(HWND w, int i) {
5375 5762 return cast(BOOL) SendMessage(w, TCM_DELETEITEM, i, 0);
5376 5763 }
5377 5764
5378 5765 BOOL TabCtrl_DeleteAllItems(HWND w) {
................................................................................
5380 5767 }
5381 5768
5382 5769 BOOL TabCtrl_GetItemRect(HWND w, int i, LPRECT p) {
5383 5770 return cast(BOOL) SendMessage(w, TCM_GETITEMRECT, i, cast(LPARAM) p);
5384 5771 }
5385 5772
5386 5773 int TabCtrl_GetCurSel(HWND w) {
5387 - return SendMessage(w, TCM_GETCURSEL, 0, 0);
5774 + return cast(int) SendMessage(w, TCM_GETCURSEL, 0, 0);
5388 5775 }
5389 5776
5390 5777 int TabCtrl_SetCurSel(HWND w, int i) {
5391 - return SendMessage(w, TCM_SETCURSEL, i, 0);
5778 + return cast(int) SendMessage(w, TCM_SETCURSEL, i, 0);
5392 5779 }
5393 5780
5394 5781 int TabCtrl_HitTest(HWND w, LPTCHITTESTINFO p) {
5395 - return SendMessage(w, TCM_HITTEST, 0, cast(LPARAM) p);
5782 + return cast(int) SendMessage(w, TCM_HITTEST, 0, cast(LPARAM) p);
5396 5783 }
5397 5784
5398 5785 BOOL TabCtrl_SetItemExtra(HWND w, int c) {
5399 5786 return cast(BOOL) SendMessage(w, TCM_SETITEMEXTRA, c, 0);
5400 5787 }
5401 5788
5402 5789 int TabCtrl_AdjustRect(HWND w, BOOL b, LPRECT p) {
5403 - return SendMessage(w, TCM_ADJUSTRECT, b, cast(LPARAM) p);
5790 + return cast(int) SendMessage(w, TCM_ADJUSTRECT, b, cast(LPARAM) p);
5404 5791 }
5405 5792
5406 5793 DWORD TabCtrl_SetItemSize(HWND w, int x, int y) {
5407 5794 return cast(DWORD) SendMessage(w, TCM_SETITEMSIZE, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y));
5408 5795 }
5409 5796
5410 5797 void TabCtrl_RemoveImage(HWND w, int i) {
................................................................................
5412 5799 }
5413 5800
5414 5801 void TabCtrl_SetPadding(HWND w, int x, int y) {
5415 5802 SendMessage(w, TCM_SETPADDING, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y));
5416 5803 }
5417 5804
5418 5805 int TabCtrl_GetRowCount(HWND w) {
5419 - return SendMessage(w, TCM_GETROWCOUNT, 0, 0);
5806 + return cast(int) SendMessage(w, TCM_GETROWCOUNT, 0, 0);
5420 5807 }
5421 5808
5422 5809 HWND TabCtrl_GetToolTips(HWND w) {
5423 5810 return cast(HWND) SendMessage(w, TCM_GETTOOLTIPS, 0, 0);
5424 5811 }
5425 5812
5426 5813 void TabCtrl_SetToolTips(HWND w, HWND t) {
5427 5814 SendMessage(w, TCM_SETTOOLTIPS, cast(WPARAM) t, 0);
5428 5815 }
5429 5816
5430 5817 int TabCtrl_GetCurFocus(HWND w) {
5431 - return SendMessage(w, TCM_GETCURFOCUS, 0, 0);
5818 + return cast(int) SendMessage(w, TCM_GETCURFOCUS, 0, 0);
5432 5819 }
5433 5820
5434 5821 void TabCtrl_SetCurFocus(HWND w, int i) {
5435 5822 SendMessage(w, TCM_SETCURFOCUS, i, 0);
5436 5823 }
5437 5824
5438 5825 HIMAGELIST TabCtrl_GetImageList(HWND w) {
................................................................................
5441 5828
5442 5829 HIMAGELIST TabCtrl_SetImageList(HWND w, HIMAGELIST h) {
5443 5830 return cast(HIMAGELIST) SendMessage(w, TCM_SETIMAGELIST, 0,
5444 5831 cast(LPARAM) h);
5445 5832 }
5446 5833
5447 5834 int TabCtrl_GetItemCount(HWND w) {
5448 - return SendMessage(w, TCM_GETITEMCOUNT, 0, 0);
5835 + return cast(int) SendMessage(w, TCM_GETITEMCOUNT, 0, 0);
5449 5836 }
5450 5837
5451 5838 extern (Windows) BOOL _TrackMouseEvent(LPTRACKMOUSEEVENT);
5452 5839
5453 5840 HTREEITEM TreeView_InsertItem(HWND w, LPTVINSERTSTRUCT i) {
5454 5841 return cast(HTREEITEM) SendMessage(w, TVM_INSERTITEM, 0, cast(LPARAM) i);
5455 5842 }
................................................................................
5552 5939 return TreeView_Select(w, i, TVGN_FIRSTVISIBLE);
5553 5940 }
5554 5941
5555 5942 BOOL TreeView_GetItem(HWND w, LPTVITEM i) {
5556 5943 return cast(BOOL) SendMessage(w, TVM_GETITEM, 0, cast(LPARAM) i);
5557 5944 }
5558 5945
5559 -BOOL TreeView_SetItem(HWND w, CPtr!(TV_ITEM) i) {
5946 +BOOL TreeView_SetItem(HWND w, const(TV_ITEM)* i) {
5560 5947 return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) i);
5561 5948 }
5562 5949
5563 5950 HWND TreeView_EditLabel(HWND w, HTREEITEM i) {
5564 5951 return cast(HWND) SendMessage(w, TVM_EDITLABEL, 0, cast(LPARAM) i);
5565 5952 }
5566 5953
................................................................................
5630 6017 }
5631 6018
5632 6019 HCURSOR ListView_GetHotCursor(HWND w) {
5633 6020 return cast(HCURSOR) SendMessage(w, LVM_GETHOTCURSOR, 0, 0);
5634 6021 }
5635 6022
5636 6023 INT ListView_GetHotItem(HWND w) {
5637 - return SendMessage(w, LVM_GETHOTITEM, 0, 0);
6024 + return cast(INT) SendMessage(w, LVM_GETHOTITEM, 0, 0);
5638 6025 }
5639 6026
5640 6027 BOOL ListView_GetSubItemRect(HWND w, int i, int isi, int c, LPRECT p) {
5641 6028 return cast(BOOL) SendMessage(w, LVM_GETSUBITEMRECT, i,
5642 6029 p ? (p.left = c, p.top = isi, cast(LPARAM) p) : 0);
5643 6030 }
5644 6031
5645 6032 HCURSOR ListView_SetHotCursor(HWND w, HCURSOR c) {
5646 6033 return cast(HCURSOR) SendMessage(w, LVM_SETHOTCURSOR, 0,
5647 6034 cast(LPARAM) c);
5648 6035 }
5649 6036
5650 6037 INT ListView_SetHotItem(HWND w, INT i) {
5651 - return SendMessage(w, LVM_SETHOTITEM, cast(WPARAM) i, 0);
6038 + return cast(INT) SendMessage(w, LVM_SETHOTITEM, cast(WPARAM) i, 0);
5652 6039 }
5653 6040
5654 6041 DWORD ListView_SetIconSpacing(HWND w, int x, int y) {
5655 6042 return cast(DWORD) SendMessage(w, LVM_SETICONSPACING, 0,
5656 6043 MAKELONG(cast(ushort)x, cast(ushort)y));
5657 6044 }
5658 6045
5659 6046 INT ListView_SubItemHitTest(HWND w, LPLVHITTESTINFO p) {
5660 - return SendMessage(w, LVM_SUBITEMHITTEST, 0, cast(LPARAM) p);
6047 + return cast(INT) SendMessage(w, LVM_SUBITEMHITTEST, 0, cast(LPARAM) p);
5661 6048 }
5662 6049
5663 6050 BOOL ListView_SetItemCountEx(HWND w, int i, DWORD f) {
5664 6051 return cast(BOOL) SendMessage(w, LVM_SETITEMCOUNT, i, cast(LPARAM) f);
5665 6052 }
5666 6053
5667 6054 extern (Windows) {
5668 6055 WINBOOL ImageList_SetImageCount(HIMAGELIST, UINT);
5669 6056 WINBOOL ImageList_Copy(HIMAGELIST, int, HIMAGELIST, int, UINT);
5670 6057 WINBOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
5671 6058 }
5672 6059
5673 6060 int TabCtrl_SetMinTabWidth(HWND hwnd, int x) {
5674 - return SendMessage(hwnd, TCM_SETMINTABWIDTH, 0, x);
6061 + return cast(int) SendMessage(hwnd, TCM_SETMINTABWIDTH, 0, x);
5675 6062 }
5676 6063
5677 6064 VOID TabCtrl_DeselectAll(HWND hwnd, UINT fExcludeFocus) {
5678 6065 SendMessage(hwnd, TCM_DESELECTALL, fExcludeFocus, 0);
5679 6066 }
5680 6067
5681 6068 HWND TreeView_GetToolTips(HWND w) {
................................................................................
5721 6108 }
5722 6109
5723 6110 DWORD ListView_GetHoverTime(HWND w) {
5724 6111 return cast(DWORD) SendMessage(w, LVM_GETHOVERTIME, 0, 0);
5725 6112 }
5726 6113
5727 6114 INT ListView_GetSelectionMark(HWND w) {
5728 - return SendMessage(w, LVM_GETSELECTIONMARK, 0, 0);
6115 + return cast(INT) SendMessage(w, LVM_GETSELECTIONMARK, 0, 0);
5729 6116 }
5730 6117
5731 6118 INT ListView_SetSelectionMark(HWND w, INT i) {
5732 - return SendMessage(w, LVM_SETSELECTIONMARK, 0, cast(LPARAM) i);
6119 + return cast(INT) SendMessage(w, LVM_SETSELECTIONMARK, 0, cast(LPARAM) i);
5733 6120 }
5734 6121
5735 6122 HWND ListView_SetToolTips(HWND w, HWND n) {
5736 6123 return cast(HWND) SendMessage(w, LVM_SETTOOLTIPS, cast(WPARAM) n, 0);
5737 6124 }
5738 6125
5739 6126 HWND ListView_GetToolTips(HWND w) {
................................................................................
5776 6163 }
5777 6164
5778 6165 COLORREF TreeView_GetInsertMarkColor(HWND w) {
5779 6166 return cast(COLORREF) SendMessage(w, TVM_GETINSERTMARKCOLOR, 0, 0);
5780 6167 }
5781 6168
5782 6169 int TreeView_GetItemHeight(HWND w) {
5783 - return SendMessage(w, TVM_GETITEMHEIGHT, 0, 0);
6170 + return cast(int) SendMessage(w, TVM_GETITEMHEIGHT, 0, 0);
5784 6171 }
5785 6172
5786 6173 UINT TreeView_GetScrollTime(HWND w) {
5787 6174 return cast(UINT) SendMessage(w, TVM_GETSCROLLTIME, 0, 0);
5788 6175 }
5789 6176
5790 6177 COLORREF TreeView_GetTextColor(HWND w) {
................................................................................
5798 6185
5799 6186 COLORREF TreeView_SetInsertMarkColor(HWND w, COLORREF c) {
5800 6187 return cast(COLORREF) SendMessage(w, TVM_SETINSERTMARKCOLOR, 0,
5801 6188 cast(LPARAM) c);
5802 6189 }
5803 6190
5804 6191 int TreeView_SetItemHeight(HWND w, SHORT h) {
5805 - return SendMessage(w, TVM_SETITEMHEIGHT, cast(WPARAM) h, 0);
6192 + return cast(int) SendMessage(w, TVM_SETITEMHEIGHT, cast(WPARAM) h, 0);
5806 6193 }
5807 6194
5808 6195 UINT TreeView_SetScrollTime(HWND w, UINT t) {
5809 6196 return cast(UINT) SendMessage(w, TVM_SETSCROLLTIME, cast(WPARAM) t, 0);
5810 6197 }
5811 6198
5812 6199 COLORREF TreeView_SetTextColor(HWND w, COLORREF c) {
................................................................................
5868 6255 // MinGW: These two are not in the DLL
5869 6256 void CommandBar_InsertButton(HWND hwnd, int i, LPTBBUTTON lptbbutton) {
5870 6257 SendMessage(hwnd, TB_INSERTBUTTON, i, lptbbutton);
5871 6258 }
5872 6259 alias DestroyWindow CommandBar_Destroy;
5873 6260 +/
5874 6261 //#endif // _WIN32_WCE
6262 +
6263 +
6264 +static if (_WIN32_WINNT >= 0x501) {
6265 + struct EDITBALLOONTIP
6266 + {
6267 + DWORD cbStruct;
6268 + LPCWSTR pszTitle;
6269 + LPCWSTR pszText;
6270 + INT ttiIcon;
6271 + }
6272 + alias EDITBALLOONTIP* PEDITBALLOONTIP;
6273 +
6274 + const EM_SETCUEBANNER = ECM_FIRST + 1;
6275 + const EM_GETCUEBANNER = ECM_FIRST + 2;
6276 + const EM_SHOWBALLOONTIP = ECM_FIRST + 3;
6277 + const EM_HIDEBALLOONTIP = ECM_FIRST + 4;
6278 +}
6279 +
6280 +static if (_WIN32_WINNT >= 0x600) {
6281 + const EM_SETHILITE = ECM_FIRST + 5;
6282 + const EM_GETHILITE = ECM_FIRST + 6;
6283 +}