Diff

Not logged in

Differences From Artifact [4681e85cdf159780]:

To Artifact [62776dff0a2d0b7a]:


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 +}