1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW API for MS-Windows 3.12 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_commctrl.d) 8 */ 9 /// Automatically imported and edited from the druntime module 10 /// core.sys.windows.commctrl for the auto-generated win32 package. 11 module win32.commctrl; 12 //version (Windows): 13 @system: 14 15 version (ANSI) {} else version = Unicode; 16 version (Win32_UseLib) pragma(lib, "comctl32"); 17 18 import win32.w32api, win32.windef, win32.winuser; 19 import win32.winbase; // for SYSTEMTIME 20 import win32.objfwd; // for LPSTREAM 21 22 import win32.prsht; 23 24 enum COMCTL32_VERSION = 6; 25 26 const TCHAR[] 27 DRAGLISTMSGSTRING = "commctrl_DragListMsg", 28 HOTKEY_CLASS = "msctls_hotkey32", 29 PROGRESS_CLASS = "msctls_progress32", 30 STATUSCLASSNAME = "msctls_statusbar32", 31 TOOLBARCLASSNAME = "ToolbarWindow32", 32 TOOLTIPS_CLASS = "tooltips_class32", 33 TRACKBAR_CLASS = "msctls_trackbar32", 34 UPDOWN_CLASS = "msctls_updown32", 35 ANIMATE_CLASS = "SysAnimate32", 36 DATETIMEPICK_CLASS = "SysDateTimePick32", 37 MONTHCAL_CLASS = "SysMonthCal32", 38 REBARCLASSNAME = "ReBarWindow32", 39 WC_COMBOBOXEX = "ComboBoxEx32", 40 WC_IPADDRESS = "SysIPAddress32", 41 WC_LISTVIEW = "SysListView32", 42 WC_TABCONTROL = "SysTabControl32", 43 WC_TREEVIEW = "SysTreeView32", 44 WC_HEADER = "SysHeader32", 45 WC_PAGESCROLLER = "SysPager", 46 WC_NATIVEFONTCTL = "NativeFontCtl", 47 WC_BUTTON = "Button", 48 WC_STATIC = "Static", 49 WC_EDIT = "Edit", 50 WC_LISTBOX = "ListBox", 51 WC_COMBOBOX = "ComboBox", 52 WC_SCROLLBAR = "ScrollBar", 53 WC_LINKA = "SysLink"; 54 55 enum { 56 LVM_FIRST = 0x1000, 57 TV_FIRST = 0x1100, 58 HDM_FIRST = 0x1200 59 } 60 61 enum { 62 ACM_OPENA = WM_USER + 100, 63 ACM_PLAY = WM_USER + 101, 64 ACM_STOP = WM_USER + 102, 65 ACM_OPENW = WM_USER + 103, 66 ACM_ISPLAYING = WM_USER + 104 67 } 68 69 enum { 70 ACN_START = 1, 71 ACN_STOP 72 } 73 74 enum { 75 CBEIF_TEXT = 0x00000001, 76 CBEIF_IMAGE = 0x00000002, 77 CBEIF_SELECTEDIMAGE = 0x00000004, 78 CBEIF_OVERLAY = 0x00000008, 79 CBEIF_INDENT = 0x00000010, 80 CBEIF_LPARAM = 0x00000020, 81 CBEIF_DI_SETITEM = 0x10000000 82 } 83 84 enum { 85 RBN_FIRST = -831U, 86 RBN_LAST = -859U, 87 MCN_FIRST = -750U, 88 MCN_LAST = -759U, 89 DTN_FIRST = -760U, 90 DTN_LAST = -799U, 91 CBEN_FIRST = -800U, 92 CBEN_LAST = -830U 93 } 94 95 enum { 96 CBEN_INSERTITEM = CBEN_FIRST - 1, 97 CBEN_DELETEITEM = CBEN_FIRST - 2, 98 CBEN_BEGINEDIT = CBEN_FIRST - 4, 99 CBEN_ENDEDITA = CBEN_FIRST - 5, 100 CBEN_ENDEDITW = CBEN_FIRST - 6 101 } 102 103 enum { 104 CBENF_KILLFOCUS = 1, 105 CBENF_RETURN, 106 CBENF_ESCAPE, 107 CBENF_DROPDOWN // = 4 108 } 109 110 enum CBEMAXSTRLEN = 260; 111 112 enum { 113 DL_BEGINDRAG = 1157, 114 DL_CANCELDRAG = 1160, 115 DL_DRAGGING = 1158, 116 DL_DROPPED = 1159, 117 DL_CURSORSET = 0, 118 DL_STOPCURSOR = 1, 119 DL_COPYCURSOR = 2, 120 DL_MOVECURSOR = 3 121 } 122 123 enum { 124 CCS_TOP = 1, 125 CCS_NOMOVEY = 2, 126 CCS_BOTTOM = 3, 127 CCS_NORESIZE = 4, 128 CCS_NOPARENTALIGN = 8, 129 CCS_ADJUSTABLE = 32, 130 CCS_NODIVIDER = 64 131 } 132 static if (_WIN32_IE >= 0x300) { 133 enum { 134 CCS_VERT = 128, 135 CCS_LEFT = 129, 136 CCS_NOMOVEX = 130, 137 CCS_RIGHT = 131 138 } 139 } 140 141 enum { 142 ACS_CENTER = 0x0001, 143 ACS_TRANSPARENT = 0x0002, 144 ACS_AUTOPLAY = 0x0004, 145 ACS_TIMER = 0x0008 146 } 147 148 enum { 149 PGS_VERT = 0x00000000, 150 PGS_HORZ = 0x00000001, 151 PGS_AUTOSCROLL = 0x00000002, 152 PGS_DRAGNDROP = 0x00000004 153 } 154 155 enum CMB_MASKED = 2; 156 157 enum MINSYSCOMMAND = SC_SIZE; 158 159 enum { 160 SBT_OWNERDRAW = 0x1000, 161 SBT_NOBORDERS = 256, 162 SBT_POPOUT = 512, 163 SBT_RTLREADING = 1024 164 } 165 166 enum { 167 SB_SETTEXTA = WM_USER + 1, 168 SB_SETTEXTW = WM_USER + 11, 169 SB_GETTEXTA = WM_USER + 2, 170 SB_GETTEXTW = WM_USER + 13, 171 SB_GETTEXTLENGTHA = WM_USER + 3, 172 SB_GETTEXTLENGTHW = WM_USER + 12, 173 SB_SETPARTS = WM_USER + 4, 174 SB_GETPARTS = WM_USER + 6, 175 SB_GETBORDERS = WM_USER + 7, 176 SB_SETMINHEIGHT = WM_USER + 8, 177 SB_SIMPLE = WM_USER + 9, 178 SB_GETRECT = WM_USER + 10 179 } 180 181 enum { 182 MSGF_COMMCTRL_BEGINDRAG = 0x4200, 183 MSGF_COMMCTRL_SIZEHEADER = 0x4201, 184 MSGF_COMMCTRL_DRAGSELECT = 0x4202, 185 MSGF_COMMCTRL_TOOLBARCUST = 0x4203 186 } 187 188 enum { 189 ILC_COLOR = 0, 190 ILC_COLOR4 = 4, 191 ILC_COLOR8 = 8, 192 ILC_COLOR16 = 16, 193 ILC_COLOR24 = 24, 194 ILC_COLOR32 = 32, 195 ILC_COLORDDB = 254, 196 ILC_MASK = 1, 197 ILC_PALETTE = 2048 198 } 199 200 enum { 201 ILCF_MOVE, 202 ILCF_SWAP 203 } 204 205 enum { 206 ILS_NORMAL = 0, 207 ILS_GLOW = 1, 208 ILS_SHADOW = 2, 209 ILS_SATURATE = 4, 210 ILS_ALPHA = 8, 211 ILD_BLEND25 = 2, 212 ILD_BLEND50 = 4, 213 ILD_SELECTED = 4, 214 ILD_BLEND = 4, 215 ILD_FOCUS = 2, 216 ILD_MASK = 16, 217 ILD_NORMAL = 0, 218 ILD_TRANSPARENT = 1, 219 ILD_IMAGE = 0x0020, 220 ILD_ROP = 0x0040, 221 ILD_OVERLAYMASK = 0x0F00, 222 ILD_PRESERVEALPHA = 0x1000, 223 ILD_SCALE = 0x2000, 224 ILD_DPISCALE = 0x4000 225 } 226 227 enum { 228 HDS_HORZ = 0, 229 HDS_BUTTONS = 2, 230 HDS_HIDDEN = 8 231 } 232 static if (_WIN32_IE >= 0x400) { 233 enum { 234 HDS_HOTTRACK = 4, 235 HDS_DRAGDROP = 0x0040, 236 HDS_FULLDRAG = 0x0080 237 } 238 } 239 static if (_WIN32_IE >= 0x500) { 240 enum { 241 HDS_FILTERBAR = 0x0100 242 } 243 } 244 245 enum { 246 NM_FIRST = 0, 247 NM_LAST = -99U, 248 LVN_FIRST = -100U, 249 LVN_LAST = -199U, 250 HDN_FIRST = -300U, 251 HDN_LAST = -399U, 252 TVN_FIRST = -400U, 253 TVN_LAST = -499U, 254 TTN_FIRST = -520U, 255 TTN_LAST = -549U, 256 TCN_FIRST = -550U, 257 TCN_LAST = -580U, 258 CDN_FIRST = -601U, /* also in commdlg.h */ 259 CDN_LAST = -699U, 260 TBN_FIRST = -700U, 261 TBN_LAST = -720U, 262 UDN_FIRST = -721U, 263 UDN_LAST = -740U 264 } 265 /*static if (_WIN32_IE >= 0x300) { 266 enum { 267 RBN_FIRST = -831U, 268 RBN_LAST = -859U, 269 MCN_FIRST = -750U, 270 MCN_LAST = -759U, 271 DTN_FIRST = -760U, 272 DTN_LAST = -799U, 273 CBEN_FIRST = -800U, 274 CBEN_LAST = -830U 275 } 276 }*/ 277 static if (_WIN32_IE >= 0x400) { 278 enum { 279 IPN_FIRST = -860U, 280 IPN_LAST = -879U, 281 IPN_FIELDCHANGED = IPN_FIRST, 282 SBN_FIRST = -880U, 283 SBN_LAST = -899U, 284 PGN_FIRST = -900U, 285 PGN_LAST = -950U, 286 PGN_SCROLL = PGN_FIRST-1, 287 PGN_CALCSIZE = PGN_FIRST-2 288 } 289 } 290 291 static if (_WIN32_IE >= 0x500) { 292 enum { 293 WMN_FIRST = -1000U, 294 WMN_LAST = -1200U, 295 } 296 } 297 298 static if (_WIN32_WINNT >= 0x501) 299 { 300 enum { 301 BCN_FIRST = -1250U, 302 BCN_LAST = -1350U, 303 } 304 } 305 306 static if (_WIN32_WINNT >= 0x600) 307 { 308 enum { 309 TRBN_FIRST = -1501U, 310 TRBN_LAST = -1519U, 311 } 312 } 313 314 enum { 315 HDI_WIDTH = 1, 316 HDI_HEIGHT = 1, 317 HDI_TEXT = 2, 318 HDI_FORMAT = 4, 319 HDI_LPARAM = 8, 320 HDI_BITMAP = 16 321 } 322 static if (_WIN32_IE >= 0x300) { 323 enum { 324 HDI_IMAGE = 32, 325 HDI_DI_SETITEM = 64, 326 HDI_ORDER = 128 327 } 328 } 329 static if (_WIN32_IE >= 0x500) { 330 enum { 331 HDI_FILTER = 256 332 } 333 } 334 335 enum { 336 CBES_EX_NOEDITIMAGE = 0x00000001, 337 CBES_EX_NOEDITIMAGEINDENT = 0x00000002, 338 CBES_EX_PATHWORDBREAKPROC = 0x00000004 339 } 340 static if (_WIN32_IE >= 0x400) { 341 enum { 342 CBES_EX_NOSIZELIMIT = 0x00000008, 343 CBES_EX_CASESENSITIVE = 0x00000010, 344 CBEN_GETDISPINFOA = CBEN_FIRST - 0, 345 CBEN_GETDISPINFOW = CBEN_FIRST - 7, 346 CBEN_DRAGBEGINA = CBEN_FIRST - 8, 347 CBEN_DRAGBEGINW = CBEN_FIRST - 9 348 } 349 } 350 351 enum { 352 HDF_LEFT, 353 HDF_RIGHT, 354 HDF_CENTER, 355 HDF_JUSTIFYMASK, 356 HDF_RTLREADING, // = 4 357 HDF_OWNERDRAW = 0x8000, 358 HDF_STRING = 0x4000, 359 HDF_BITMAP = 0x2000 360 } 361 static if (_WIN32_IE >= 0x300) { 362 enum { 363 HDF_BITMAP_ON_RIGHT = 0x1000, 364 HDF_IMAGE = 0x0800 365 } 366 } 367 368 enum { 369 CCM_FIRST = 0x2000, 370 CCM_LAST = CCM_FIRST + 0x200, 371 CCM_SETBKCOLOR = 8193, 372 CCM_SETCOLORSCHEME = 8194, 373 CCM_GETCOLORSCHEME = 8195, 374 CCM_GETDROPTARGET = 8196, 375 CCM_SETUNICODEFORMAT = 8197, 376 CCM_GETUNICODEFORMAT = 8198, 377 CCM_SETVERSION = 0x2007, 378 CCM_GETVERSION = 0x2008, 379 CCM_SETNOTIFYWINDOW = 0x2009 380 } 381 382 enum { 383 HDM_GETITEMCOUNT = HDM_FIRST, 384 HDM_INSERTITEMA = HDM_FIRST + 1, 385 HDM_INSERTITEMW = HDM_FIRST + 10, 386 HDM_DELETEITEM = HDM_FIRST + 2, 387 HDM_GETITEMA = HDM_FIRST + 3, 388 HDM_GETITEMW = HDM_FIRST + 11, 389 HDM_SETITEMA = HDM_FIRST + 4, 390 HDM_SETITEMW = HDM_FIRST + 12, 391 HDM_LAYOUT = HDM_FIRST + 5 392 } 393 static if (_WIN32_IE >= 0x300) { 394 enum { 395 HDM_GETITEMRECT = HDM_FIRST + 7, 396 HDM_SETIMAGELIST = HDM_FIRST + 8, 397 HDM_GETIMAGELIST = HDM_FIRST + 9, 398 HDM_ORDERTOINDEX = HDM_FIRST + 15, 399 HDM_CREATEDRAGIMAGE = HDM_FIRST + 16, 400 HDM_GETORDERARRAY = HDM_FIRST + 17, 401 HDM_SETORDERARRAY = HDM_FIRST + 18, 402 HDM_SETHOTDIVIDER = HDM_FIRST + 19 403 } 404 } 405 static if (_WIN32_IE >= 0x400) { 406 enum { 407 HDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 408 HDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 409 } 410 } 411 static if (_WIN32_IE >= 0x500) { 412 enum { 413 HDM_SETBITMAPMARGIN = HDM_FIRST + 20, 414 HDM_GETBITMAPMARGIN = HDM_FIRST + 21, 415 HDM_SETFILTERCHANGETIMEOUT = HDM_FIRST + 22, 416 HDM_EDITFILTER = HDM_FIRST + 23, 417 HDM_CLEARFILTER = HDM_FIRST + 24, 418 } 419 } 420 static if (_WIN32_IE >= 0x600) { 421 enum { 422 HDM_GETITEMDROPDOWNRECT = HDM_FIRST + 25, 423 HDM_GETOVERFLOWRECT = HDM_FIRST + 26, 424 HDM_GETFOCUSEDITEM = HDM_FIRST + 27, 425 HDM_SETFOCUSEDITEM = HDM_FIRST + 28, 426 } 427 } 428 429 enum { 430 HHT_NOWHERE = 1, 431 HHT_ONHEADER = 2, 432 HHT_ONDIVIDER = 4, 433 HHT_ONDIVOPEN = 8, 434 HHT_ABOVE = 256, 435 HHT_BELOW = 512, 436 HHT_TORIGHT = 1024, 437 HHT_TOLEFT = 2048 438 } 439 440 enum { 441 HDM_HITTEST = HDM_FIRST + 6 442 } 443 444 enum { 445 HDN_ITEMCHANGINGA = HDN_FIRST -0, 446 HDN_ITEMCHANGINGW = HDN_FIRST -20, 447 HDN_ITEMCHANGEDA = HDN_FIRST -1, 448 HDN_ITEMCHANGEDW = HDN_FIRST -21, 449 HDN_ITEMCLICKA = HDN_FIRST -2, 450 HDN_ITEMCLICKW = HDN_FIRST -22, 451 HDN_ITEMDBLCLICKA = HDN_FIRST -3, 452 HDN_ITEMDBLCLICKW = HDN_FIRST -23, 453 HDN_DIVIDERDBLCLICKA = HDN_FIRST -5, 454 HDN_DIVIDERDBLCLICKW = HDN_FIRST -25, 455 HDN_BEGINTRACKA = HDN_FIRST -6, 456 HDN_BEGINTRACKW = HDN_FIRST -26, 457 HDN_ENDTRACKA = HDN_FIRST -7, 458 HDN_ENDTRACKW = HDN_FIRST -27, 459 HDN_TRACKA = HDN_FIRST -8, 460 HDN_TRACKW = HDN_FIRST -28 461 } 462 static if (_WIN32_IE >= 0x300) { 463 enum { 464 HDN_ENDDRAG = (HDN_FIRST-11), 465 HDN_BEGINDRAG = (HDN_FIRST-10), 466 HDN_GETDISPINFOA = (HDN_FIRST-9), 467 HDN_GETDISPINFOW = (HDN_FIRST-29) 468 } 469 } 470 471 static if (_WIN32_IE >= 0x400) { 472 enum { 473 HICF_OTHER = 0x00, 474 HICF_MOUSE = 0x01, 475 HICF_ARROWKEYS = 0x02, 476 HICF_ACCELERATOR = 0x04, 477 HICF_DUPACCEL = 0x08, 478 HICF_ENTERING = 0x10, 479 HICF_LEAVING = 0x20, 480 HICF_RESELECT = 0x40, 481 HICF_LMOUSE = 0x80, 482 HICF_TOGGLEDROPDOWN = 0x100 483 } 484 } 485 486 enum { 487 IPM_CLEARADDRESS = WM_USER + 100, 488 IPM_SETADDRESS = WM_USER + 101, 489 IPM_GETADDRESS = WM_USER + 102, 490 IPM_SETRANGE = WM_USER + 103, 491 IPM_SETFOCUS = WM_USER + 104, 492 IPM_ISBLANK = WM_USER + 105 493 } 494 495 static if (_WIN32_IE >= 0x500) { 496 enum { 497 I_INDENTCALLBACK = -1, 498 I_IMAGENONE = -2 499 } 500 } 501 502 enum { 503 TBSTATE_CHECKED = 1, 504 TBSTATE_PRESSED = 2, 505 TBSTATE_ENABLED = 4, 506 TBSTATE_HIDDEN = 8, 507 TBSTATE_INDETERMINATE = 16, 508 TBSTATE_WRAP = 32 509 } 510 static if (_WIN32_IE >= 0x300) { 511 enum { 512 TBSTATE_ELLIPSES = 0x40 513 } 514 } 515 static if (_WIN32_IE >= 0x400) { 516 enum { 517 TBSTATE_MARKED = 0x0080 518 } 519 } 520 521 enum { 522 TBSTYLE_BUTTON = 0, 523 TBSTYLE_SEP = 1, 524 TBSTYLE_CHECK = 2, 525 TBSTYLE_GROUP = 4, 526 TBSTYLE_CHECKGROUP = TBSTYLE_GROUP | TBSTYLE_CHECK 527 } 528 static if (_WIN32_IE >= 0x300) { 529 enum { 530 TBSTYLE_DROPDOWN = 8 531 } 532 } 533 static if (_WIN32_IE >= 0x400) { 534 enum { 535 TBSTYLE_AUTOSIZE = 16, 536 TBSTYLE_NOPREFIX = 32 537 } 538 } 539 enum { 540 TBSTYLE_TOOLTIPS = 256, 541 TBSTYLE_WRAPABLE = 512, 542 TBSTYLE_ALTDRAG = 1024 543 } 544 static if (_WIN32_IE >= 0x300) { 545 enum { 546 TBSTYLE_FLAT = 2048, 547 TBSTYLE_LIST = 4096, 548 TBSTYLE_CUSTOMERASE = 8192 549 } 550 } 551 static if (_WIN32_IE >= 0x400) { 552 enum { 553 TBSTYLE_REGISTERDROP = 0x4000, 554 TBSTYLE_TRANSPARENT = 0x8000, 555 TBSTYLE_EX_DRAWDDARROWS = 0x00000001 556 } 557 } 558 static if (_WIN32_IE >= 0x501) { 559 enum { 560 TBSTYLE_EX_MIXEDBUTTONS = 8, 561 TBSTYLE_EX_HIDECLIPPEDBUTTONS = 16 562 } 563 } 564 static if (_WIN32_WINNT >= 0x501) { 565 enum { 566 TBSTYLE_EX_DOUBLEBUFFER = 0x80 567 } 568 } 569 570 static if (_WIN32_IE >= 0x500) { 571 enum { 572 BTNS_BUTTON = TBSTYLE_BUTTON, 573 BTNS_SEP = TBSTYLE_SEP, 574 BTNS_CHECK = TBSTYLE_CHECK, 575 BTNS_GROUP = TBSTYLE_GROUP, 576 BTNS_CHECKGROUP = TBSTYLE_CHECKGROUP, 577 BTNS_DROPDOWN = TBSTYLE_DROPDOWN, 578 BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE, 579 BTNS_NOPREFIX = TBSTYLE_NOPREFIX, 580 BTNS_WHOLEDROPDOWN = 0x0080 581 } 582 } 583 static if (_WIN32_IE >= 0x501) { 584 enum { 585 BTNS_SHOWTEXT = 0x0040 586 } 587 } 588 589 static if (_WIN32_IE >= 0x400) { 590 enum { 591 TBCDRF_NOEDGES = 0x10000, 592 TBCDRF_HILITEHOTTRACK = 0x20000, 593 TBCDRF_NOOFFSET = 0x40000, 594 TBCDRF_NOMARK = 0x80000, 595 TBCDRF_NOETCHEDEFFECT = 0x100000 596 } 597 } 598 599 enum HINST_COMMCTRL = cast(HINSTANCE) (-1); 600 601 enum { 602 IDB_STD_SMALL_COLOR, 603 IDB_STD_LARGE_COLOR, 604 IDB_VIEW_SMALL_COLOR = 4, 605 IDB_VIEW_LARGE_COLOR = 5 606 } 607 static if (_WIN32_IE >= 0x300) { 608 enum { 609 IDB_HIST_SMALL_COLOR = 8, 610 IDB_HIST_LARGE_COLOR = 9 611 } 612 } 613 614 enum { 615 STD_CUT, 616 STD_COPY, 617 STD_PASTE, 618 STD_UNDO, 619 STD_REDOW, 620 STD_DELETE, 621 STD_FILENEW, 622 STD_FILEOPEN, 623 STD_FILESAVE, 624 STD_PRINTPRE, 625 STD_PROPERTIES, 626 STD_HELP, 627 STD_FIND, 628 STD_REPLACE, 629 STD_PRINT // = 14 630 } 631 632 enum { 633 VIEW_LARGEICONS, 634 VIEW_SMALLICONS, 635 VIEW_LIST, 636 VIEW_DETAILS, 637 VIEW_SORTNAME, 638 VIEW_SORTSIZE, 639 VIEW_SORTDATE, 640 VIEW_SORTTYPE, 641 VIEW_PARENTFOLDER, 642 VIEW_NETCONNECT, 643 VIEW_NETDISCONNECT, 644 VIEW_NEWFOLDER // = 11 645 } 646 647 enum { 648 TB_ENABLEBUTTON = WM_USER + 1, 649 TB_CHECKBUTTON, 650 TB_PRESSBUTTON, 651 TB_HIDEBUTTON, 652 TB_INDETERMINATE, // = WM_USER + 5, 653 TB_ISBUTTONENABLED = WM_USER + 9, 654 TB_ISBUTTONCHECKED, 655 TB_ISBUTTONPRESSED, 656 TB_ISBUTTONHIDDEN, 657 TB_ISBUTTONINDETERMINATE, // = WM_USER + 13, 658 TB_SETSTATE = WM_USER + 17, 659 TB_GETSTATE = WM_USER + 18, 660 TB_ADDBITMAP = WM_USER + 19, 661 TB_DELETEBUTTON = WM_USER + 22, 662 TB_GETBUTTON, 663 TB_BUTTONCOUNT, 664 TB_COMMANDTOINDEX, 665 TB_SAVERESTOREA, 666 TB_CUSTOMIZE, 667 TB_ADDSTRINGA, 668 TB_GETITEMRECT, 669 TB_BUTTONSTRUCTSIZE, 670 TB_SETBUTTONSIZE, 671 TB_SETBITMAPSIZE, 672 TB_AUTOSIZE, // = WM_USER + 33, 673 TB_GETTOOLTIPS = WM_USER + 35, 674 TB_SETTOOLTIPS = WM_USER + 36, 675 TB_SETPARENT = WM_USER + 37, 676 TB_SETROWS = WM_USER + 39, 677 TB_GETROWS, 678 TB_GETBITMAPFLAGS, 679 TB_SETCMDID, 680 TB_CHANGEBITMAP, 681 TB_GETBITMAP, 682 TB_GETBUTTONTEXTA, 683 TB_REPLACEBITMAP, // = WM_USER + 46, 684 TB_GETBUTTONSIZE = WM_USER + 58, 685 TB_SETBUTTONWIDTH = WM_USER + 59, 686 TB_GETBUTTONTEXTW = WM_USER + 75, 687 TB_SAVERESTOREW = WM_USER + 76, 688 TB_ADDSTRINGW = WM_USER + 77, 689 } 690 static if (_WIN32_IE >= 0x400) { 691 enum { 692 TB_MARKBUTTON = WM_USER + 6 693 } 694 } 695 static if (_WIN32_IE >= 0x400) { 696 enum { 697 TB_ISBUTTONHIGHLIGHTED = WM_USER + 14 698 } 699 } 700 static if (_WIN32_IE >= 0x400) { 701 enum { 702 TB_ADDBUTTONSA = WM_USER + 20, 703 TB_INSERTBUTTONA = WM_USER + 21 704 } 705 } else { 706 enum { 707 TB_ADDBUTTONS = WM_USER + 20, 708 TB_INSERTBUTTON = WM_USER + 21 709 } 710 } 711 static if (_WIN32_IE >= 0x300) { 712 enum { 713 TB_SETINDENT = WM_USER + 47, 714 TB_SETIMAGELIST, 715 TB_GETIMAGELIST, 716 TB_LOADIMAGES, 717 TB_GETRECT, 718 TB_SETHOTIMAGELIST, 719 TB_GETHOTIMAGELIST, 720 TB_SETDISABLEDIMAGELIST, 721 TB_GETDISABLEDIMAGELIST, 722 TB_SETSTYLE, 723 TB_GETSTYLE, 724 //TB_GETBUTTONSIZE, 725 //TB_SETBUTTONWIDTH, 726 TB_SETMAXTEXTROWS, 727 TB_GETTEXTROWS // = WM_USER + 61 728 } 729 } 730 static if (_WIN32_IE >= 0x400) { 731 enum { 732 TB_GETOBJECT = WM_USER + 62, 733 TB_GETBUTTONINFOW, 734 TB_SETBUTTONINFOW, 735 TB_GETBUTTONINFOA, 736 TB_SETBUTTONINFOA, 737 TB_INSERTBUTTONW, 738 TB_ADDBUTTONSW, 739 TB_HITTEST, // = WM_USER + 69 740 TB_SETEXTENDEDSTYLE = WM_USER + 84, 741 TB_GETEXTENDEDSTYLE = WM_USER + 85, 742 TB_SETDRAWTEXTFLAGS = WM_USER + 70, 743 TB_GETHOTITEM, 744 TB_SETHOTITEM, 745 TB_SETANCHORHIGHLIGHT, 746 TB_GETANCHORHIGHLIGHT, // = WM_USER + 74 747 TB_MAPACCELERATORA = WM_USER + 78, 748 TB_GETINSERTMARK, 749 TB_SETINSERTMARK, 750 TB_INSERTMARKHITTEST, 751 TB_MOVEBUTTON, 752 TB_GETMAXSIZE, 753 //TB_SETEXTENDEDSTYLE, 754 //TB_GETEXTENDEDSTYLE, 755 TB_GETPADDING, 756 TB_SETPADDING, 757 TB_SETINSERTMARKCOLOR, 758 TB_GETINSERTMARKCOLOR, 759 TB_MAPACCELERATORW, 760 TB_GETSTRINGW, 761 TB_GETSTRINGA, // = WM_USER + 92 762 TB_SETHOTITEM2 = WM_USER + 94, 763 TB_SETLISTGAP = WM_USER + 96, 764 TB_GETIMAGELISTCOUNT = WM_USER + 98, 765 TB_GETIDEALSIZE = WM_USER + 99, 766 //TB_TRANSLATEACCELERATOR = CCM_TRANSLATEACCELERATOR, 767 TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME, 768 TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME, 769 TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 770 TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 771 } 772 } 773 774 static if (_WIN32_WINNT >= 0x501) { 775 enum { 776 TB_GETMETRICS = WM_USER + 101, 777 TB_SETMETRICS = WM_USER + 102, 778 } 779 } 780 781 static if (_WIN32_WINNT >= 0x600) { 782 enum { 783 TB_GETITEMDROPDOWNRECT = WM_USER + 103, 784 TB_SETPRESSEDIMAGELIST = WM_USER + 104, 785 TB_GETPRESSEDIMAGELIST = WM_USER + 105, 786 } 787 } 788 789 enum TBBF_LARGE = 1; 790 791 enum { 792 TBN_GETBUTTONINFOA = TBN_FIRST -0, 793 TBN_BEGINDRAG = TBN_FIRST -1, 794 TBN_ENDDRAG = TBN_FIRST -2, 795 TBN_BEGINADJUST = TBN_FIRST -3, 796 TBN_ENDADJUST = TBN_FIRST -4, 797 TBN_RESET = TBN_FIRST -5, 798 TBN_QUERYINSERT = TBN_FIRST -6, 799 TBN_QUERYDELETE = TBN_FIRST -7, 800 TBN_TOOLBARCHANGE = TBN_FIRST -8, 801 TBN_CUSTHELP = TBN_FIRST -9 802 } 803 static if (_WIN32_IE >= 0x300) { 804 enum { 805 TBN_DROPDOWN = TBN_FIRST - 10 806 } 807 } 808 static if (_WIN32_IE >= 0x400) { 809 enum { 810 TBN_HOTITEMCHANGE = TBN_FIRST - 13, 811 TBN_DRAGOUT = TBN_FIRST - 14, 812 TBN_DELETINGBUTTON = TBN_FIRST - 15, 813 TBN_GETDISPINFOA = TBN_FIRST - 16, 814 TBN_GETDISPINFOW = TBN_FIRST - 17, 815 TBN_GETINFOTIPA = TBN_FIRST - 18, 816 TBN_GETINFOTIPW = TBN_FIRST - 19, 817 TBN_GETBUTTONINFOW = TBN_FIRST - 20 818 } 819 } 820 static if (_WIN32_IE >= 0x500) { 821 enum { 822 TBN_RESTORE = TBN_FIRST - 21, 823 TBN_SAVE = TBN_FIRST - 22, 824 TBN_INITCUSTOMIZE = TBN_FIRST - 23 825 } 826 827 enum { 828 TBNRF_HIDEHELP = 1, 829 TBNRF_ENDCUSTOMIZE 830 } 831 832 enum { 833 TBNF_IMAGE = 1, 834 TBNF_TEXT = 2, 835 TBNF_DI_SETITEM = 0x10000000 836 } 837 } 838 839 enum { 840 TTS_ALWAYSTIP = 1, 841 TTS_NOPREFIX 842 } 843 static if (_WIN32_IE >= 0x500) { 844 enum { 845 TTS_NOANIMATE = 0x10, 846 TTS_NOFADE = 0x20, 847 TTS_BALLOON = 0x40, 848 TTS_CLOSE = 0x80 849 } 850 } 851 852 enum { 853 TTF_IDISHWND = 1, 854 TTF_CENTERTIP = 2, 855 TTF_RTLREADING = 4, 856 TTF_SUBCLASS = 16 857 } 858 static if (_WIN32_IE >= 0x300) { 859 enum { 860 TTF_TRACK = 0x0020, 861 TTF_ABSOLUTE = 0x0080, 862 TTF_TRANSPARENT = 0x0100, 863 TTF_DI_SETITEM = 0x8000 864 } 865 866 static if (_WIN32_IE >= 0x501) { 867 enum { 868 TTF_PARSELINKS = 0x1000 869 } 870 } 871 872 enum { 873 TBCD_TICS = 1, 874 TBCD_THUMB, 875 TBCD_CHANNEL // = 3 876 } 877 } 878 879 static if (_WIN32_IE >= 0x400) { 880 enum { 881 TBDDRET_DEFAULT, 882 TBDDRET_NODEFAULT, 883 TBDDRET_TREATPRESSED 884 } 885 886 enum { 887 TBIMHT_AFTER = 1, 888 TBIMHT_BACKGROUND 889 } 890 } 891 892 enum { 893 TTDT_AUTOMATIC, 894 TTDT_RESHOW, 895 TTDT_AUTOPOP, 896 TTDT_INITIAL 897 } 898 899 enum { 900 TTM_ACTIVATE = WM_USER + 1, 901 TTM_SETDELAYTIME = WM_USER + 3, 902 TTM_ADDTOOLA, 903 TTM_DELTOOLA, 904 TTM_NEWTOOLRECTA, 905 TTM_RELAYEVENT, 906 TTM_GETTOOLINFOA, 907 TTM_SETTOOLINFOA, 908 TTM_HITTESTA, 909 TTM_GETTEXTA, 910 TTM_UPDATETIPTEXTA, 911 TTM_GETTOOLCOUNT, 912 TTM_ENUMTOOLSA, 913 TTM_GETCURRENTTOOLA, 914 TTM_WINDOWFROMPOINT, // = WM_USER + 16 915 TTM_ADDTOOLW = WM_USER + 50, 916 TTM_DELTOOLW, 917 TTM_NEWTOOLRECTW, 918 TTM_GETTOOLINFOW, 919 TTM_SETTOOLINFOW, 920 TTM_HITTESTW, 921 TTM_GETTEXTW, 922 TTM_UPDATETIPTEXTW, 923 TTM_ENUMTOOLSW, 924 TTM_GETCURRENTTOOLW // = WM_USER + 59 925 } 926 927 static if (_WIN32_IE >= 0x300) { 928 enum { 929 TTM_TRACKACTIVATE = WM_USER + 17, 930 TTM_TRACKPOSITION, 931 TTM_SETTIPBKCOLOR, 932 TTM_SETTIPTEXTCOLOR, 933 TTM_GETDELAYTIME, 934 TTM_GETTIPBKCOLOR, 935 TTM_GETTIPTEXTCOLOR, 936 TTM_SETMAXTIPWIDTH, 937 TTM_GETMAXTIPWIDTH, 938 TTM_SETMARGIN, 939 TTM_GETMARGIN, 940 TTM_POP // = WM_USER + 28 941 } 942 } 943 944 static if (_WIN32_IE >= 0x400) { // IE4.0 ??? 945 enum { 946 TTM_UPDATE = WM_USER + 29, 947 TTM_GETBUBBLESIZE, 948 TTM_ADJUSTRECT, 949 TTM_SETTITLEA, 950 TTM_SETTITLEW // = WM_USER + 33 951 } 952 static if (_WIN32_IE >= 0x500) { 953 alias TTM_SETTITLEW TTM_SETTITLE; 954 } else { 955 alias TTM_SETTITLEA TTM_SETTITLE; 956 } 957 } 958 959 static if (_WIN32_WINNT >= 0x501) { 960 enum { 961 TTM_POPUP = (WM_USER + 34), 962 TTM_GETTITLE = (WM_USER + 35), 963 } 964 } 965 966 enum { 967 TTN_GETDISPINFOA = TTN_FIRST - 0, 968 TTN_GETDISPINFOW = TTN_FIRST - 10, 969 TTN_NEEDTEXTA = TTN_GETDISPINFOA, 970 TTN_NEEDTEXTW = TTN_GETDISPINFOW, 971 TTN_SHOW = TTN_FIRST-1, 972 TTN_POP = TTN_FIRST-2 973 } 974 975 enum UD_MAXVAL = 0x7fff; 976 enum UD_MINVAL = -UD_MAXVAL; 977 978 enum { 979 UDN_DELTAPOS = UDN_FIRST-1, 980 UDS_WRAP = 1, 981 UDS_SETBUDDYINT = 2, 982 UDS_ALIGNRIGHT = 4, 983 UDS_ALIGNLEFT = 8, 984 UDS_AUTOBUDDY = 16, 985 UDS_ARROWKEYS = 32, 986 UDS_HORZ = 64, 987 UDS_NOTHOUSANDS = 128 988 } 989 990 static if (_WIN32_IE >= 0x300) { 991 enum { 992 UDS_HOTTRACK = 0x0100 993 } 994 } 995 996 enum { 997 UDM_SETRANGE = WM_USER + 101, 998 UDM_GETRANGE, 999 UDM_SETPOS, 1000 UDM_GETPOS, 1001 UDM_SETBUDDY, 1002 UDM_GETBUDDY, 1003 UDM_SETACCEL, 1004 UDM_GETACCEL, 1005 UDM_SETBASE, 1006 UDM_GETBASE // = WM_USER + 110 1007 } 1008 1009 static if (_WIN32_IE >= 0x400) { 1010 enum { 1011 UDM_SETRANGE32 = WM_USER + 111, 1012 UDM_GETRANGE32, 1013 UDM_SETPOS32, 1014 UDM_GETPOS32 // = WM_USER + 114 1015 } 1016 } 1017 1018 static if (_WIN32_IE >= 0x500) { 1019 enum { 1020 UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 1021 UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 1022 } 1023 } 1024 1025 /*enum { 1026 SB_SETTEXTA = WM_USER + 1, 1027 SB_GETTEXTA, 1028 SB_GETTEXTLENGTHA, 1029 SB_SETPARTS, // = WM_USER + 4 1030 SB_GETPARTS = WM_USER + 6, 1031 SB_GETBORDERS, 1032 SB_SETMINHEIGHT, 1033 SB_SIMPLE, 1034 SB_GETRECT, 1035 SB_SETTEXTW, 1036 SB_GETTEXTLENGTHW, 1037 SB_GETTEXTW // = WM_USER + 13 1038 }*/ 1039 1040 /*enum { 1041 SBT_OWNERDRAW = 0x1000, 1042 SBT_NOBORDERS = 256, 1043 SBT_POPOUT = 512, 1044 SBT_RTLREADING = 1024 1045 }*/ 1046 1047 static if (_WIN32_IE >= 0x400) { 1048 enum { 1049 SBT_TOOLTIPS = 0x0800, 1050 SBN_SIMPLEMODECHANGE = SBN_FIRST 1051 } 1052 } 1053 1054 enum { 1055 TBS_AUTOTICKS = 1, 1056 TBS_VERT = 2, 1057 TBS_HORZ = 0, 1058 TBS_TOP = 4, 1059 TBS_BOTTOM = 0, 1060 TBS_LEFT = 4, 1061 TBS_RIGHT = 0, 1062 TBS_BOTH = 8, 1063 TBS_NOTICKS = 16, 1064 TBS_ENABLESELRANGE = 32, 1065 TBS_FIXEDLENGTH = 64, 1066 TBS_NOTHUMB = 128 1067 } 1068 1069 static if (_WIN32_IE >= 0x300) { 1070 enum { 1071 TBS_TOOLTIPS = 0x0100, 1072 TBTS_TOP = 0, 1073 TBTS_LEFT, 1074 TBTS_BOTTOM, 1075 TBTS_RIGHT // = 3 1076 } 1077 } 1078 1079 static if (_WIN32_IE >= 0x500) { 1080 enum { 1081 TBS_REVERSED = 0x0200 1082 } 1083 } 1084 1085 static if (_WIN32_IE >= 0x501) { 1086 enum { 1087 TBS_DOWNISLEFT = 0x0400 1088 } 1089 } 1090 1091 static if (_WIN32_IE >= 0x400) { 1092 enum { 1093 TBIF_BYINDEX = 0x80000000, 1094 TBIF_COMMAND = 32, 1095 TBIF_IMAGE = 1, 1096 TBIF_LPARAM = 16, 1097 TBIF_SIZE = 64, 1098 TBIF_STATE = 4, 1099 TBIF_STYLE = 8, 1100 TBIF_TEXT = 2 1101 } 1102 } 1103 1104 enum { 1105 TBM_GETPOS = WM_USER, 1106 TBM_GETRANGEMIN, 1107 TBM_GETRANGEMAX, 1108 TBM_GETTIC, 1109 TBM_SETTIC, 1110 TBM_SETPOS, 1111 TBM_SETRANGE, 1112 TBM_SETRANGEMIN, 1113 TBM_SETRANGEMAX, 1114 TBM_CLEARTICS, 1115 TBM_SETSEL, 1116 TBM_SETSELSTART, 1117 TBM_SETSELEND, // = WM_USER+12, 1118 TBM_GETPTICS = WM_USER+14, 1119 TBM_GETTICPOS, 1120 TBM_GETNUMTICS, 1121 TBM_GETSELSTART, 1122 TBM_GETSELEND, 1123 TBM_CLEARSEL, 1124 TBM_SETTICFREQ, 1125 TBM_SETPAGESIZE, 1126 TBM_GETPAGESIZE, 1127 TBM_SETLINESIZE, 1128 TBM_GETLINESIZE, 1129 TBM_GETTHUMBRECT, 1130 TBM_GETCHANNELRECT, 1131 TBM_SETTHUMBLENGTH, 1132 TBM_GETTHUMBLENGTH, 1133 TBM_SETTOOLTIPS, 1134 TBM_GETTOOLTIPS, 1135 TBM_SETTIPSIDE, 1136 TBM_SETBUDDY, 1137 TBM_GETBUDDY, // = WM_USER+33, 1138 TBM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 1139 TBM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 1140 } 1141 1142 enum { 1143 TB_LINEUP, 1144 TB_LINEDOWN, 1145 TB_PAGEUP, 1146 TB_PAGEDOWN, 1147 TB_THUMBPOSITION, 1148 TB_THUMBTRACK, 1149 TB_TOP, 1150 TB_BOTTOM, 1151 TB_ENDTRACK // = 8 1152 } 1153 1154 enum { 1155 HOTKEYF_SHIFT = 1, 1156 HOTKEYF_CONTROL = 2, 1157 HOTKEYF_ALT = 4, 1158 HOTKEYF_EXT = 8 1159 } 1160 1161 enum { 1162 HKCOMB_NONE = 1, 1163 HKCOMB_S = 2, 1164 HKCOMB_C = 4, 1165 HKCOMB_A = 8, 1166 HKCOMB_SC = 16, 1167 HKCOMB_SA = 32, 1168 HKCOMB_CA = 64, 1169 HKCOMB_SCA = 128 1170 } 1171 1172 enum { 1173 HKM_SETHOTKEY = WM_USER + 1, 1174 HKM_GETHOTKEY = WM_USER + 2, 1175 HKM_SETRULES = WM_USER + 3 1176 } 1177 1178 enum { 1179 PBM_SETRANGE = WM_USER + 1, 1180 PBM_SETPOS, 1181 PBM_DELTAPOS, 1182 PBM_SETSTEP, 1183 PBM_STEPIT, // = WM_USER + 5 1184 PBM_SETRANGE32 = 1030, 1185 PBM_GETRANGE, 1186 PBM_GETPOS, 1187 PBM_SETBARCOLOR, // = 1033 1188 PBM_SETBKCOLOR = CCM_SETBKCOLOR 1189 } 1190 1191 static if (_WIN32_WINNT >= 0x501) { 1192 enum { 1193 PBM_SETMARQUEE = WM_USER + 10, 1194 } 1195 } 1196 1197 static if (_WIN32_WINNT >= 0x600) { 1198 enum { 1199 PBM_GETSTEP = WM_USER + 13, 1200 PBM_GETBKCOLOR, 1201 PBM_GETBARCOLOR, 1202 PBM_SETSTATE, 1203 PBM_GETSTATE, 1204 } 1205 } 1206 1207 enum { 1208 PBS_SMOOTH = 1, 1209 PBS_VERTICAL = 4 1210 } 1211 1212 static if (_WIN32_WINNT >= 0x501) { 1213 enum { 1214 PBS_MARQUEE = 8, 1215 } 1216 } 1217 1218 static if (_WIN32_WINNT >= 0x600) { 1219 enum { 1220 PBS_SMOOTHREVERSE = 16, 1221 } 1222 } 1223 1224 enum { 1225 LVS_ICON, 1226 LVS_REPORT, 1227 LVS_SMALLICON, 1228 LVS_LIST, // = 3 1229 LVS_TYPEMASK = 3, 1230 LVS_SINGLESEL = 4, 1231 LVS_SHOWSELALWAYS = 8, 1232 LVS_SORTASCENDING = 16, 1233 LVS_SORTDESCENDING = 32, 1234 LVS_SHAREIMAGELISTS = 64, 1235 LVS_NOLABELWRAP = 128, 1236 LVS_AUTOARRANGE = 256, 1237 LVS_EDITLABELS = 512, 1238 LVS_NOSCROLL = 0x2000, 1239 LVS_TYPESTYLEMASK = 0xFC00, 1240 LVS_ALIGNTOP = 0, 1241 LVS_ALIGNLEFT = 0x800, 1242 LVS_ALIGNMASK = 0xC00, 1243 LVS_OWNERDRAWFIXED = 0x400, 1244 LVS_NOCOLUMNHEADER = 0x4000, 1245 LVS_NOSORTHEADER = 0x8000 1246 } 1247 1248 static if (_WIN32_IE >= 0x300) { 1249 enum { 1250 CDIS_CHECKED = 8, 1251 CDIS_DEFAULT = 32, 1252 CDIS_DISABLED = 4, 1253 CDIS_FOCUS = 16, 1254 CDIS_GRAYED = 2, 1255 CDIS_HOT = 64, 1256 CDIS_SELECTED = 1, 1257 CDIS_MARKED = 128, 1258 CDIS_INDETERMINATE = 256 1259 } 1260 1261 static if (_WIN32_WINNT >= 0x501) { 1262 enum { 1263 CDIS_SHOWKEYBOARDCUES = 512 1264 } 1265 } 1266 1267 enum { 1268 CDDS_POSTERASE = 4, 1269 CDDS_POSTPAINT = 2, 1270 CDDS_PREERASE = 3, 1271 CDDS_PREPAINT = 1, 1272 CDDS_ITEM = 65536, 1273 CDDS_ITEMPOSTERASE = 65540, 1274 CDDS_ITEMPOSTPAINT = 65538, 1275 CDDS_ITEMPREERASE = 65539, 1276 CDDS_ITEMPREPAINT = 65537 1277 } 1278 1279 static if (_WIN32_IE >= 0x400) { 1280 enum { 1281 CDDS_SUBITEM = 0x20000 1282 } 1283 } 1284 1285 enum { 1286 CDRF_DODEFAULT = 0x00, 1287 CDRF_NOTIFYITEMDRAW = 0x20, 1288 CDRF_NOTIFYSUBITEMDRAW = 0x20, 1289 CDRF_NOTIFYITEMERASE = 0x80, 1290 CDRF_NOTIFYPOSTERASE = 0x40, 1291 CDRF_NOTIFYPOSTPAINT = 0x10, 1292 CDRF_NEWFONT = 0x02, 1293 CDRF_SKIPDEFAULT = 0x04 1294 } 1295 1296 static if (_WIN32_IE >= 0x400) { 1297 enum { 1298 LVBKIF_SOURCE_NONE = 0x00000000, 1299 LVBKIF_SOURCE_HBITMAP = 0x00000001, 1300 LVBKIF_SOURCE_URL = 0x00000002, 1301 LVBKIF_SOURCE_MASK = 0x00000003, 1302 LVBKIF_STYLE_NORMAL = 0x00000000, 1303 LVBKIF_STYLE_TILE = 0x00000010, 1304 LVBKIF_STYLE_MASK = 0x00000010 1305 } 1306 } 1307 1308 static if (_WIN32_WINNT >= 0x501) { 1309 enum { 1310 LVBKIF_FLAG_TILEOFFSET = 0x00000100, 1311 LVBKIF_TYPE_WATERMARK = 0x10000000 1312 } 1313 } 1314 1315 enum { 1316 LVS_OWNERDATA = 4096 1317 } 1318 1319 enum { 1320 LVS_EX_CHECKBOXES = 4, 1321 LVS_EX_FULLROWSELECT = 32, 1322 LVS_EX_GRIDLINES = 1, 1323 LVS_EX_HEADERDRAGDROP = 16, 1324 LVS_EX_ONECLICKACTIVATE = 64, 1325 LVS_EX_SUBITEMIMAGES = 2, 1326 LVS_EX_TRACKSELECT = 8, 1327 LVS_EX_TWOCLICKACTIVATE = 128 1328 } 1329 1330 enum { 1331 LVSICF_NOINVALIDATEALL = 0x00000001, 1332 LVSICF_NOSCROLL = 0x00000002 1333 } 1334 1335 static if (_WIN32_IE >= 0x400) { 1336 enum { 1337 LVS_EX_FLATSB = 0x00000100, 1338 LVS_EX_REGIONAL = 0x00000200, 1339 LVS_EX_INFOTIP = 0x00000400, 1340 LVS_EX_UNDERLINEHOT = 0x00000800, 1341 LVS_EX_UNDERLINECOLD = 0x00001000, 1342 LVS_EX_MULTIWORKAREAS = 0x00002000 1343 } 1344 } 1345 1346 static if (_WIN32_IE >= 0x500) { 1347 enum { 1348 LVS_EX_LABELTIP = 0x00004000, 1349 LVS_EX_BORDERSELECT = 0x00008000 1350 } 1351 } 1352 } 1353 1354 enum { 1355 LVSIL_NORMAL, 1356 LVSIL_SMALL, 1357 LVSIL_STATE 1358 } 1359 1360 enum { 1361 LVM_GETBKCOLOR = LVM_FIRST, 1362 LVM_SETBKCOLOR, 1363 LVM_GETIMAGELIST, 1364 LVM_SETIMAGELIST, 1365 LVM_GETITEMCOUNT, // = LVM_FIRST + 4 1366 LVM_SORTITEMSEX = LVM_FIRST + 81, 1367 LVM_GETGROUPSTATE = LVM_FIRST + 92, 1368 LVM_GETFOCUSEDGROUP, 1369 LVM_GETGROUPRECT = LVM_FIRST + 98, 1370 LVM_SETVIEW = LVM_FIRST + 142, 1371 LVM_GETVIEW, // = LVM_FIRST + 143 1372 LVM_INSERTGROUP = LVM_FIRST + 145, 1373 LVM_SETGROUPINFO = LVM_FIRST + 147, 1374 LVM_GETGROUPINFO = LVM_FIRST + 149, 1375 LVM_REMOVEGROUP, 1376 LVM_MOVEGROUP, // = LVM_FIRST + 151 1377 LVM_GETGROUPCOUNT, 1378 LVM_GETGROUPINFOBYINDEX, 1379 LVM_MOVEITEMTOGROUP, 1380 LVM_SETGROUPMETRICS = LVM_FIRST + 155, 1381 LVM_GETGROUPMETRICS, 1382 LVM_ENABLEGROUPVIEW, 1383 LVM_SORTGROUPS, 1384 LVM_INSERTGROUPSORTED, 1385 LVM_REMOVEALLGROUPS, 1386 LVM_HASGROUP, 1387 LVM_SETTILEVIEWINFO, 1388 LVM_GETTILEVIEWINFO, 1389 LVM_SETTILEINFO, 1390 LVM_GETTILEINFO, 1391 LVM_SETINSERTMARK, 1392 LVM_GETINSERTMARK, 1393 LVM_INSERTMARKHITTEST, 1394 LVM_GETINSERTMARKRECT, 1395 LVM_SETINSERTMARKCOLOR, 1396 LVM_GETINSERTMARKCOLOR, // = LVM_FIRST + 171 1397 LVM_SETINFOTIP = LVM_FIRST + 173, 1398 LVM_GETSELECTEDCOLUMN, 1399 LVM_ISGROUPVIEWENABLED, 1400 LVM_GETOUTLINECOLOR, 1401 LVM_SETOUTLINECOLOR, // = LVM_FIRST + 177 1402 LVM_CANCELEDITLABEL = LVM_FIRST + 179, 1403 LVM_MAPINDEXTOID = LVM_FIRST + 180, 1404 LVM_MAPIDTOINDEX = LVM_FIRST + 181, 1405 LVM_ISITEMVISIBLE = LVM_FIRST + 182, 1406 } 1407 1408 static if (_WIN32_WINNT >= 0x501) { 1409 enum { 1410 LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140 1411 } 1412 } 1413 1414 static if (_WIN32_WINNT >= 0x600) { 1415 enum { 1416 LVM_GETEMPTYTEXT = LVM_FIRST + 204, 1417 LVM_GETFOOTERRECT = LVM_FIRST + 205, 1418 LVM_GETFOOTERINFO = LVM_FIRST + 206, 1419 LVM_GETFOOTERITEMRECT = LVM_FIRST + 207, 1420 LVM_GETFOOTERITEM = (LVM_FIRST + 208), 1421 LVM_GETITEMINDEXRECT = (LVM_FIRST + 209), 1422 LVM_SETITEMINDEXSTATE = (LVM_FIRST + 210), 1423 LVM_GETNEXTITEMINDEX = (LVM_FIRST + 211), 1424 } 1425 } 1426 1427 enum { 1428 LVIF_TEXT = 1, 1429 LVIF_IMAGE = 2, 1430 LVIF_PARAM = 4, 1431 LVIF_STATE = 8 1432 } 1433 1434 static if (_WIN32_IE >= 0x300) { 1435 enum { 1436 LVIF_INDENT = 16, 1437 LVIF_NORECOMPUTE = 2048 1438 } 1439 } 1440 1441 static if (_WIN32_WINNT >= 0x501) { 1442 enum { 1443 LVIF_GROUPID = 128, 1444 LVIF_COLUMNS = 256 1445 } 1446 } 1447 1448 enum { 1449 LVIS_FOCUSED = 1, 1450 LVIS_SELECTED = 2, 1451 LVIS_CUT = 4, 1452 LVIS_DROPHILITED = 8, 1453 LVIS_OVERLAYMASK = 0xF00, 1454 LVIS_STATEIMAGEMASK = 0xF000 1455 } 1456 1457 enum LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR) -1; 1458 enum LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR) -1; 1459 1460 enum I_IMAGECALLBACK = -1; 1461 1462 static if (_WIN32_IE >= 0x400) { 1463 enum { 1464 LVM_SETBKIMAGEA = LVM_FIRST + 68, 1465 LVM_SETBKIMAGEW = LVM_FIRST + 138, 1466 LVM_GETBKIMAGEA = LVM_FIRST + 69, 1467 LVM_GETBKIMAGEW = LVM_FIRST + 139, 1468 LV_MAX_WORKAREAS = 16, 1469 LVM_SETWORKAREAS = LVM_FIRST + 65, 1470 LVM_GETWORKAREAS = LVM_FIRST + 70, 1471 LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73, 1472 LVM_GETSELECTIONMARK = LVM_FIRST + 66, 1473 LVM_SETSELECTIONMARK = LVM_FIRST + 67, 1474 LVM_SETHOVERTIME = LVM_FIRST + 71, 1475 LVM_GETHOVERTIME = LVM_FIRST + 72, 1476 LVM_SETTOOLTIPS = LVM_FIRST + 74, 1477 LVM_GETTOOLTIPS = LVM_FIRST + 78, 1478 LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 1479 LVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 1480 } 1481 } 1482 1483 enum { 1484 LVNI_ALL, 1485 LVNI_FOCUSED = 1, 1486 LVNI_SELECTED = 2, 1487 LVNI_CUT = 4, 1488 LVNI_DROPHILITED = 8, 1489 LVNI_ABOVE = 256, 1490 LVNI_BELOW = 512, 1491 LVNI_TOLEFT = 1024, 1492 LVNI_TORIGHT = 2048 1493 } 1494 1495 enum { 1496 LVM_GETITEMA = LVM_FIRST + 5, 1497 LVM_SETITEMA, 1498 LVM_INSERTITEMA, 1499 LVM_DELETEITEM, 1500 LVM_DELETEALLITEMS, 1501 LVM_GETCALLBACKMASK, 1502 LVM_SETCALLBACKMASK, 1503 LVM_GETNEXTITEM, 1504 LVM_FINDITEMA, 1505 LVM_GETITEMRECT, 1506 LVM_SETITEMPOSITION, 1507 LVM_GETITEMPOSITION, 1508 LVM_GETSTRINGWIDTHA, 1509 LVM_HITTEST, 1510 LVM_ENSUREVISIBLE, 1511 LVM_SCROLL, 1512 LVM_REDRAWITEMS, 1513 LVM_ARRANGE, 1514 LVM_EDITLABELA, 1515 LVM_GETEDITCONTROL, 1516 LVM_GETCOLUMNA, 1517 LVM_SETCOLUMNA, 1518 LVM_INSERTCOLUMNA, 1519 LVM_DELETECOLUMN, 1520 LVM_GETCOLUMNWIDTH, 1521 LVM_SETCOLUMNWIDTH, // = LVM_FIRST + 30, 1522 LVM_CREATEDRAGIMAGE = LVM_FIRST + 33, 1523 LVM_GETVIEWRECT, 1524 LVM_GETTEXTCOLOR, 1525 LVM_SETTEXTCOLOR, 1526 LVM_GETTEXTBKCOLOR, 1527 LVM_SETTEXTBKCOLOR, 1528 LVM_GETTOPINDEX, 1529 LVM_GETCOUNTPERPAGE, 1530 LVM_GETORIGIN, 1531 LVM_UPDATE, 1532 LVM_SETITEMSTATE, 1533 LVM_GETITEMSTATE, 1534 LVM_GETITEMTEXTA, 1535 LVM_SETITEMTEXTA, 1536 LVM_SETITEMCOUNT, 1537 LVM_SORTITEMS, 1538 LVM_SETITEMPOSITION32, 1539 LVM_GETSELECTEDCOUNT, 1540 LVM_GETITEMSPACING, 1541 LVM_GETISEARCHSTRINGA, // = LVM_FIRST + 52, 1542 LVM_GETITEMW = LVM_FIRST + 75, 1543 LVM_SETITEMW = LVM_FIRST + 76, 1544 LVM_INSERTITEMW = LVM_FIRST + 77, 1545 LVM_FINDITEMW = LVM_FIRST + 83, 1546 LVM_GETSTRINGWIDTHW = LVM_FIRST + 87, 1547 LVM_GETCOLUMNW = LVM_FIRST + 95, 1548 LVM_SETCOLUMNW = LVM_FIRST + 96, 1549 LVM_INSERTCOLUMNW = LVM_FIRST + 97, 1550 LVM_GETITEMTEXTW = LVM_FIRST + 115, 1551 LVM_SETITEMTEXTW, 1552 LVM_GETISEARCHSTRINGW, 1553 LVM_EDITLABELW // = LVM_FIRST + 118, 1554 } 1555 1556 static if (_WIN32_IE >= 0x300) { 1557 enum { 1558 LVM_GETHEADER = LVM_FIRST + 31, 1559 LVM_SETICONSPACING = LVM_FIRST + 53, 1560 LVM_SETEXTENDEDLISTVIEWSTYLE, 1561 LVM_GETEXTENDEDLISTVIEWSTYLE, 1562 LVM_GETSUBITEMRECT, 1563 LVM_SUBITEMHITTEST, 1564 LVM_SETCOLUMNORDERARRAY, 1565 LVM_GETCOLUMNORDERARRAY, 1566 LVM_SETHOTITEM, 1567 LVM_GETHOTITEM, 1568 LVM_SETHOTCURSOR, 1569 LVM_GETHOTCURSOR, 1570 LVM_APPROXIMATEVIEWRECT // = LVM_FIRST + 64, 1571 } 1572 } 1573 1574 enum { 1575 LVFI_PARAM = 1, 1576 LVFI_STRING = 2, 1577 LVFI_PARTIAL = 8, 1578 LVFI_WRAP = 32, 1579 LVFI_NEARESTXY = 64 1580 } 1581 1582 enum { 1583 LVIF_DI_SETITEM = 0x1000 1584 } 1585 1586 enum { 1587 LVIR_BOUNDS, 1588 LVIR_ICON, 1589 LVIR_LABEL, 1590 LVIR_SELECTBOUNDS // = 3 1591 } 1592 1593 enum { 1594 LVHT_NOWHERE = 1, 1595 LVHT_ONITEMICON = 2, 1596 LVHT_ONITEMLABEL = 4, 1597 LVHT_ONITEMSTATEICON = 8, 1598 LVHT_ONITEM = LVHT_ONITEMICON | LVHT_ONITEMLABEL 1599 | LVHT_ONITEMSTATEICON, 1600 LVHT_ABOVE = 8, 1601 LVHT_BELOW = 16, 1602 LVHT_TORIGHT = 32, 1603 LVHT_TOLEFT = 64 1604 } 1605 1606 enum { 1607 LVA_DEFAULT = 0, 1608 LVA_ALIGNLEFT = 1, 1609 LVA_ALIGNTOP = 2, 1610 LVA_SNAPTOGRID = 5 1611 } 1612 1613 enum { 1614 LVCF_FMT = 1, 1615 LVCF_WIDTH = 2, 1616 LVCF_TEXT = 4, 1617 LVCF_SUBITEM = 8 1618 } 1619 1620 static if (_WIN32_IE >= 0x300) { 1621 enum { 1622 LVCF_IMAGE = 16, 1623 LVCF_ORDER = 32 1624 } 1625 } 1626 1627 enum { 1628 LVCFMT_LEFT, 1629 LVCFMT_RIGHT, 1630 LVCFMT_CENTER, 1631 LVCFMT_JUSTIFYMASK // = 3 1632 } 1633 1634 static if (_WIN32_IE >= 0x300) { 1635 enum { 1636 LVCFMT_IMAGE = 2048, 1637 LVCFMT_BITMAP_ON_RIGHT = 4096, 1638 LVCFMT_COL_HAS_IMAGES = 32768 1639 } 1640 } 1641 1642 enum { 1643 LVSCW_AUTOSIZE = -1, 1644 LVSCW_AUTOSIZE_USEHEADER = -2 1645 } 1646 1647 enum { 1648 LVN_ITEMCHANGING = LVN_FIRST, 1649 LVN_ITEMCHANGED = LVN_FIRST - 1, 1650 LVN_INSERTITEM = LVN_FIRST - 2, 1651 LVN_DELETEITEM = LVN_FIRST - 3, 1652 LVN_DELETEALLITEMS = LVN_FIRST - 4, 1653 LVN_BEGINLABELEDITA = LVN_FIRST - 5, 1654 LVN_ENDLABELEDITA = LVN_FIRST - 6, 1655 LVN_COLUMNCLICK = LVN_FIRST - 8, 1656 LVN_BEGINDRAG = LVN_FIRST - 9, 1657 LVN_BEGINRDRAG = LVN_FIRST - 11, 1658 LVN_GETDISPINFOA = LVN_FIRST - 50, 1659 LVN_SETDISPINFOA = LVN_FIRST - 51, 1660 LVN_KEYDOWN = LVN_FIRST - 55, 1661 LVN_BEGINLABELEDITW = LVN_FIRST - 75, 1662 LVN_ENDLABELEDITW = LVN_FIRST - 76, 1663 LVN_GETDISPINFOW = LVN_FIRST - 77, 1664 LVN_SETDISPINFOW = LVN_FIRST - 78 1665 } 1666 1667 static if (_WIN32_IE >= 0x400) { 1668 enum { 1669 LVN_MARQUEEBEGIN = LVN_FIRST - 56, 1670 LVN_GETINFOTIPA = LVN_FIRST - 57, 1671 LVN_GETINFOTIPW = LVN_FIRST - 58, 1672 LVKF_ALT = 1, 1673 LVKF_CONTROL = 2, 1674 LVKF_SHIFT = 4, 1675 LVGIT_UNFOLDED = 1 1676 } 1677 } 1678 1679 enum { 1680 TVS_HASBUTTONS = 1, 1681 TVS_HASLINES = 2, 1682 TVS_LINESATROOT = 4, 1683 TVS_EDITLABELS = 8, 1684 TVS_DISABLEDRAGDROP = 16, 1685 TVS_SHOWSELALWAYS = 32 1686 } 1687 1688 static if (_WIN32_IE >= 0x300) { 1689 enum { 1690 TVS_RTLREADING = 64, 1691 TVS_NOTOOLTIPS = 128, 1692 TVS_CHECKBOXES = 256, 1693 TVS_TRACKSELECT = 512 1694 } 1695 } 1696 1697 static if (_WIN32_IE >= 0x400) { 1698 enum { 1699 TVS_SINGLEEXPAND = 1024, 1700 TVS_INFOTIP = 2048, 1701 TVS_FULLROWSELECT = 4096, 1702 TVS_NOSCROLL = 8192, 1703 TVS_NONEVENHEIGHT = 16384 1704 } 1705 } 1706 1707 static if (_WIN32_IE >= 0x500) { 1708 enum { 1709 TVS_NOHSCROLL = 0x8000 1710 } 1711 } 1712 1713 enum { 1714 TVIF_TEXT = 1, 1715 TVIF_IMAGE = 2, 1716 TVIF_PARAM = 4, 1717 TVIF_STATE = 8, 1718 TVIF_HANDLE = 16, 1719 TVIF_SELECTEDIMAGE = 32, 1720 TVIF_CHILDREN = 64 1721 } 1722 1723 static if (_WIN32_IE >= 0x400) { 1724 enum { 1725 TVIF_INTEGRAL = 0x0080 1726 } 1727 } 1728 1729 enum { 1730 TVIS_FOCUSED = 1, 1731 TVIS_SELECTED = 2, 1732 TVIS_CUT = 4, 1733 TVIS_DROPHILITED = 8, 1734 TVIS_BOLD = 16, 1735 TVIS_EXPANDED = 32, 1736 TVIS_EXPANDEDONCE = 64, 1737 TVIS_OVERLAYMASK = 0xF00, 1738 TVIS_STATEIMAGEMASK = 0xF000, 1739 TVIS_USERMASK = 0xF000 1740 } 1741 1742 enum { 1743 I_CHILDRENCALLBACK = -1 1744 } 1745 1746 mixin DECLARE_HANDLE!("HTREEITEM"); 1747 mixin DECLARE_HANDLE!("HIMAGELIST"); 1748 1749 version (Win64) 1750 { 1751 enum HTREEITEM 1752 TVI_ROOT = cast(HTREEITEM) cast(ULONG_PTR)-0x10000, 1753 TVI_FIRST = cast(HTREEITEM) cast(ULONG_PTR)-0xffff, 1754 TVI_LAST = cast(HTREEITEM) cast(ULONG_PTR)-0xfffe, 1755 TVI_SORT = cast(HTREEITEM) cast(ULONG_PTR)-0xfffd; 1756 } else { 1757 enum HTREEITEM 1758 TVI_ROOT = cast(HTREEITEM) 0xFFFF0000, 1759 TVI_FIRST = cast(HTREEITEM) 0xFFFF0001, 1760 TVI_LAST = cast(HTREEITEM) 0xFFFF0002, 1761 TVI_SORT = cast(HTREEITEM) 0xFFFF0003; 1762 } 1763 1764 enum { 1765 TVSIL_NORMAL = 0, 1766 TVSIL_STATE = 2 1767 } 1768 1769 enum { 1770 TVM_INSERTITEMA = TV_FIRST, 1771 TVM_DELETEITEM = TV_FIRST + 1, 1772 TVM_EXPAND = TV_FIRST + 2, 1773 TVM_GETITEMRECT = TV_FIRST + 4, 1774 TVM_GETCOUNT, 1775 TVM_GETINDENT, 1776 TVM_SETINDENT, 1777 TVM_GETIMAGELIST, 1778 TVM_SETIMAGELIST, 1779 TVM_GETNEXTITEM, 1780 TVM_SELECTITEM, 1781 TVM_GETITEMA, 1782 TVM_SETITEMA, 1783 TVM_EDITLABELA, 1784 TVM_GETEDITCONTROL, 1785 TVM_GETVISIBLECOUNT, 1786 TVM_HITTEST, 1787 TVM_CREATEDRAGIMAGE, 1788 TVM_SORTCHILDREN, 1789 TVM_ENSUREVISIBLE, 1790 TVM_SORTCHILDRENCB, 1791 TVM_ENDEDITLABELNOW, 1792 TVM_GETISEARCHSTRINGA, // = TV_FIRST + 23 1793 TVM_INSERTITEMW = TV_FIRST + 50, 1794 TVM_GETITEMW = TV_FIRST + 62, 1795 TVM_SETITEMW = TV_FIRST + 63, 1796 TVM_GETISEARCHSTRINGW = TV_FIRST + 64, 1797 TVM_EDITLABELW = TV_FIRST + 65 1798 } 1799 1800 static if (_WIN32_IE >= 0x300) { 1801 enum { 1802 TVM_GETTOOLTIPS = TV_FIRST + 25, 1803 TVM_SETTOOLTIPS = TV_FIRST + 24 1804 } 1805 } 1806 1807 static if (_WIN32_IE >= 0x400) { 1808 enum { 1809 TVM_SETINSERTMARK = TV_FIRST + 26, 1810 TVM_SETITEMHEIGHT, 1811 TVM_GETITEMHEIGHT, 1812 TVM_SETBKCOLOR, 1813 TVM_SETTEXTCOLOR, 1814 TVM_GETBKCOLOR, 1815 TVM_GETTEXTCOLOR, 1816 TVM_SETSCROLLTIME, 1817 TVM_GETSCROLLTIME, // = TV_FIRST + 34 1818 TVM_SETINSERTMARKCOLOR = TV_FIRST + 37, 1819 TVM_GETINSERTMARKCOLOR = TV_FIRST + 38, 1820 TVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 1821 TVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 1822 } 1823 } 1824 1825 static if (_WIN32_IE >= 0x500) { 1826 enum { 1827 TVM_GETITEMSTATE = TV_FIRST + 39, 1828 TVM_SETLINECOLOR = TV_FIRST + 40, 1829 TVM_GETLINECOLOR = TV_FIRST + 41 1830 } 1831 } 1832 1833 static if (_WIN32_IE >= 0x501) { 1834 enum { 1835 TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42, 1836 TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43, 1837 TVM_SETEXTENDEDSTYLE = TV_FIRST + 44, 1838 TVM_GETEXTENDEDSTYLE = TV_FIRST + 45, 1839 TVM_SETAUTOSCROLLINFO = TV_FIRST + 59 1840 } 1841 } 1842 1843 static if (_WIN32_IE >= 0x600) { 1844 enum { 1845 TVM_GETSELECTEDCOUNT = TV_FIRST + 70, 1846 TVM_SHOWINFOTIP = TV_FIRST + 71, 1847 TVM_GETITEMPARTRECT = TV_FIRST + 72, 1848 } 1849 } 1850 1851 enum { 1852 TVE_COLLAPSE = 1, 1853 TVE_EXPAND = 2, 1854 TVE_TOGGLE = 3, 1855 TVE_COLLAPSERESET = 0x8000 1856 } 1857 1858 static if (_WIN32_IE >= 0x300) { 1859 enum { 1860 TVE_EXPANDPARTIAL = 0x4000 1861 } 1862 } 1863 1864 enum { 1865 TVC_UNKNOWN, 1866 TVC_BYMOUSE, 1867 TVC_BYKEYBOARD // = 2 1868 } 1869 1870 enum { 1871 TVGN_ROOT, 1872 TVGN_NEXT, 1873 TVGN_PREVIOUS, 1874 TVGN_PARENT, 1875 TVGN_CHILD, 1876 TVGN_FIRSTVISIBLE, 1877 TVGN_NEXTVISIBLE, 1878 TVGN_PREVIOUSVISIBLE, 1879 TVGN_DROPHILITE, 1880 TVGN_CARET // = 9 1881 } 1882 1883 static if (_WIN32_IE >= 0x400) { 1884 enum { 1885 TVGN_LASTVISIBLE = 10 1886 } 1887 } 1888 1889 static if (_WIN32_IE >= 0x600) { 1890 enum { 1891 TVGN_NEXTSELECTED = 11 1892 } 1893 } 1894 1895 enum { 1896 TVN_SELCHANGINGA = TVN_FIRST - 1, 1897 TVN_SELCHANGEDA = TVN_FIRST - 2, 1898 TVN_GETDISPINFOA = TVN_FIRST - 3, 1899 TVN_SETDISPINFOA = TVN_FIRST - 4, 1900 TVN_ITEMEXPANDINGA = TVN_FIRST - 5, 1901 TVN_ITEMEXPANDEDA = TVN_FIRST - 6, 1902 TVN_BEGINDRAGA = TVN_FIRST - 7, 1903 TVN_BEGINRDRAGA = TVN_FIRST - 8, 1904 TVN_DELETEITEMA = TVN_FIRST - 9, 1905 TVN_BEGINLABELEDITA = TVN_FIRST - 10, 1906 TVN_ENDLABELEDITA = TVN_FIRST - 11, 1907 TVN_KEYDOWN = TVN_FIRST - 12, 1908 TVN_SELCHANGINGW = TVN_FIRST - 50, 1909 TVN_SELCHANGEDW = TVN_FIRST - 51, 1910 TVN_GETDISPINFOW = TVN_FIRST - 52, 1911 TVN_SETDISPINFOW = TVN_FIRST - 53, 1912 TVN_ITEMEXPANDINGW = TVN_FIRST - 54, 1913 TVN_ITEMEXPANDEDW = TVN_FIRST - 55, 1914 TVN_BEGINDRAGW = TVN_FIRST - 56, 1915 TVN_BEGINRDRAGW = TVN_FIRST - 57, 1916 TVN_DELETEITEMW = TVN_FIRST - 58, 1917 TVN_BEGINLABELEDITW = TVN_FIRST - 59, 1918 TVN_ENDLABELEDITW = TVN_FIRST - 60 1919 } 1920 1921 static if (_WIN32_IE >= 0x400) { 1922 enum { 1923 TVNRET_DEFAULT = 0, 1924 TVNRET_SKIPOLD = 1, 1925 TVNRET_SKIPNEW = 2, 1926 TVN_GETINFOTIPA = TVN_FIRST - 13, 1927 TVN_GETINFOTIPW = TVN_FIRST - 14, 1928 TVN_SINGLEEXPAND = TVN_FIRST - 15 1929 } 1930 } 1931 1932 enum { 1933 TVIF_DI_SETITEM = 0x1000 1934 } 1935 1936 enum { 1937 TVHT_NOWHERE = 1, 1938 TVHT_ONITEMICON = 2, 1939 TVHT_ONITEMLABEL = 4, 1940 TVHT_ONITEMINDENT = 8, 1941 TVHT_ONITEMBUTTON = 16, 1942 TVHT_ONITEMRIGHT = 32, 1943 TVHT_ONITEMSTATEICON = 64, 1944 TVHT_ABOVE = 256, 1945 TVHT_BELOW = 512, 1946 TVHT_TORIGHT = 1024, 1947 TVHT_TOLEFT = 2048, 1948 TCHT_NOWHERE = 1, 1949 TCHT_ONITEMICON = 2, 1950 TCHT_ONITEMLABEL = 4, 1951 TVHT_ONITEM = TVHT_ONITEMICON | TVHT_ONITEMLABEL 1952 | TVHT_ONITEMSTATEICON, 1953 TCHT_ONITEM = TCHT_ONITEMICON | TCHT_ONITEMLABEL 1954 } 1955 1956 enum { 1957 TCS_TABS = 0, 1958 TCS_RIGHTJUSTIFY = 0, 1959 TCS_SINGLELINE = 0, 1960 TCS_FORCEICONLEFT = 16, 1961 TCS_FORCELABELLEFT = 32, 1962 TCS_BUTTONS = 256, 1963 TCS_MULTILINE = 512, 1964 TCS_FIXEDWIDTH = 1024, 1965 TCS_RAGGEDRIGHT = 2048, 1966 TCS_FOCUSONBUTTONDOWN = 0x1000, 1967 TCS_OWNERDRAWFIXED = 0x2000, 1968 TCS_TOOLTIPS = 0x4000, 1969 TCS_FOCUSNEVER = 0x8000 1970 } 1971 1972 static if (_WIN32_IE >= 0x300) { 1973 enum { 1974 TCS_BOTTOM = 2, 1975 TCS_RIGHT = 2, 1976 TCS_VERTICAL = 128, 1977 TCS_SCROLLOPPOSITE = 0x0001, 1978 TCS_HOTTRACK = 0x0040, 1979 TCS_MULTISELECT = 0x0004 1980 } 1981 } 1982 1983 static if (_WIN32_IE >= 0x400) { 1984 enum { 1985 TCS_FLATBUTTONS = 0x0008, 1986 TCS_EX_FLATSEPARATORS = 0x00000001, 1987 TCS_EX_REGISTERDROP = 0x00000002 1988 } 1989 } 1990 1991 enum { 1992 TCIF_TEXT = 1, 1993 TCIF_IMAGE = 2, 1994 TCIF_RTLREADING = 4, 1995 TCIF_PARAM = 8 1996 } 1997 1998 static if (_WIN32_IE >= 0x400) { 1999 enum { 2000 TCIF_STATE = 16 2001 } 2002 } 2003 2004 enum { 2005 TCIS_BUTTONPRESSED = 1 2006 } 2007 2008 static if (_WIN32_IE >= 0x400) { 2009 enum { 2010 TCIS_HIGHLIGHTED = 2 2011 } 2012 } 2013 2014 enum { 2015 TCM_FIRST = 0x1300, 2016 TCM_GETIMAGELIST = TCM_FIRST + 2, 2017 TCM_SETIMAGELIST, 2018 TCM_GETITEMCOUNT, 2019 TCM_GETITEMA, 2020 TCM_SETITEMA, 2021 TCM_INSERTITEMA, 2022 TCM_DELETEITEM, 2023 TCM_DELETEALLITEMS, 2024 TCM_GETITEMRECT, 2025 TCM_GETCURSEL, 2026 TCM_SETCURSEL, 2027 TCM_HITTEST, 2028 TCM_SETITEMEXTRA, // = TCM_FIRST + 14 2029 TCM_ADJUSTRECT = TCM_FIRST + 40, 2030 TCM_SETITEMSIZE, 2031 TCM_REMOVEIMAGE, 2032 TCM_SETPADDING, 2033 TCM_GETROWCOUNT, 2034 TCM_GETTOOLTIPS, 2035 TCM_SETTOOLTIPS, 2036 TCM_GETCURFOCUS, 2037 TCM_SETCURFOCUS, 2038 TCM_SETMINTABWIDTH, 2039 TCM_DESELECTALL, // = TCM_FIRST + 50 2040 TCM_GETITEMW = TCM_FIRST + 60, 2041 TCM_SETITEMW = TCM_FIRST + 61, 2042 TCM_INSERTITEMW = TCM_FIRST + 62 2043 } 2044 2045 static if (_WIN32_IE >=0x0400) { 2046 enum { 2047 TCM_HIGHLIGHTITEM = TCM_FIRST + 51, 2048 TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52, 2049 TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53, 2050 TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 2051 TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 2052 } 2053 } 2054 2055 enum { 2056 TCN_KEYDOWN = TCN_FIRST, 2057 TCN_SELCHANGE = TCN_FIRST - 1, 2058 TCN_SELCHANGING = TCN_FIRST - 2 2059 } 2060 2061 enum { 2062 NM_OUTOFMEMORY = NM_FIRST - 1, 2063 NM_CLICK = NM_FIRST - 2, 2064 NM_DBLCLK = NM_FIRST - 3, 2065 NM_RETURN = NM_FIRST - 4, 2066 NM_RCLICK = NM_FIRST - 5, 2067 NM_RDBLCLK = NM_FIRST - 6, 2068 NM_SETFOCUS = NM_FIRST - 7, 2069 NM_KILLFOCUS = NM_FIRST - 8, 2070 NM_CUSTOMDRAW = NM_FIRST - 12, 2071 NM_HOVER = NM_FIRST - 13, 2072 NM_NCHITTEST = NM_FIRST - 14, 2073 NM_KEYDOWN = NM_FIRST - 15, 2074 NM_RELEASEDCAPTURE = NM_FIRST - 16, 2075 NM_SETCURSOR = NM_FIRST - 17, 2076 NM_CHAR = NM_FIRST - 18, 2077 NM_TOOLTIPSCREATED = NM_FIRST - 19 2078 } 2079 2080 enum { 2081 SBARS_SIZEGRIP = 256 2082 } 2083 2084 /*enum { 2085 CCM_FIRST = 0x2000, 2086 CCM_LAST = CCM_FIRST + 0x200, 2087 CCM_SETBKCOLOR = 8193, 2088 CCM_SETCOLORSCHEME = 8194, 2089 CCM_GETCOLORSCHEME = 8195, 2090 CCM_GETDROPTARGET = 8196, 2091 CCM_SETUNICODEFORMAT = 8197, 2092 CCM_GETUNICODEFORMAT = 8198, 2093 CCM_SETVERSION = 0x2007, 2094 CCM_GETVERSION = 0x2008, 2095 CCM_SETNOTIFYWINDOW = 0x2009 2096 }*/ 2097 2098 static if (_WIN32_WINNT >= 0x501) { 2099 enum { 2100 CCM_SETWINDOWTHEME = 0x200b, 2101 CCM_DPISCALE = 0x200c, 2102 2103 RB_GETBANDMARGINS = WM_USER + 40, 2104 RB_SETWINDOWTHEME = CCM_SETWINDOWTHEME, 2105 TB_SETWINDOWTHEME = CCM_SETWINDOWTHEME, 2106 TTM_SETWINDOWTHEME = CCM_SETWINDOWTHEME, 2107 } 2108 } 2109 2110 enum { 2111 ICC_LISTVIEW_CLASSES = 1, 2112 ICC_TREEVIEW_CLASSES = 2, 2113 ICC_BAR_CLASSES = 4, 2114 ICC_TAB_CLASSES = 8, 2115 ICC_UPDOWN_CLASS = 16, 2116 ICC_PROGRESS_CLASS = 32, 2117 ICC_HOTKEY_CLASS = 64, 2118 ICC_ANIMATE_CLASS = 128, 2119 ICC_WIN95_CLASSES = 255, 2120 ICC_DATE_CLASSES = 256, 2121 ICC_USEREX_CLASSES = 512, 2122 ICC_COOL_CLASSES = 1024 2123 } 2124 2125 static if (_WIN32_IE >= 0x400) { 2126 enum { 2127 INFOTIPSIZE = 1024, 2128 ICC_INTERNET_CLASSES = 2048, 2129 ICC_PAGESCROLLER_CLASS = 4096, 2130 ICC_NATIVEFNTCTL_CLASS = 8192 2131 } 2132 } 2133 2134 static if (_WIN32_WINNT >= 0x501) { 2135 enum { 2136 ICC_STANDARD_CLASSES = 0x00004000, 2137 ICC_LINK_CLASS = 0x00008000 2138 } 2139 } 2140 2141 enum { 2142 GDTR_MIN = 1, 2143 GDTR_MAX = 2 2144 } 2145 2146 enum { 2147 GMR_VISIBLE, 2148 GMR_DAYSTATE 2149 } 2150 2151 enum { 2152 GDT_ERROR = -1, 2153 GDT_VALID = 0, 2154 GDT_NONE = 1 2155 } 2156 2157 enum { 2158 DTS_SHORTDATEFORMAT = 0, 2159 DTS_UPDOWN = 1, 2160 DTS_SHOWNONE = 2, 2161 DTS_LONGDATEFORMAT = 4, 2162 DTS_TIMEFORMAT = 9, 2163 DTS_APPCANPARSE = 16, 2164 DTS_RIGHTALIGN = 32 2165 } 2166 2167 static if (_WIN32_IE >= 0x500) { 2168 enum { 2169 DTS_SHORTDATECENTURYFORMAT = 0x000C 2170 } 2171 } 2172 2173 enum { 2174 MCS_DAYSTATE = 1, 2175 MCS_MULTISELECT = 2, 2176 MCS_WEEKNUMBERS = 4 2177 } 2178 2179 static if (_WIN32_IE >= 0x400) { 2180 enum { 2181 MCS_NOTODAYCIRCLE = 0x0008, 2182 MCS_NOTODAY = 0x0010 2183 } 2184 } else { 2185 enum { 2186 MCS_NOTODAY = 0x0008 2187 } 2188 } 2189 2190 enum { 2191 DTM_FIRST = 0x1000, 2192 DTM_GETSYSTEMTIME = 0x1001, 2193 DTM_SETSYSTEMTIME = 0x1002, 2194 DTM_GETRANGE = 0x1003, 2195 DTM_SETRANGE = 0x1004, 2196 DTM_SETFORMATA = 0x1005, 2197 DTM_SETMCCOLOR = 0x1006, 2198 DTM_GETMCCOLOR = 0x1007, 2199 DTM_GETMONTHCAL = 0x1008, 2200 DTM_SETMCFONT = 0x1009, 2201 DTM_GETMCFONT = 0x100a, 2202 DTM_SETFORMATW = 0x1050 2203 } 2204 2205 static if (_WIN32_WINNT >= 0x600) { 2206 enum { 2207 DTM_SETMCSTYLE = DTM_FIRST + 11, 2208 DTM_GETMCSTYLE, 2209 DTM_CLOSEMONTHCAL, 2210 DTM_GETDATETIMEPICKERINFO, 2211 DTM_GETIDEALSIZE, 2212 } 2213 } 2214 2215 enum { 2216 DTN_USERSTRINGA = -758U, 2217 DTN_USERSTRINGW = -745U, 2218 DTN_WMKEYDOWNA = -757U, 2219 DTN_WMKEYDOWNW = -744U, 2220 DTN_FORMATA = -756U, 2221 DTN_FORMATW = -743U, 2222 DTN_FORMATQUERYA = -755U, 2223 DTN_FORMATQUERYW = -742U, 2224 DTN_DROPDOWN = -754U, 2225 DTN_CLOSEUP = -753U, 2226 DTN_DATETIMECHANGE = -759U, 2227 } 2228 2229 enum { 2230 MCM_FIRST = 0x1000, 2231 MCM_GETCURSEL = 0x1001, 2232 MCM_SETCURSEL = 0x1002, 2233 MCM_GETMAXSELCOUNT = 0x1003, 2234 MCM_SETMAXSELCOUNT = 0x1004, 2235 MCM_GETSELRANGE = 0x1005, 2236 MCM_SETSELRANGE = 0x1006, 2237 MCM_GETMONTHRANGE = 0x1007, 2238 MCM_SETDAYSTATE = 0x1008, 2239 MCM_GETMINREQRECT = 0x1009, 2240 MCM_SETCOLOR = 0x100a, 2241 MCM_GETCOLOR = 0x100b, 2242 MCM_SETTODAY = 0x100c, 2243 MCM_GETTODAY = 0x100d, 2244 MCM_HITTEST = 0x100e, 2245 MCM_SETFIRSTDAYOFWEEK = 0x100f, 2246 MCM_GETFIRSTDAYOFWEEK = 0x1010, 2247 MCM_GETRANGE = 0x1011, 2248 MCM_SETRANGE = 0x1012, 2249 MCM_GETMONTHDELTA = 0x1013, 2250 MCM_SETMONTHDELTA = 0x1014, 2251 MCM_GETMAXTODAYWIDTH = 0x1015, 2252 MCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 2253 MCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 2254 } 2255 2256 static if (_WIN32_WINNT >= 0x600) { 2257 enum { 2258 MCM_GETCURRENTVIEW = MCM_FIRST + 22, 2259 MCM_GETCALENDARCOUNT, 2260 MCM_GETCALENDARGRIDINFO, 2261 MCM_GETCALID = MCM_FIRST + 27, 2262 MCM_SETCALID, 2263 MCM_SIZERECTTOMIN, 2264 MCM_SETCALENDARBORDER, 2265 MCM_GETCALENDARBORDER, 2266 MCM_SETCURRENTVIEW, 2267 } 2268 } 2269 2270 enum { 2271 MCN_SELCHANGE = -749U, 2272 MCN_GETDAYSTATE = -747U, 2273 MCN_SELECT = -746U 2274 } 2275 2276 enum { 2277 ODT_HEADER = 100, 2278 ODT_TAB, 2279 ODT_LISTVIEW // = 102 2280 } 2281 2282 enum { 2283 SB_SETBKCOLOR = 0x2001 2284 } 2285 2286 static if (_WIN32_IE >= 0x300) { 2287 enum { 2288 SB_ISSIMPLE = 1038 2289 } 2290 2291 enum { 2292 MCSC_BACKGROUND, 2293 MCSC_TEXT, 2294 MCSC_TITLEBK, 2295 MCSC_TITLETEXT, 2296 MCSC_MONTHBK, 2297 MCSC_TRAILINGTEXT // = 5 2298 } 2299 } 2300 2301 static if (_WIN32_IE >= 0x400) { 2302 enum { 2303 MCHT_TITLE = 0x10000, 2304 MCHT_CALENDAR = 0x20000, 2305 MCHT_TODAYLINK = 0x30000, 2306 MCHT_NEXT = 0x1000000, 2307 MCHT_PREV = 0x2000000, 2308 MCHT_NOWHERE = 0x00, 2309 MCHT_TITLEBK = MCHT_TITLE, 2310 MCHT_TITLEMONTH = MCHT_TITLE | 0x0001, 2311 MCHT_TITLEYEAR = MCHT_TITLE | 0x0002, 2312 MCHT_TITLEBTNNEXT = MCHT_TITLE | MCHT_NEXT | 0x0003, 2313 MCHT_TITLEBTNPREV = MCHT_TITLE | MCHT_PREV | 0x0003, 2314 MCHT_CALENDARBK = MCHT_CALENDAR, 2315 MCHT_CALENDARDATE = MCHT_CALENDAR | 0x0001, 2316 MCHT_CALENDARDATENEXT = MCHT_CALENDARDATE | MCHT_NEXT, 2317 MCHT_CALENDARDATEPREV = MCHT_CALENDARDATE | MCHT_PREV, 2318 MCHT_CALENDARDAY = MCHT_CALENDAR | 0x0002, 2319 MCHT_CALENDARWEEKNUM = MCHT_CALENDAR | 0x0003 2320 } 2321 } 2322 2323 enum { 2324 RBS_TOOLTIPS = 256, 2325 RBS_VARHEIGHT = 512, 2326 RBS_BANDBORDERS = 1024, 2327 RBS_FIXEDORDER = 2048 2328 } 2329 2330 enum { 2331 RBIM_IMAGELIST = 1 2332 } 2333 2334 enum { 2335 RB_SETCOLORSCHEME = CCM_SETCOLORSCHEME, 2336 RB_GETCOLORSCHEME = CCM_GETCOLORSCHEME 2337 } 2338 2339 enum { 2340 RBBS_BREAK = 0x0001, 2341 RBBS_FIXEDSIZE = 0x0002, 2342 RBBS_CHILDEDGE = 0x0004, 2343 RBBS_HIDDEN = 0x0008, 2344 RBBS_NOVERT = 0x0010, 2345 RBBS_FIXEDBMP = 0x0020, 2346 RBBS_VARIABLEHEIGHT = 0x0040, 2347 RBBS_GRIPPERALWAYS = 0x0080, 2348 RBBS_NOGRIPPER = 0x0100 2349 } 2350 2351 static if (_WIN32_IE >= 0x500) { 2352 enum { 2353 RBBS_USECHEVRON = 0x0200 2354 } 2355 } 2356 2357 static if (_WIN32_IE >= 0x501) { 2358 enum { 2359 RBBS_HIDETITLE = 0x0400, 2360 RBBS_TOPALIGN = 0x0800 2361 } 2362 } 2363 2364 enum { 2365 RBBIM_STYLE = 1, 2366 RBBIM_COLORS = 2, 2367 RBBIM_TEXT = 4, 2368 RBBIM_IMAGE = 8, 2369 RBBIM_CHILD = 16, 2370 RBBIM_CHILDSIZE = 32, 2371 RBBIM_SIZE = 64, 2372 RBBIM_BACKGROUND = 128, 2373 RBBIM_ID = 256 2374 } 2375 2376 enum { 2377 RB_INSERTBANDA = WM_USER + 1, 2378 RB_DELETEBAND, 2379 RB_GETBARINFO, 2380 RB_SETBARINFO, // = WM_USER + 4 2381 RB_SETBANDINFOA = WM_USER + 6, 2382 RB_SETPARENT = WM_USER + 7, 2383 RB_INSERTBANDW = WM_USER + 10, 2384 RB_SETBANDINFOW, 2385 RB_GETBANDCOUNT, 2386 RB_GETROWCOUNT, 2387 RB_GETROWHEIGHT // = WM_USER + 14, 2388 } 2389 2390 enum { 2391 RBN_HEIGHTCHANGE = RBN_FIRST 2392 } 2393 2394 static if (_WIN32_IE >= 0x300) { 2395 enum { 2396 LVN_ODCACHEHINT = LVN_FIRST - 13, 2397 LVN_ODFINDITEMA = LVN_FIRST - 52, 2398 LVN_ODFINDITEMW = LVN_FIRST - 79, 2399 LVN_ITEMACTIVATE = LVN_FIRST - 14, 2400 LVN_ODSTATECHANGED = LVN_FIRST - 15 2401 } 2402 2403 version (Unicode) { 2404 enum { 2405 LVN_ODFINDITEM = LVN_ODFINDITEMW 2406 } 2407 } else { 2408 enum { 2409 LVN_ODFINDITEM = LVN_ODFINDITEMA 2410 } 2411 } 2412 } 2413 2414 static if (_WIN32_IE >= 0x400) { 2415 enum { 2416 SB_SETICON = 1039, 2417 SB_SETTIPTEXTA, 2418 SB_SETTIPTEXTW, 2419 SB_GETTIPTEXTA, 2420 SB_GETTIPTEXTW, 2421 SB_GETICON, // = 1044 2422 SB_SETUNICODEFORMAT = 0x2005, 2423 SB_GETUNICODEFORMAT = 0x2006 2424 } 2425 2426 enum { 2427 PGF_INVISIBLE = 0, 2428 PGF_NORMAL = 1, 2429 PGF_GRAYED = 2, 2430 PGF_DEPRESSED = 4, 2431 PGF_HOT = 8 2432 } 2433 2434 enum { 2435 PGB_TOPORLEFT, 2436 PGB_BOTTOMORRIGHT 2437 } 2438 2439 enum { 2440 PGF_SCROLLUP = 1, 2441 PGF_SCROLLDOWN = 2, 2442 PGF_SCROLLLEFT = 4, 2443 PGF_SCROLLRIGHT = 8 2444 } 2445 2446 enum { 2447 PGK_SHIFT = 1, 2448 PGK_CONTROL = 2, 2449 PGK_MENU = 4 2450 } 2451 2452 enum { 2453 PGF_CALCWIDTH = 1, 2454 PGF_CALCHEIGHT = 2 2455 } 2456 2457 enum { 2458 PGM_FIRST = 0x1400, 2459 PGM_SETCHILD = PGM_FIRST + 1, 2460 PGM_RECALCSIZE, 2461 PGM_FORWARDMOUSE, 2462 PGM_SETBKCOLOR, 2463 PGM_GETBKCOLOR, 2464 PGM_SETBORDER, 2465 PGM_GETBORDER, 2466 PGM_SETPOS, 2467 PGM_GETPOS, 2468 PGM_SETBUTTONSIZE, 2469 PGM_GETBUTTONSIZE, 2470 PGM_GETBUTTONSTATE, // = PGM_FIRST + 12 2471 PGM_GETDROPTARGET = CCM_GETDROPTARGET 2472 } 2473 2474 enum { 2475 RBS_REGISTERDROP = 4096, 2476 RBS_AUTOSIZE = 8192, 2477 RBS_VERTICALGRIPPER = 16384, 2478 RBS_DBLCLKTOGGLE = 32768 2479 } 2480 2481 enum { 2482 RBBIM_IDEALSIZE = 512, 2483 RBBIM_LPARAM = 1024, 2484 RBBIM_HEADERSIZE = 2048 2485 } 2486 2487 enum { 2488 RB_HITTEST = WM_USER + 8, 2489 RB_GETRECT = WM_USER + 9, 2490 RB_IDTOINDEX = WM_USER + 16, 2491 RB_GETTOOLTIPS, 2492 RB_SETTOOLTIPS, 2493 RB_SETBKCOLOR, 2494 RB_GETBKCOLOR, 2495 RB_SETTEXTCOLOR, 2496 RB_GETTEXTCOLOR, 2497 RB_SIZETORECT, 2498 RB_BEGINDRAG, 2499 RB_ENDDRAG, 2500 RB_DRAGMOVE, 2501 RB_GETBARHEIGHT, 2502 RB_GETBANDINFOW, 2503 RB_GETBANDINFOA, 2504 RB_MINIMIZEBAND, 2505 RB_MAXIMIZEBAND, // = WM_USER + 31 2506 RB_GETDROPTARGET = CCM_GETDROPTARGET, 2507 RB_GETBANDBORDERS = WM_USER + 34, 2508 RB_SHOWBAND = WM_USER + 35, 2509 RB_SETPALETTE = WM_USER + 37, 2510 RB_GETPALETTE = WM_USER + 38, 2511 RB_MOVEBAND = WM_USER + 39, 2512 RB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 2513 RB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 2514 } 2515 2516 enum { 2517 RBN_GETOBJECT = RBN_FIRST - 1, 2518 RBN_LAYOUTCHANGED = RBN_FIRST - 2, 2519 RBN_AUTOSIZE = RBN_FIRST - 3, 2520 RBN_BEGINDRAG = RBN_FIRST - 4, 2521 RBN_ENDDRAG = RBN_FIRST - 5, 2522 RBN_DELETINGBAND = RBN_FIRST - 6, 2523 RBN_DELETEDBAND = RBN_FIRST - 7, 2524 RBN_CHILDSIZE = RBN_FIRST - 8 2525 } 2526 2527 enum { 2528 RBNM_ID = 1, 2529 RBNM_STYLE = 2, 2530 RBNM_LPARAM = 4 2531 } 2532 2533 enum { 2534 RBHT_NOWHERE = 1, 2535 RBHT_CAPTION, 2536 RBHT_CLIENT, 2537 RBHT_GRABBER 2538 } 2539 2540 version (Unicode) { 2541 alias SB_SETTIPTEXTW SB_SETTIPTEXT; 2542 alias SB_GETTIPTEXTW SB_GETTIPTEXT; 2543 alias RB_GETBANDINFOW RB_GETBANDINFO; 2544 } else { 2545 alias SB_SETTIPTEXTA SB_SETTIPTEXT; 2546 alias SB_GETTIPTEXTA SB_GETTIPTEXT; 2547 alias RB_GETBANDINFOA RB_GETBANDINFO; 2548 } 2549 } else { 2550 enum { 2551 RB_GETBANDINFO = WM_USER + 5 2552 } 2553 } 2554 2555 static if (_WIN32_IE >= 0x500) { 2556 enum { 2557 RB_PUSHCHEVRON = WM_USER + 43, 2558 } 2559 } 2560 2561 static if (_WIN32_IE >= 0x600) { 2562 enum { 2563 RB_SETEXTENDEDSTYLE = WM_USER + 41, 2564 RB_GETEXTENDEDSTYLE = WM_USER + 42, 2565 } 2566 } 2567 2568 static if (_WIN32_WINNT >= 0x500) { 2569 enum { 2570 RB_SETBANDWIDTH = WM_USER + 44, 2571 } 2572 } 2573 2574 static if (_WIN32_WINNT >= 0x501) { 2575 enum { 2576 ECM_FIRST = 0x1500, 2577 BCM_FIRST = 0x1600, 2578 2579 BCM_GETIDEALSIZE = BCM_FIRST + 0x0001, 2580 BCM_SETIMAGELIST = BCM_FIRST + 0x0002, 2581 BCM_GETIMAGELIST = BCM_FIRST + 0x0003, 2582 BCM_SETTEXTMARGIN = BCM_FIRST + 0x0004, 2583 BCM_GETTEXTMARGIN = BCM_FIRST + 0x0005, 2584 2585 BCN_HOTITEMCHANGE = BCN_FIRST + 0x0001, 2586 } 2587 2588 struct NMBCHOTITEM { 2589 NMHDR hdr; 2590 DWORD dwFlags; 2591 } 2592 alias NMBCHOTITEM* LPNMBCHOTITEM; 2593 } 2594 2595 static if (_WIN32_WINNT >= 0x600) { 2596 enum { 2597 BST_DROPDOWNPUSHED = 0x0400, 2598 2599 BS_SPLITBUTTON = 0x0000_000C, 2600 BS_DEFSPLITBUTTON = 0x0000_000D, 2601 BS_COMMANDLINK = 0x0000_000E, 2602 BS_DEFCOMMANDLINK = 0x0000_000F, 2603 2604 BCSIF_GLYPH = 0x0001, 2605 BCSIF_IMAGE = 0x0002, 2606 BCSIF_STYLE = 0x0004, 2607 BCSIF_SIZE = 0x0008, 2608 2609 BCSS_NOSPLIT = 0x0001, 2610 BCSS_STRETCH = 0x0002, 2611 BCSS_ALIGNLEFT = 0x0004, 2612 BCSS_IMAGE = 0x0008, 2613 2614 BCM_SETDROPDOWNSTATE = BCM_FIRST + 0x0006, 2615 BCM_SETSPLITINFO = BCM_FIRST + 0x0007, 2616 BCM_GETSPLITINFO = BCM_FIRST + 0x0008, 2617 BCM_SETNOTE = BCM_FIRST + 0x0009, 2618 BCM_GETNOTE = BCM_FIRST + 0x000A, 2619 BCM_GETNOTELENGTH = BCM_FIRST + 0x000B, 2620 BCM_SETSHIELD = BCM_FIRST + 0x000C, 2621 2622 BCN_DROPDOWN = BCN_FIRST + 0x0002, 2623 } 2624 2625 enum HIMAGELIST BCCL_NOGLYPH = cast(HIMAGELIST)-1; 2626 2627 struct BUTTON_SPLITINFO 2628 { 2629 UINT mask; 2630 HIMAGELIST himlGlyph; 2631 UINT uSplitStyle; 2632 SIZE size; 2633 } 2634 alias BUTTON_SPLITINFO* PBUTTON_SPLITINFO; 2635 } 2636 2637 enum { 2638 CBEM_INSERTITEMA = WM_USER + 1, 2639 CBEM_SETIMAGELIST, 2640 CBEM_GETIMAGELIST, 2641 CBEM_GETITEMA, 2642 CBEM_SETITEMA, 2643 CBEM_GETCOMBOCONTROL, 2644 CBEM_GETEDITCONTROL, 2645 CBEM_SETEXSTYLE, 2646 CBEM_GETEXSTYLE, // = WM_USER + 9) 2647 CBEM_DELETEITEM = CB_DELETESTRING 2648 } 2649 2650 static if (_WIN32_IE >= 0x400) { 2651 enum { 2652 CBEM_SETEXTENDEDSTYLE = WM_USER + 14, 2653 CBEM_GETEXTENDEDSTYLE = WM_USER + 9, 2654 CBEM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 2655 CBEM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 2656 } 2657 } 2658 2659 enum { 2660 CBEM_HASEDITCHANGED = WM_USER + 10, 2661 CBEM_INSERTITEMW = WM_USER + 11, 2662 CBEM_SETITEMW = WM_USER + 12, 2663 CBEM_GETITEMW = WM_USER + 13 2664 } 2665 2666 static if (_WIN32_WINNT >= 0x501) 2667 { 2668 enum { 2669 CBEM_SETWINDOWTHEME = CCM_SETWINDOWTHEME 2670 } 2671 } 2672 2673 enum { 2674 DA_LAST = 0x7fffffff 2675 } 2676 2677 enum { 2678 DPA_APPEND = 0x7fffffff, 2679 DPA_ERR = -1 2680 } 2681 2682 enum { 2683 DSA_APPEND = 0x7fffffff, 2684 DSA_ERR = -1 2685 } 2686 2687 enum { 2688 DPAS_SORTED = 1, 2689 DPAS_INSERTBEFORE = 2, 2690 DPAS_INSERTAFTER = 4 2691 } 2692 2693 static if (_WIN32_IE >= 0x400) { 2694 enum { 2695 WSB_PROP_CYVSCROLL = 1, 2696 WSB_PROP_CXHSCROLL = 2, 2697 WSB_PROP_CYHSCROLL = 4, 2698 WSB_PROP_CXVSCROLL = 8, 2699 WSB_PROP_CXHTHUMB = 16, 2700 WSB_PROP_CYVTHUMB = 32, 2701 WSB_PROP_VBKGCOLOR = 64, 2702 WSB_PROP_HBKGCOLOR = 128, 2703 WSB_PROP_VSTYLE = 256, 2704 WSB_PROP_HSTYLE = 512, 2705 WSB_PROP_WINSTYLE = 1024, 2706 WSB_PROP_PALETTE = 2048, 2707 WSB_PROP_MASK = 0xfff, 2708 FSB_FLAT_MODE = 2, 2709 FSB_ENCARTA_MODE = 1, 2710 FSB_REGULAR_MODE = 0 2711 } 2712 } 2713 2714 static if (_WIN32_WINNT >= 0x501) { 2715 enum { 2716 LIF_ITEMINDEX = 1, 2717 LIF_STATE = 2, 2718 LIF_ITEMID = 4, 2719 LIF_URL = 8 2720 } 2721 2722 enum { 2723 LIS_FOCUSED = 1, 2724 LIS_ENABLED = 2, 2725 LIS_VISITED = 4 2726 } 2727 2728 enum { 2729 LM_HITTEST = WM_USER + 768, 2730 LM_GETIDEALHEIGHT, 2731 LM_SETITEM, 2732 LM_GETITEM, // = WM_USER + 771 2733 LM_GETIDEALSIZE = LM_GETIDEALHEIGHT, 2734 } 2735 2736 enum size_t MAX_LINKID_TEXT = 48; 2737 enum size_t L_MAX_URL_LENGTH = 2084; 2738 } 2739 2740 2741 struct TBMETRICS { 2742 UINT cbSize = TBMETRICS.sizeof; 2743 DWORD dwMask; 2744 int cxPad; 2745 int cyPad; 2746 int cxBarPad; 2747 int cyBarPad; 2748 int cxButtonSpacing; 2749 int cyButtonSpacing; 2750 } 2751 alias TBMETRICS* LPTBMETRICS; 2752 2753 static if (_WIN32_WINNT >= 0x501) { 2754 struct TTGETTITLE { 2755 DWORD dwSize = TTGETTITLE.sizeof; 2756 UINT uTitleBitmap; 2757 UINT cch; 2758 WCHAR* pszTitle; 2759 } 2760 alias TTGETTITLE* PTTGETTITLE; 2761 } 2762 2763 static if (_WIN32_WINNT >= 0x600) { 2764 struct MCGRIDINFO { 2765 UINT cbSize; 2766 DWORD dwPart; 2767 DWORD dwFlags; 2768 int iCalendar; 2769 int iRow; 2770 int iCol; 2771 BOOL bSelected; 2772 SYSTEMTIME stStart; 2773 SYSTEMTIME stEnd; 2774 RECT rc; 2775 PWSTR pszName; 2776 size_t cchName; 2777 } 2778 alias MCGRIDINFO* PMCGRIDINFO; 2779 2780 struct DATETIMEPICKERINFO 2781 { 2782 DWORD cbSize; 2783 RECT rcCheck; 2784 DWORD stateCheck; 2785 RECT rcButton; 2786 DWORD stateButton; 2787 HWND hwndEdit; 2788 HWND hwndUD; 2789 HWND hwndDropDown; 2790 } 2791 alias DATETIMEPICKERINFO* LPDATETIMEPICKERINFO; 2792 } 2793 2794 struct COMBOBOXEXITEMA { 2795 UINT mask; 2796 INT_PTR iItem; 2797 LPSTR pszText; 2798 int cchTextMax; 2799 int iImage; 2800 int iSelectedImage; 2801 int iOverlay; 2802 int iIndent; 2803 LPARAM lParam; 2804 } 2805 alias COMBOBOXEXITEMA* PCOMBOBOXEXITEMA; 2806 alias const(COMBOBOXEXITEMA)* PCCOMBOEXITEMA; 2807 2808 struct COMBOBOXEXITEMW { 2809 UINT mask; 2810 INT_PTR iItem; 2811 LPWSTR pszText; 2812 int cchTextMax; 2813 int iImage; 2814 int iSelectedImage; 2815 int iOverlay; 2816 int iIndent; 2817 LPARAM lParam; 2818 } 2819 alias COMBOBOXEXITEMW* PCOMBOBOXEXITEMW; 2820 alias const(COMBOBOXEXITEMW)* PCCOMBOEXITEMW; 2821 2822 static if (_WIN32_IE >= 0x400) { 2823 struct NMCOMBOBOXEXA { 2824 NMHDR hdr; 2825 COMBOBOXEXITEMA ceItem; 2826 } 2827 alias NMCOMBOBOXEXA* PNMCOMBOBOXEXA; 2828 2829 struct NMCOMBOBOXEXW { 2830 NMHDR hdr; 2831 COMBOBOXEXITEMW ceItem; 2832 } 2833 alias NMCOMBOBOXEXW* PNMCOMBOBOXEXW; 2834 2835 struct NMCBEDRAGBEGINW { 2836 NMHDR hdr; 2837 int iItemid; 2838 WCHAR[CBEMAXSTRLEN] szText = 0; 2839 } 2840 alias NMCBEDRAGBEGINW* LPNMCBEDRAGBEGINW, PNMCBEDRAGBEGINW; 2841 2842 struct NMCBEDRAGBEGINA { 2843 NMHDR hdr; 2844 int iItemid; 2845 char[CBEMAXSTRLEN] szText = 0; 2846 } 2847 alias NMCBEDRAGBEGINA* LPNMCBEDRAGBEGINA, PNMCBEDRAGBEGINA; 2848 2849 struct NMIPADDRESS { 2850 NMHDR hdr; 2851 int iField; 2852 int iValue; 2853 } 2854 alias NMIPADDRESS* LPNMIPADDRESS; 2855 2856 align (1) 2857 struct NMLVKEYDOWN { 2858 align (1): 2859 NMHDR hdr; 2860 WORD wVKey; 2861 UINT flags; 2862 } 2863 alias NMLVKEYDOWN* LPNMLVKEYDOWN; 2864 2865 struct NMPGCALCSIZE { 2866 NMHDR hdr; 2867 DWORD dwFlag; 2868 int iWidth; 2869 int iHeight; 2870 } 2871 alias NMPGCALCSIZE* LPNMPGCALCSIZE; 2872 2873 align (1) 2874 struct NMPGSCROLL { 2875 align (1): 2876 NMHDR hdr; 2877 WORD fwKeys; // Note: this should be WORD if MSDN document says wrong 2878 RECT rcParent; 2879 int iDir; 2880 int iXpos; 2881 int iYpos; 2882 int iScroll; 2883 } 2884 alias NMPGSCROLL* LPNMPGSCROLL; 2885 2886 struct NMSELCHANGE { 2887 NMHDR nmhdr; 2888 SYSTEMTIME stSelStart; 2889 SYSTEMTIME stSelEnd; 2890 } 2891 alias NMSELCHANGE* LPNMSELCHANGE; 2892 2893 struct NMTBHOTITEM { 2894 NMHDR hdr; 2895 int idOld; 2896 int idNew; 2897 DWORD dwFlags; 2898 } 2899 alias NMTBHOTITEM* LPNMTBHOTITEM; 2900 2901 struct NMTBDISPINFOA { 2902 NMHDR hdr; 2903 DWORD dwMask; 2904 int idCommand; 2905 DWORD_PTR lParam; 2906 int iImage; 2907 LPSTR pszText; 2908 int cchText; 2909 } 2910 alias NMTBDISPINFOA* LPNMTBDISPINFOA; 2911 2912 struct NMTBDISPINFOW { 2913 NMHDR hdr; 2914 DWORD dwMask; 2915 int idCommand; 2916 DWORD_PTR lParam; 2917 int iImage; 2918 LPWSTR pszText; 2919 int cchText; 2920 } 2921 alias NMTBDISPINFOW* LPNMTBDISPINFOW; 2922 2923 struct NMTBGETINFOTIPA { 2924 NMHDR hdr; 2925 LPSTR pszText; 2926 int cchTextMax; 2927 int iItem; 2928 LPARAM lParam; 2929 } 2930 alias NMTBGETINFOTIPA* LPNMTBGETINFOTIPA; 2931 2932 struct NMTBGETINFOTIPW { 2933 NMHDR hdr; 2934 LPWSTR pszText; 2935 int cchTextMax; 2936 int iItem; 2937 LPARAM lParam; 2938 } 2939 alias NMTBGETINFOTIPW* LPNMTBGETINFOTIPW; 2940 2941 struct NMMOUSE { 2942 NMHDR hdr; 2943 DWORD_PTR dwItemSpec; 2944 DWORD_PTR dwItemData; 2945 POINT pt; 2946 LPARAM dwHitInfo; 2947 } 2948 alias NMMOUSE* LPNMMOUSE; 2949 } 2950 2951 static if (_WIN32_IE >= 0x401) { 2952 struct NMTOOLTIPSCREATED { 2953 NMHDR hdr; 2954 HWND hwndToolTips; 2955 } 2956 alias NMTOOLTIPSCREATED* LPNMTOOLTIPSCREATED; 2957 } 2958 2959 struct NMDATETIMECHANGE { 2960 NMHDR nmhdr; 2961 DWORD dwFlags; 2962 SYSTEMTIME st; 2963 } 2964 alias NMDATETIMECHANGE* LPNMDATETIMECHANGE; 2965 2966 struct NMCBEENDEDITW { 2967 NMHDR hdr; 2968 BOOL fChanged; 2969 int iNewSelection; 2970 WCHAR[CBEMAXSTRLEN] szText = 0; 2971 int iWhy; 2972 } 2973 alias NMCBEENDEDITW* LPNMCBEENDEDITW, PNMCBEENDEDITW; 2974 2975 struct NMCBEENDEDITA { 2976 NMHDR hdr; 2977 BOOL fChanged; 2978 int iNewSelection; 2979 char[CBEMAXSTRLEN] szText = 0; 2980 int iWhy; 2981 } 2982 alias NMCBEENDEDITA* LPNMCBEENDEDITA, PNMCBEENDEDITA; 2983 2984 struct COLORMAP { 2985 COLORREF from; 2986 COLORREF to; 2987 } 2988 alias COLORMAP* LPCOLORMAP; 2989 2990 struct DRAGLISTINFO { 2991 UINT uNotification; 2992 HWND hWnd; 2993 POINT ptCursor; 2994 } 2995 alias DRAGLISTINFO* LPDRAGLISTINFO; 2996 2997 struct TBBUTTON { 2998 int iBitmap; 2999 int idCommand; 3000 BYTE fsState; 3001 BYTE fsStyle; 3002 version (Win64){ 3003 BYTE[6] bReserved; 3004 } else { 3005 BYTE[2] bReserved; 3006 } 3007 DWORD_PTR dwData; 3008 INT_PTR iString; 3009 } 3010 alias TBBUTTON* PTBBUTTON, LPTBBUTTON; 3011 alias const(TBBUTTON)* LPCTBBUTTON; 3012 3013 static if (_WIN32_IE >= 0x400) { 3014 struct TBBUTTONINFOA { 3015 UINT cbSize = TBBUTTONINFOA.sizeof; 3016 DWORD dwMask; 3017 int idCommand; 3018 int iImage; 3019 BYTE fsState; 3020 BYTE fsStyle; 3021 WORD cx; 3022 DWORD_PTR lParam; 3023 LPSTR pszText; 3024 int cchText; 3025 } 3026 alias TBBUTTONINFOA* LPTBBUTTONINFOA; 3027 3028 struct TBBUTTONINFOW { 3029 UINT cbSize = TBBUTTONINFOW.sizeof; 3030 DWORD dwMask; 3031 int idCommand; 3032 int iImage; 3033 BYTE fsState; 3034 BYTE fsStyle; 3035 WORD cx; 3036 DWORD_PTR lParam; 3037 LPWSTR pszText; 3038 int cchText; 3039 } 3040 alias TBBUTTONINFOW* LPTBBUTTONINFOW; 3041 3042 struct TBINSERTMARK { 3043 int iButton; 3044 DWORD dwFlags; 3045 } 3046 alias TBINSERTMARK* LPTBINSERTMARK; 3047 3048 struct LVBKIMAGEA { 3049 ULONG ulFlags; 3050 HBITMAP hbm; 3051 LPSTR pszImage; 3052 UINT cchImageMax; 3053 int xOffsetPercent; 3054 int yOffsetPercent; 3055 } 3056 alias LVBKIMAGEA* LPLVBKIMAGEA; 3057 3058 struct LVBKIMAGEW { 3059 ULONG ulFlags; 3060 HBITMAP hbm; 3061 LPWSTR pszImage; 3062 UINT cchImageMax; 3063 int xOffsetPercent; 3064 int yOffsetPercent; 3065 } 3066 alias LVBKIMAGEW* LPLVBKIMAGEW; 3067 } 3068 3069 /*struct TBNOTIFY { 3070 NMHDR hdr; 3071 int iItem; 3072 TBBUTTON tbButton; 3073 int cchText; 3074 LPTSTR pszText; 3075 } 3076 alias TBNOTIFY* LPTBNOTIFY; 3077 */ 3078 3079 /*struct TBSAVEPARAMS { 3080 HKEY hkr; 3081 LPCTSTR pszSubKey; 3082 LPCTSTR pszValueName; 3083 }*/ 3084 3085 struct IMAGEINFO { 3086 HBITMAP hbmImage; 3087 HBITMAP hbmMask; 3088 int Unused1; 3089 int Unused2; 3090 RECT rcImage; 3091 } 3092 alias IMAGEINFO* LPIMAGEINFO; 3093 3094 static if (_WIN32_IE >= 0x500) { 3095 struct HDITEMA { 3096 UINT mask; 3097 int cxy; 3098 LPSTR pszText; 3099 HBITMAP hbm; 3100 int cchTextMax; 3101 int fmt; 3102 LPARAM lParam; 3103 int iImage; 3104 int iOrder; 3105 UINT type; 3106 LPVOID pvFilter; 3107 } 3108 3109 struct HDITEMW { 3110 UINT mask; 3111 int cxy; 3112 LPWSTR pszText; 3113 HBITMAP hbm; 3114 int cchTextMax; 3115 int fmt; 3116 LPARAM lParam; 3117 int iImage; 3118 int iOrder; 3119 UINT type; 3120 LPVOID pvFilter; 3121 } 3122 } else static if (_WIN32_IE >= 0x300) { 3123 struct HDITEMA { 3124 UINT mask; 3125 int cxy; 3126 LPSTR pszText; 3127 HBITMAP hbm; 3128 int cchTextMax; 3129 int fmt; 3130 LPARAM lParam; 3131 int iImage; 3132 int iOrder; 3133 } 3134 3135 struct HDITEMW { 3136 UINT mask; 3137 int cxy; 3138 LPWSTR pszText; 3139 HBITMAP hbm; 3140 int cchTextMax; 3141 int fmt; 3142 LPARAM lParam; 3143 int iImage; 3144 int iOrder; 3145 } 3146 } else { 3147 struct HDITEMA { 3148 UINT mask; 3149 int cxy; 3150 LPSTR pszText; 3151 HBITMAP hbm; 3152 int cchTextMax; 3153 int fmt; 3154 LPARAM lParam; 3155 } 3156 3157 struct HDITEMW { 3158 UINT mask; 3159 int cxy; 3160 LPWSTR pszText; 3161 HBITMAP hbm; 3162 int cchTextMax; 3163 int fmt; 3164 LPARAM lParam; 3165 } 3166 } 3167 alias HDITEMA* LPHDITEMA; 3168 alias HDITEMW* LPHDITEMW; 3169 3170 deprecated { 3171 alias HDITEMA HD_ITEMA; 3172 alias HDITEMW HD_ITEMW; 3173 //alias HDITEM HD_ITEM; fixme 3174 } 3175 3176 struct HD_LAYOUT { 3177 RECT* prc; 3178 WINDOWPOS* pwpos; 3179 } 3180 alias HD_LAYOUT* LPHDLAYOUT; 3181 deprecated alias HD_LAYOUT HDLAYOUT; 3182 3183 struct HD_HITTESTINFO { 3184 POINT pt; 3185 UINT flags; 3186 int iItem; 3187 } 3188 alias HD_HITTESTINFO* LPHDHITTESTINFO; 3189 3190 struct HD_NOTIFYA { 3191 NMHDR hdr; 3192 int iItem; 3193 int iButton; 3194 HDITEMA* pitem; 3195 } 3196 3197 struct HD_NOTIFYW { 3198 NMHDR hdr; 3199 int iItem; 3200 int iButton; 3201 HDITEMW* pitem; 3202 } 3203 3204 /* FIXME: NMHEADER structure (base for all events of the comctl controls) 3205 is the same as HD_NOTIFY depending on the value of _WIN32_IE macro. 3206 I'm defining both for now. */ 3207 struct NMHEADERA { 3208 NMHDR hdr; 3209 int iItem; 3210 int iButton; 3211 HDITEMA* pitem; 3212 } 3213 alias NMHEADERA* LPNMHEADERA; 3214 3215 struct NMHEADERW { 3216 NMHDR hdr; 3217 int iItem; 3218 int iButton; 3219 HDITEMW* pitem; 3220 } 3221 alias NMHEADERW* LPNMHEADERW; 3222 3223 version (Unicode) { 3224 alias NMHEADERW NMHEADER; 3225 alias LPNMHEADERW LPNMHEADER; 3226 } else { 3227 alias NMHEADERA NMHEADER; 3228 alias LPNMHEADERA LPNMHEADER; 3229 } 3230 // End FIXME 3231 3232 struct NMHDDISPINFOA { 3233 NMHDR hdr; 3234 int iItem; 3235 UINT mask; 3236 LPSTR pszText; 3237 int cchTextMax; 3238 int iImage; 3239 LPARAM lParam; 3240 } 3241 alias NMHDDISPINFOA* LPNMHDDISPINFOA; 3242 3243 struct NMHDDISPINFOW { 3244 NMHDR hdr; 3245 int iItem; 3246 UINT mask; 3247 LPWSTR pszText; 3248 int cchTextMax; 3249 int iImage; 3250 LPARAM lParam; 3251 } 3252 alias NMHDDISPINFOW* LPNMHDDISPINFOW; 3253 3254 struct NMCUSTOMDRAW { 3255 NMHDR hdr; 3256 DWORD dwDrawStage; 3257 HDC hdc; 3258 RECT rc; 3259 DWORD_PTR dwItemSpec; 3260 UINT uItemState; 3261 LPARAM lItemlParam; 3262 } 3263 alias NMCUSTOMDRAW* LPNMCUSTOMDRAW; 3264 3265 static if (_WIN32_IE >= 0x400) { 3266 struct NMLVCUSTOMDRAW { 3267 NMCUSTOMDRAW nmcd; 3268 COLORREF clrText; 3269 COLORREF clrTextBk; 3270 int iSubItem; 3271 } 3272 } else { 3273 struct NMLVCUSTOMDRAW { 3274 NMCUSTOMDRAW nmcd; 3275 COLORREF clrText; 3276 COLORREF clrTextBk; 3277 } 3278 } 3279 alias NMLVCUSTOMDRAW* LPNMLVCUSTOMDRAW; 3280 3281 static if (_WIN32_IE >= 0x400) { 3282 struct NMLVGETINFOTIPA { 3283 NMHDR hdr; 3284 DWORD dwFlags; 3285 LPSTR pszText; 3286 int cchTextMax; 3287 int iItem; 3288 int iSubItem; 3289 LPARAM lParam; 3290 } 3291 alias NMLVGETINFOTIPA* LPNMLVGETINFOTIPA; 3292 3293 struct NMLVGETINFOTIPW { 3294 NMHDR hdr; 3295 DWORD dwFlags; 3296 LPWSTR pszText; 3297 int cchTextMax; 3298 int iItem; 3299 int iSubItem; 3300 LPARAM lParam; 3301 } 3302 alias NMLVGETINFOTIPW* LPNMLVGETINFOTIPW; 3303 } 3304 3305 static if (_WIN32_IE >= 0x400) { 3306 struct NMTVCUSTOMDRAW { 3307 NMCUSTOMDRAW nmcd; 3308 COLORREF clrText; 3309 COLORREF clrTextBk; 3310 int iLevel; 3311 } 3312 } else { 3313 struct NMTVCUSTOMDRAW { 3314 NMCUSTOMDRAW nmcd; 3315 COLORREF clrText; 3316 COLORREF clrTextBk; 3317 } 3318 } 3319 alias NMTVCUSTOMDRAW* LPNMTVCUSTOMDRAW; 3320 3321 static if (_WIN32_IE >= 0x400) { 3322 static if (_WIN32_WINNT >= 0x501) { 3323 struct NMTBCUSTOMDRAW { 3324 NMCUSTOMDRAW nmcd; 3325 HBRUSH hbrMonoDither; 3326 HBRUSH hbrLines; 3327 HPEN hpenLines; 3328 COLORREF clrText; 3329 COLORREF clrMark; 3330 COLORREF clrTextHighlight; 3331 COLORREF clrBtnFace; 3332 COLORREF clrBtnHighlight; 3333 COLORREF clrHighlightHotTrack; 3334 RECT rcText; 3335 int nStringBkMode; 3336 int nHLStringBkMode; 3337 int iListGap; 3338 } 3339 } else { 3340 struct NMTBCUSTOMDRAW { 3341 NMCUSTOMDRAW nmcd; 3342 HBRUSH hbrMonoDither; 3343 HBRUSH hbrLines; 3344 HPEN hpenLines; 3345 COLORREF clrText; 3346 COLORREF clrMark; 3347 COLORREF clrTextHighlight; 3348 COLORREF clrBtnFace; 3349 COLORREF clrBtnHighlight; 3350 COLORREF clrHighlightHotTrack; 3351 RECT rcText; 3352 int nStringBkMode; 3353 int nHLStringBkMode; 3354 } 3355 } 3356 alias NMTBCUSTOMDRAW* LPNMTBCUSTOMDRAW; 3357 3358 struct NMITEMACTIVATE { 3359 NMHDR hdr; 3360 int iItem; 3361 int iSubItem; 3362 UINT uNewState; 3363 UINT uOldState; 3364 UINT uChanged; 3365 POINT ptAction; 3366 LPARAM lParam; 3367 UINT uKeyFlags; 3368 } 3369 alias NMITEMACTIVATE* LPNMITEMACTIVATE; 3370 } 3371 3372 struct TBADDBITMAP { 3373 HINSTANCE hInst; 3374 UINT_PTR nID; 3375 } 3376 alias TBADDBITMAP* LPTBADDBITMAP; 3377 3378 struct TBSAVEPARAMSA { 3379 HKEY hkr; 3380 LPCSTR pszSubKey; 3381 LPCSTR pszValueName; 3382 } 3383 3384 struct TBSAVEPARAMSW { 3385 HKEY hkr; 3386 LPCWSTR pszSubKey; 3387 LPCWSTR pszValueName; 3388 } 3389 3390 struct TBREPLACEBITMAP { 3391 HINSTANCE hInstOld; 3392 UINT_PTR nIDOld; 3393 HINSTANCE hInstNew; 3394 UINT_PTR nIDNew; 3395 int nButtons; 3396 } 3397 alias TBREPLACEBITMAP* LPTBREPLACEBITMAP; 3398 3399 static if (_WIN32_IE >= 0x500) { 3400 struct NMTOOLBARA { 3401 NMHDR hdr; 3402 int iItem; 3403 TBBUTTON tbButton; 3404 int cchText; 3405 LPSTR pszText; 3406 RECT rcButton; 3407 } 3408 3409 struct NMTOOLBARW { 3410 NMHDR hdr; 3411 int iItem; 3412 TBBUTTON tbButton; 3413 int cchText; 3414 LPWSTR pszText; 3415 RECT rcButton; 3416 } 3417 } else { 3418 struct NMTOOLBARA { 3419 NMHDR hdr; 3420 int iItem; 3421 TBBUTTON tbButton; 3422 int cchText; 3423 LPSTR pszText; 3424 } 3425 3426 struct NMTOOLBARW { 3427 NMHDR hdr; 3428 int iItem; 3429 TBBUTTON tbButton; 3430 int cchText; 3431 LPWSTR pszText; 3432 } 3433 } 3434 alias NMTOOLBARA* LPNMTOOLBARA; 3435 alias NMTOOLBARW* LPNMTOOLBARW; 3436 3437 alias NMTOOLBARA TBNOTIFYA; 3438 alias LPNMTOOLBARA LPTBNOTIFYA; 3439 3440 alias NMTOOLBARW TBNOTIFYW; 3441 alias LPNMTOOLBARW LPTBNOTIFYW; 3442 3443 static if (_WIN32_WINNT >= 0x501) { 3444 struct TOOLINFOA { 3445 UINT cbSize = TOOLINFOA.sizeof; 3446 UINT uFlags; 3447 HWND hwnd; 3448 UINT_PTR uId; 3449 RECT rect; 3450 HINSTANCE hinst; 3451 LPSTR lpszText; 3452 LPARAM lParam; 3453 void* lpReserved; 3454 } 3455 3456 struct TOOLINFOW { 3457 UINT cbSize = TOOLINFOW.sizeof; 3458 UINT uFlags; 3459 HWND hwnd; 3460 UINT_PTR uId; 3461 RECT rect; 3462 HINSTANCE hinst; 3463 LPWSTR lpszText; 3464 LPARAM lParam; 3465 void* lpReserved; 3466 } 3467 3468 enum size_t 3469 TTTOOLINFOA_V1_SIZE = TOOLINFOA.lParam.offsetof, 3470 TTTOOLINFOW_V1_SIZE = TOOLINFOW.lParam.offsetof, 3471 TTTOOLINFOA_V2_SIZE = TOOLINFOA.lpReserved.offsetof, 3472 TTTOOLINFOW_V2_SIZE = TOOLINFOW.lpReserved.offsetof, 3473 TTTOOLINFOA_V3_SIZE = TOOLINFOA.sizeof, 3474 TTTOOLINFOW_V3_SIZE = TOOLINFOW.sizeof; 3475 } else static if (_WIN32_IE >= 0x300) { 3476 struct TOOLINFOA { 3477 UINT cbSize = TOOLINFOA.sizeof; 3478 UINT uFlags; 3479 HWND hwnd; 3480 UINT uId; 3481 RECT rect; 3482 HINSTANCE hinst; 3483 LPSTR lpszText; 3484 LPARAM lParam; 3485 } 3486 3487 struct TOOLINFOW { 3488 UINT cbSize = TOOLINFOW.sizeof; 3489 UINT uFlags; 3490 HWND hwnd; 3491 UINT uId; 3492 RECT rect; 3493 HINSTANCE hinst; 3494 LPWSTR lpszText; 3495 LPARAM lParam; 3496 } 3497 3498 enum size_t 3499 TTTOOLINFOA_V1_SIZE = TOOLINFOA.lParam.offsetof, 3500 TTTOOLINFOW_V1_SIZE = TOOLINFOW.lParam.offsetof, 3501 TTTOOLINFOA_V2_SIZE = TOOLINFOA.sizeof, 3502 TTTOOLINFOW_V2_SIZE = TOOLINFOW.sizeof; 3503 } else { 3504 struct TOOLINFOA { 3505 UINT cbSize = TOOLINFOA.sizeof; 3506 UINT uFlags; 3507 HWND hwnd; 3508 UINT uId; 3509 RECT rect; 3510 HINSTANCE hinst; 3511 LPSTR lpszText; 3512 } 3513 3514 struct TOOLINFOW { 3515 UINT cbSize = TOOLINFOW.sizeof; 3516 UINT uFlags; 3517 HWND hwnd; 3518 UINT uId; 3519 RECT rect; 3520 HINSTANCE hinst; 3521 LPWSTR lpszText; 3522 } 3523 3524 enum size_t 3525 TTTOOLINFOA_V1_SIZE = TOOLINFOA.sizeof, 3526 TTTOOLINFOW_V1_SIZE = TOOLINFOW.sizeof; 3527 } 3528 alias TOOLINFOA TTTOOLINFOA; 3529 alias TOOLINFOW TTTOOLINFOW; 3530 alias TTTOOLINFOA* LPTTTOOLINFOA, PTOOLINFOA, LPTOOLINFOA; 3531 alias TTTOOLINFOW* LPTTTOOLINFOW, PTOOLINFOW, LPTOOLINFOW; 3532 3533 struct TTHITTESTINFOA { 3534 HWND hwnd; 3535 POINT pt; 3536 TOOLINFOA ti; 3537 } 3538 alias TTHITTESTINFOA* LPTTHITTESTINFOA, LPHITTESTINFOA; 3539 3540 struct TTHITTESTINFOW { 3541 HWND hwnd; 3542 POINT pt; 3543 TOOLINFOW ti; 3544 } 3545 alias TTHITTESTINFOW* LPTTHITTESTINFOW, LPHITTESTINFOW; 3546 3547 static if (_WIN32_IE >= 0x300) { 3548 struct NMTTDISPINFOA { 3549 NMHDR hdr; 3550 LPSTR lpszText; 3551 char[80] szText = 0; 3552 HINSTANCE hinst; 3553 UINT uFlags; 3554 LPARAM lParam; 3555 } 3556 3557 struct NMTTDISPINFOW { 3558 NMHDR hdr; 3559 LPWSTR lpszText; 3560 WCHAR[80] szText = 0; 3561 HINSTANCE hinst; 3562 UINT uFlags; 3563 LPARAM lParam; 3564 } 3565 } else { 3566 struct NMTTDISPINFOA { 3567 NMHDR hdr; 3568 LPSTR lpszText; 3569 char[80] szText = 0; 3570 HINSTANCE hinst; 3571 UINT uFlags; 3572 } 3573 3574 struct NMTTDISPINFOW { 3575 NMHDR hdr; 3576 LPWSTR lpszText; 3577 WCHAR[80] szText = 0; 3578 HINSTANCE hinst; 3579 UINT uFlags; 3580 } 3581 } 3582 alias NMTTDISPINFOA* LPNMTTDISPINFOA; 3583 alias NMTTDISPINFOW* LPNMTTDISPINFOW; 3584 alias NMTTDISPINFOA TOOLTIPTEXTA; 3585 alias LPNMTTDISPINFOA LPTOOLTIPTEXTA; 3586 alias NMTTDISPINFOW TOOLTIPTEXTW; 3587 alias LPNMTTDISPINFOW LPTOOLTIPTEXTW; 3588 3589 struct UDACCEL { 3590 UINT nSec; 3591 UINT nInc; 3592 } 3593 alias UDACCEL* LPUDACCEL; 3594 3595 struct NMUPDOWN { 3596 NMHDR hdr; 3597 int iPos; 3598 int iDelta; 3599 } 3600 alias NMUPDOWN* LPNMUPDOWN; 3601 3602 deprecated { 3603 alias NMUPDOWN NM_UPDOWN; 3604 alias LPNMUPDOWN LPNM_UPDOWN; 3605 } 3606 3607 static if (_WIN32_WINNT >= 0x501) { 3608 struct LVITEMA { 3609 UINT mask; 3610 int iItem; 3611 int iSubItem; 3612 UINT state; 3613 UINT stateMask; 3614 LPSTR pszText; 3615 int cchTextMax; 3616 int iImage; 3617 LPARAM lParam; 3618 int iIndent; 3619 int iGroupId; 3620 UINT cColumns; 3621 PUINT puColumns; 3622 } 3623 3624 struct LVITEMW { 3625 UINT mask; 3626 int iItem; 3627 int iSubItem; 3628 UINT state; 3629 UINT stateMask; 3630 LPWSTR pszText; 3631 int cchTextMax; 3632 int iImage; 3633 LPARAM lParam; 3634 int iIndent; 3635 int iGroupId; 3636 UINT cColumns; 3637 PUINT puColumns; 3638 } 3639 } else static if (_WIN32_IE >= 0x300) { 3640 struct LVITEMA { 3641 UINT mask; 3642 int iItem; 3643 int iSubItem; 3644 UINT state; 3645 UINT stateMask; 3646 LPSTR pszText; 3647 int cchTextMax; 3648 int iImage; 3649 LPARAM lParam; 3650 int iIndent; 3651 } 3652 3653 struct LVITEMW { 3654 UINT mask; 3655 int iItem; 3656 int iSubItem; 3657 UINT state; 3658 UINT stateMask; 3659 LPWSTR pszText; 3660 int cchTextMax; 3661 int iImage; 3662 LPARAM lParam; 3663 int iIndent; 3664 } 3665 } else { 3666 struct LVITEMA { 3667 UINT mask; 3668 int iItem; 3669 int iSubItem; 3670 UINT state; 3671 UINT stateMask; 3672 LPSTR pszText; 3673 int cchTextMax; 3674 int iImage; 3675 LPARAM lParam; 3676 } 3677 3678 struct LVITEMW { 3679 UINT mask; 3680 int iItem; 3681 int iSubItem; 3682 UINT state; 3683 UINT stateMask; 3684 LPWSTR pszText; 3685 int cchTextMax; 3686 int iImage; 3687 LPARAM lParam; 3688 } 3689 } 3690 alias LVITEMA* LPLVITEMA; 3691 alias LVITEMW* LPLVITEMW; 3692 alias LVITEMA LV_ITEMA; 3693 alias LVITEMW LV_ITEMW; 3694 3695 struct LVFINDINFOA { 3696 UINT flags; 3697 LPCSTR psz; 3698 LPARAM lParam; 3699 POINT pt; 3700 UINT vkDirection; 3701 } 3702 3703 struct LVFINDINFOW { 3704 UINT flags; 3705 LPCWSTR psz; 3706 LPARAM lParam; 3707 POINT pt; 3708 UINT vkDirection; 3709 } 3710 3711 alias LVFINDINFOA* LPFINDINFOA; 3712 alias LVFINDINFOA LV_FINDINFOA; 3713 alias LVFINDINFOW* LPFINDINFOW; 3714 alias LVFINDINFOW LV_FINDINFOW; 3715 3716 struct NMLVFINDITEMA { 3717 NMHDR hdr; 3718 int iStart; 3719 LVFINDINFOA lvfi; 3720 } 3721 3722 struct NMLVFINDITEMW { 3723 NMHDR hdr; 3724 int iStart; 3725 LVFINDINFOW lvfi; 3726 } 3727 3728 alias NMLVFINDITEMA* PNMLVFINDITEMA, LPNMLVFINDITEMA; 3729 alias NMLVFINDITEMW* PNMLVFINDITEMW, LPNMLVFINDITEMW; 3730 3731 static if (_WIN32_IE >= 0x300) { 3732 struct LVHITTESTINFO { 3733 POINT pt; 3734 UINT flags; 3735 int iItem; 3736 int iSubItem; 3737 } 3738 } else { 3739 struct LVHITTESTINFO { 3740 POINT pt; 3741 UINT flags; 3742 int iItem; 3743 } 3744 } 3745 alias LVHITTESTINFO* LPLVHITTESTINFO; 3746 alias LVHITTESTINFO LV_HITTESTINFO; 3747 3748 static if (_WIN32_IE >= 0x300) { 3749 struct LVCOLUMNA { 3750 UINT mask; 3751 int fmt; 3752 int cx; 3753 LPSTR pszText; 3754 int cchTextMax; 3755 int iSubItem; 3756 int iImage; 3757 int iOrder; 3758 } 3759 struct LVCOLUMNW { 3760 UINT mask; 3761 int fmt; 3762 int cx; 3763 LPWSTR pszText; 3764 int cchTextMax; 3765 int iSubItem; 3766 int iImage; 3767 int iOrder; 3768 } 3769 } else { 3770 struct LVCOLUMNA { 3771 UINT mask; 3772 int fmt; 3773 int cx; 3774 LPSTR pszText; 3775 int cchTextMax; 3776 int iSubItem; 3777 } 3778 struct LVCOLUMNW { 3779 UINT mask; 3780 int fmt; 3781 int cx; 3782 LPWSTR pszText; 3783 int cchTextMax; 3784 int iSubItem; 3785 } 3786 } 3787 alias LVCOLUMNA* LPLVCOLUMNA; 3788 alias LVCOLUMNW* LPLVCOLUMNW; 3789 alias LVCOLUMNA LV_COLUMNA; 3790 alias LVCOLUMNW LV_COLUMNW; 3791 3792 static if (_WIN32_WINNT >= 0x501) { 3793 /* SG: The definitions in this static if block are from the MSDN docs. 3794 * They are not in MinGW, but nonetheless required for macros that are. 3795 */ 3796 struct LVGROUP { 3797 UINT cbSize = LVGROUP.sizeof; 3798 UINT mask; 3799 LPWSTR pszHeader; 3800 int cchHeader; 3801 LPWSTR pszFooter; 3802 int cchFooter; 3803 int iGroupId; 3804 UINT stateMask; 3805 UINT state; 3806 UINT uAlign; 3807 static if (_WIN32_WINNT >= 0x600) { 3808 LPWSTR pszSubtitle; 3809 UINT cchSubtitle; 3810 LPWSTR pszTask; 3811 UINT cchTask; 3812 LPWSTR pszDescriptionTop; 3813 UINT cchDescriptionTop; 3814 LPWSTR pszDescriptionBottom; 3815 UINT cchDescriptionBottom; 3816 int iTitleImage; 3817 int iExtendedImage; 3818 int iFirstItem; // Read only 3819 UINT cItems; // Read only 3820 LPWSTR pszSubsetTitle; // NULL if group is not subset 3821 UINT cchSubsetTitle; 3822 } 3823 } 3824 alias LVGROUP* PLVGROUP; 3825 3826 struct LVGROUPMETRICS { 3827 UINT cbSize = LVGROUPMETRICS.sizeof; 3828 UINT mask; 3829 UINT Left; 3830 UINT Top; 3831 UINT Right; 3832 UINT Bottom; 3833 COLORREF crLeft; 3834 COLORREF crTop; 3835 COLORREF crRight; 3836 COLORREF crBottom; 3837 COLORREF crHeader; 3838 COLORREF crFooter; 3839 } 3840 alias LVGROUPMETRICS* PLVGROUPMETRICS; 3841 3842 struct LVINSERTMARK { 3843 UINT cbSize = LVINSERTMARK.sizeof; 3844 DWORD dwFlags; 3845 int iItem; 3846 DWORD dwReserved; 3847 } 3848 alias LVINSERTMARK* PLVINSERTMARK; 3849 alias LVINSERTMARK* LPLVINSERTMARK; 3850 3851 struct LVTILEINFO { 3852 UINT cbSize = LVTILEINFO.sizeof; 3853 int iItem; 3854 UINT cColumns; 3855 PUINT puColumns; 3856 static if (_WIN32_WINNT >= 0x600) { 3857 int* piColFmt; 3858 } 3859 } 3860 alias LVTILEINFO* PLVTILEINFO; 3861 3862 struct LVTILEVIEWINFO { 3863 UINT cbSize = LVTILEVIEWINFO.sizeof; 3864 DWORD dwMask; 3865 DWORD dwFlags; 3866 SIZE sizeTile; 3867 int cLines; 3868 RECT rcLabelMargin; 3869 } 3870 alias LVTILEVIEWINFO* PLVTILEVIEWINFO; 3871 3872 struct LVINSERTGROUPSORTED { 3873 PFNLVGROUPCOMPARE pfnGroupCompare; 3874 LPVOID* pvData; 3875 LVGROUP lvGroup; 3876 } 3877 alias LVINSERTGROUPSORTED* PLVINSERTGROUPSORTED; 3878 3879 extern (Windows) alias int function(INT, INT, VOID*) PFNLVGROUPCOMPARE; 3880 3881 struct LVSETINFOTIP { 3882 UINT cbSize = LVSETINFOTIP.sizeof; 3883 DWORD dwFlags; 3884 LPWSTR pszText; 3885 int iItem; 3886 int iSubItem; 3887 HBITMAP hbmp; 3888 } 3889 alias LVSETINFOTIP* PLVSETINFOTIP; 3890 3891 struct BUTTON_IMAGELIST { 3892 HIMAGELIST himl; 3893 RECT margin; 3894 UINT uAlign; 3895 } 3896 alias BUTTON_IMAGELIST* PBUTTON_IMAGELIST; 3897 } 3898 3899 static if (_WIN32_WINNT >= 0x600) { 3900 struct LVITEMINDEX 3901 { 3902 int iItem; 3903 int iGroup; 3904 } 3905 alias LVITEMINDEX* PLVITEMINDEX; 3906 3907 struct LVFOOTERINFO 3908 { 3909 UINT mask; 3910 LPWSTR pszText; 3911 int cchTextMax; 3912 UINT cItems; 3913 } 3914 alias LVFOOTERINFO* LPLVFOOTERINFO; 3915 3916 struct LVFOOTERITEM 3917 { 3918 UINT mask; 3919 int iItem; 3920 LPWSTR pszText; 3921 int cchTextMax; 3922 UINT state; 3923 UINT stateMask; 3924 } 3925 alias LVFOOTERITEM *LPLVFOOTERITEM; 3926 3927 alias UINT TVITEMPART; 3928 enum { 3929 TVGIPR_BUTTON = 0x0001, 3930 } 3931 } 3932 3933 extern (Windows) alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE; 3934 3935 struct NMLISTVIEW { 3936 NMHDR hdr; 3937 int iItem; 3938 int iSubItem; 3939 UINT uNewState; 3940 UINT uOldState; 3941 UINT uChanged; 3942 POINT ptAction; 3943 LPARAM lParam; 3944 } 3945 alias NMLISTVIEW* LPNMLISTVIEW; 3946 3947 deprecated { 3948 alias NMLISTVIEW NM_LISTVIEW; 3949 alias LPNMLISTVIEW LPNM_LISTVIEW; 3950 } 3951 3952 struct NMLVDISPINFOA { 3953 NMHDR hdr; 3954 LV_ITEMA item; 3955 } 3956 alias NMLVDISPINFOA* LPNMLVDISPINFOA; 3957 alias NMLVDISPINFOA LV_DISPINFOA; 3958 3959 struct NMLVDISPINFOW { 3960 NMHDR hdr; 3961 LV_ITEMW item; 3962 } 3963 alias NMLVDISPINFOW* LPNMLVDISPINFOW; 3964 alias NMLVDISPINFOW LV_DISPINFOW; 3965 3966 align (1) 3967 struct LV_KEYDOWN { 3968 align (1): 3969 NMHDR hdr; 3970 WORD wVKey; 3971 UINT flags; 3972 } 3973 3974 struct NMLVCACHEHINT { 3975 NMHDR hdr; 3976 int iFrom; 3977 int iTo; 3978 } 3979 alias NMLVCACHEHINT* LPNMLVCACHEHINT, PNM_CACHEHINT, LPNM_CACHEHINT; 3980 alias NMLVCACHEHINT NM_CACHEHINT; 3981 3982 struct TVITEMA { 3983 UINT mask; 3984 HTREEITEM hItem; 3985 UINT state; 3986 UINT stateMask; 3987 LPSTR pszText; 3988 int cchTextMax; 3989 int iImage; 3990 int iSelectedImage; 3991 int cChildren; 3992 LPARAM lParam; 3993 } 3994 alias TVITEMA* LPTVITEMA, LPTV_ITEMA; 3995 alias TVITEMA TV_ITEMA; 3996 3997 struct TVITEMW { 3998 UINT mask; 3999 HTREEITEM hItem; 4000 UINT state; 4001 UINT stateMask; 4002 LPWSTR pszText; 4003 int cchTextMax; 4004 int iImage; 4005 int iSelectedImage; 4006 int cChildren; 4007 LPARAM lParam; 4008 } 4009 alias TVITEMW* LPTVITEMW, LPTV_ITEMW; 4010 alias TVITEMW TV_ITEMW; 4011 4012 static if (_WIN32_IE >= 0x400) { 4013 struct TVITEMEXA { 4014 UINT mask; 4015 HTREEITEM hItem; 4016 UINT state; 4017 UINT stateMask; 4018 LPSTR pszText; 4019 int cchTextMax; 4020 int iImage; 4021 int iSelectedImage; 4022 int cChildren; 4023 LPARAM lParam; 4024 int iIntegral; 4025 } 4026 alias TVITEMEXA* LPTVITEMEXA; 4027 4028 struct TVITEMEXW { 4029 UINT mask; 4030 HTREEITEM hItem; 4031 UINT state; 4032 UINT stateMask; 4033 LPWSTR pszText; 4034 int cchTextMax; 4035 int iImage; 4036 int iSelectedImage; 4037 int cChildren; 4038 LPARAM lParam; 4039 int iIntegral; 4040 } 4041 alias TVITEMEXW* LPTVITEMEXW; 4042 } 4043 4044 static if (_WIN32_IE >= 0x400) { 4045 struct TVINSERTSTRUCTA { 4046 HTREEITEM hParent; 4047 HTREEITEM hInsertAfter; 4048 union { 4049 TVITEMEXA itemex; 4050 TV_ITEMA item; 4051 } 4052 } 4053 4054 struct TVINSERTSTRUCTW { 4055 HTREEITEM hParent; 4056 HTREEITEM hInsertAfter; 4057 union { 4058 TVITEMEXW itemex; 4059 TV_ITEMW item; 4060 } 4061 } 4062 } else { 4063 struct TVINSERTSTRUCTA { 4064 HTREEITEM hParent; 4065 HTREEITEM hInsertAfter; 4066 TV_ITEMA item; 4067 } 4068 4069 struct TVINSERTSTRUCTW { 4070 HTREEITEM hParent; 4071 HTREEITEM hInsertAfter; 4072 TV_ITEMW item; 4073 } 4074 } 4075 alias TVINSERTSTRUCTA* LPTVINSERTSTRUCTA, LPTV_INSERTSTRUCTA; 4076 alias TVINSERTSTRUCTA TV_INSERTSTRUCTA; 4077 alias TVINSERTSTRUCTW* LPTVINSERTSTRUCTW, LPTV_INSERTSTRUCTW; 4078 alias TVINSERTSTRUCTW TV_INSERTSTRUCTW; 4079 4080 struct TVHITTESTINFO { 4081 POINT pt; 4082 UINT flags; 4083 HTREEITEM hItem; 4084 } 4085 alias TVHITTESTINFO* LPTVHITTESTINFO, LPTV_HITTESTINFO; 4086 alias TVHITTESTINFO TV_HITTESTINFO; 4087 4088 static if (_WIN32_WINNT >= 0x600) { 4089 struct TVGETITEMPARTRECTINFO { 4090 HTREEITEM hti; 4091 RECT* prc; 4092 TVITEMPART partID; 4093 } 4094 } 4095 4096 extern (Windows) alias int function(LPARAM, LPARAM, LPARAM) PFNTVCOMPARE; 4097 struct TVSORTCB { 4098 HTREEITEM hParent; 4099 PFNTVCOMPARE lpfnCompare; 4100 LPARAM lParam; 4101 } 4102 alias TVSORTCB* LPTVSORTCB, LPTV_SORTCB; 4103 alias TVSORTCB TV_SORTCB; 4104 4105 struct NMTREEVIEWA { 4106 NMHDR hdr; 4107 UINT action; 4108 TV_ITEMA itemOld; 4109 TV_ITEMA itemNew; 4110 POINT ptDrag; 4111 } 4112 alias NMTREEVIEWA* LPNMTREEVIEWA, LPNM_TREEVIEWA; 4113 alias NMTREEVIEWA NM_TREEVIEWA; 4114 4115 struct NMTREEVIEWW { 4116 NMHDR hdr; 4117 UINT action; 4118 TV_ITEMW itemOld; 4119 TV_ITEMW itemNew; 4120 POINT ptDrag; 4121 } 4122 alias NMTREEVIEWW* LPNMTREEVIEWW, LPNM_TREEVIEWW; 4123 alias NMTREEVIEWW NM_TREEVIEWW; 4124 4125 struct NMTVDISPINFOA { 4126 NMHDR hdr; 4127 TVITEMA item; 4128 } 4129 alias NMTVDISPINFOA* LPNMTVDISPINFOA; 4130 alias NMTVDISPINFOA TV_DISPINFOA; 4131 4132 struct NMTVDISPINFOW { 4133 NMHDR hdr; 4134 TVITEMW item; 4135 } 4136 alias NMTVDISPINFOW* LPNMTVDISPINFOW; 4137 alias NMTVDISPINFOW TV_DISPINFOW; 4138 4139 static if (_WIN32_IE >= 0x400) { 4140 struct NMTVGETINFOTIPA { 4141 NMHDR hdr; 4142 LPSTR pszText; 4143 int cchTextMax; 4144 HTREEITEM hItem; 4145 LPARAM lParam; 4146 } 4147 alias NMTVGETINFOTIPA* LPNMTVGETINFOTIPA; 4148 4149 struct NMTVGETINFOTIPW { 4150 NMHDR hdr; 4151 LPWSTR pszText; 4152 int cchTextMax; 4153 HTREEITEM hItem; 4154 LPARAM lParam; 4155 } 4156 alias NMTVGETINFOTIPW* LPNMTVGETINFOTIPW; 4157 } 4158 4159 align (1) 4160 struct TV_KEYDOWN { 4161 align (1): 4162 NMHDR hdr; 4163 WORD wVKey; 4164 UINT flags; 4165 } 4166 4167 struct TC_ITEMHEADERA { 4168 UINT mask; 4169 UINT lpReserved1; 4170 UINT lpReserved2; 4171 LPSTR pszText; 4172 int cchTextMax; 4173 int iImage; 4174 } 4175 4176 struct TC_ITEMHEADERW { 4177 UINT mask; 4178 UINT lpReserved1; 4179 UINT lpReserved2; 4180 LPWSTR pszText; 4181 int cchTextMax; 4182 int iImage; 4183 } 4184 4185 static if (_WIN32_IE >= 0x300) { 4186 struct TCITEMA { 4187 UINT mask; 4188 DWORD dwState; 4189 DWORD dwStateMask; 4190 LPSTR pszText; 4191 int cchTextMax; 4192 int iImage; 4193 LPARAM lParam; 4194 } 4195 4196 struct TCITEMW { 4197 UINT mask; 4198 DWORD dwState; 4199 DWORD dwStateMask; 4200 LPWSTR pszText; 4201 int cchTextMax; 4202 int iImage; 4203 LPARAM lParam; 4204 } 4205 } else { 4206 struct TCITEMA { 4207 UINT mask; 4208 UINT lpReserved1; 4209 UINT lpReserved2; 4210 LPSTR pszText; 4211 int cchTextMax; 4212 int iImage; 4213 LPARAM lParam; 4214 } 4215 4216 struct TCITEMW { 4217 UINT mask; 4218 UINT lpReserved1; 4219 UINT lpReserved2; 4220 LPWSTR pszText; 4221 int cchTextMax; 4222 int iImage; 4223 LPARAM lParam; 4224 } 4225 } 4226 alias TCITEMA* LPTCITEMA; 4227 alias TCITEMA TC_ITEMA; 4228 alias TCITEMW* LPTCITEMW; 4229 alias TCITEMW TC_ITEMW; 4230 4231 struct TCHITTESTINFO { 4232 POINT pt; 4233 UINT flags; 4234 } 4235 alias TCHITTESTINFO* LPTCHITTESTINFO, LPTC_HITTESTINFO; 4236 alias TCHITTESTINFO TC_HITTESTINFO; 4237 4238 align (1) 4239 struct TC_KEYDOWN { 4240 align (1): 4241 NMHDR hdr; 4242 WORD wVKey; 4243 UINT flags; 4244 } 4245 4246 static if (_WIN32_IE >= 0x300) { 4247 struct INITCOMMONCONTROLSEX { 4248 DWORD dwSize = INITCOMMONCONTROLSEX.sizeof; 4249 DWORD dwICC; 4250 } 4251 alias INITCOMMONCONTROLSEX* LPINITCOMMONCONTROLSEX; 4252 } 4253 4254 struct PBRANGE { 4255 int iLow; 4256 int iHigh; 4257 } 4258 alias PBRANGE* PPBRANGE; 4259 4260 struct COLORSCHEME { 4261 DWORD dwSize = COLORSCHEME.sizeof; 4262 COLORREF clrBtnHighlight; 4263 COLORREF clrBtnShadow; 4264 } 4265 alias COLORSCHEME* LPCOLORSCHEME; 4266 4267 struct MCHITTESTINFO { 4268 UINT cbSize = MCHITTESTINFO.sizeof; 4269 POINT pt; 4270 UINT uHit; 4271 SYSTEMTIME st; 4272 } 4273 alias MCHITTESTINFO* PMCHITTESTINFO; 4274 4275 alias DWORD MONTHDAYSTATE; 4276 alias MONTHDAYSTATE* LPMONTHDAYSTATE; 4277 4278 struct NMDAYSTATE { 4279 NMHDR nmhdr; 4280 SYSTEMTIME stStart; 4281 int cDayState; 4282 LPMONTHDAYSTATE prgDayState; 4283 } 4284 alias NMDAYSTATE* LPNMDAYSTATE; 4285 4286 struct REBARINFO { 4287 UINT cbSize = REBARINFO.sizeof; 4288 UINT fMask; 4289 HIMAGELIST himl; 4290 } 4291 alias REBARINFO* LPREBARINFO; 4292 4293 static if (_WIN32_IE >= 0x400) { 4294 struct REBARBANDINFOA { 4295 UINT cbSize = REBARBANDINFOA.sizeof; 4296 UINT fMask; 4297 UINT fStyle; 4298 COLORREF clrFore; 4299 COLORREF clrBack; 4300 LPSTR lpText; 4301 UINT cch; 4302 int iImage; 4303 HWND hwndChild; 4304 UINT cxMinChild; 4305 UINT cyMinChild; 4306 UINT cx; 4307 HBITMAP hbmBack; 4308 UINT wID; 4309 UINT cyChild; 4310 UINT cyMaxChild; 4311 UINT cyIntegral; 4312 UINT cxIdeal; 4313 LPARAM lParam; 4314 UINT cxHeader; 4315 } 4316 4317 struct REBARBANDINFOW { 4318 UINT cbSize = REBARBANDINFOW.sizeof; 4319 UINT fMask; 4320 UINT fStyle; 4321 COLORREF clrFore; 4322 COLORREF clrBack; 4323 LPWSTR lpText; 4324 UINT cch; 4325 int iImage; 4326 HWND hwndChild; 4327 UINT cxMinChild; 4328 UINT cyMinChild; 4329 UINT cx; 4330 HBITMAP hbmBack; 4331 UINT wID; 4332 UINT cyChild; 4333 UINT cyMaxChild; 4334 UINT cyIntegral; 4335 UINT cxIdeal; 4336 LPARAM lParam; 4337 UINT cxHeader; 4338 } 4339 4340 enum : size_t { 4341 REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.cyChild.offsetof, 4342 REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.cyChild.offsetof 4343 } 4344 } else { 4345 struct REBARBANDINFOA { 4346 UINT cbSize = REBARBANDINFOA.sizeof; 4347 UINT fMask; 4348 UINT fStyle; 4349 COLORREF clrFore; 4350 COLORREF clrBack; 4351 LPSTR lpText; 4352 UINT cch; 4353 int iImage; 4354 HWND hwndChild; 4355 UINT cxMinChild; 4356 UINT cyMinChild; 4357 UINT cx; 4358 HBITMAP hbmBack; 4359 UINT wID; 4360 } 4361 4362 struct REBARBANDINFOW { 4363 UINT cbSize = REBARBANDINFOW.sizeof; 4364 UINT fMask; 4365 UINT fStyle; 4366 COLORREF clrFore; 4367 COLORREF clrBack; 4368 LPWSTR lpText; 4369 UINT cch; 4370 int iImage; 4371 HWND hwndChild; 4372 UINT cxMinChild; 4373 UINT cyMinChild; 4374 UINT cx; 4375 HBITMAP hbmBack; 4376 UINT wID; 4377 } 4378 4379 enum : size_t { 4380 REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.sizeof, 4381 REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.sizeof 4382 } 4383 } 4384 alias REBARBANDINFOA* LPREBARBANDINFOA; 4385 alias const(REBARBANDINFOA)* LPCREBARBANDINFOA; 4386 alias REBARBANDINFOW* LPREBARBANDINFOW; 4387 alias const(REBARBANDINFOW)* LPCREBARBANDINFOW; 4388 4389 static if (_WIN32_IE >= 0x300) { 4390 struct NMLVODSTATECHANGE { 4391 NMHDR hdr; 4392 int iFrom; 4393 int iTo; 4394 UINT uNewState; 4395 UINT uOldState; 4396 } 4397 alias NMLVODSTATECHANGE* LPNMLVODSTATECHANGE; 4398 4399 static if (_WIN32_WINNT >= 0x501) { 4400 struct IMAGELISTDRAWPARAMS { 4401 DWORD cbSize = IMAGELISTDRAWPARAMS.sizeof; 4402 HIMAGELIST himl; 4403 int i; 4404 HDC hdcDst; 4405 int x; 4406 int y; 4407 int cx; 4408 int cy; 4409 int xBitmap; 4410 int yBitmap; 4411 COLORREF rgbBk; 4412 COLORREF rgbFg; 4413 UINT fStyle; 4414 DWORD dwRop; 4415 DWORD fState; 4416 DWORD Frame; 4417 COLORREF crEffect; 4418 } 4419 } else { 4420 struct IMAGELISTDRAWPARAMS { 4421 DWORD cbSize = IMAGELISTDRAWPARAMS.sizeof; 4422 HIMAGELIST himl; 4423 int i; 4424 HDC hdcDst; 4425 int x; 4426 int y; 4427 int cx; 4428 int cy; 4429 int xBitmap; 4430 int yBitmap; 4431 COLORREF rgbBk; 4432 COLORREF rgbFg; 4433 UINT fStyle; 4434 DWORD dwRop; 4435 } 4436 } 4437 alias IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS; 4438 } 4439 4440 static if (_WIN32_IE >= 0x400) { 4441 struct NMREBARCHILDSIZE { 4442 NMHDR hdr; 4443 UINT uBand; 4444 UINT wID; 4445 RECT rcChild; 4446 RECT rcBand; 4447 } 4448 alias NMREBARCHILDSIZE* LPNMREBARCHILDSIZE; 4449 4450 struct NMREBAR { 4451 NMHDR hdr; 4452 DWORD dwMask; 4453 UINT uBand; 4454 UINT fStyle; 4455 UINT wID; 4456 LPARAM lParam; 4457 } 4458 alias NMREBAR* LPNMREBAR; 4459 4460 struct NMRBAUTOSIZE { 4461 NMHDR hdr; 4462 BOOL fChanged; 4463 RECT rcTarget; 4464 RECT rcActual; 4465 } 4466 alias NMRBAUTOSIZE* LPNMRBAUTOSIZE; 4467 4468 static if (_WIN32_IE >= 0x500) { 4469 struct NMREBARCHEVRON { 4470 NMHDR hdr; 4471 UINT uBand; 4472 UINT wID; 4473 LPARAM lParam; 4474 RECT rc; 4475 LPARAM lParamNM; 4476 } 4477 alias NMREBARCHEVRON* LPNMREBARCHEVRON; 4478 } 4479 4480 struct RBHITTESTINFO { 4481 POINT pt; 4482 UINT flags; 4483 int iBand; 4484 } 4485 alias RBHITTESTINFO* LPRBHITTESTINFO; 4486 } 4487 4488 mixin DECLARE_HANDLE!("HDSA"); 4489 mixin DECLARE_HANDLE!("HDPA"); 4490 4491 version (Unicode) { 4492 alias HDITEMW HDITEM; 4493 alias LPHDITEMW LPHDITEM; 4494 alias TOOLINFOW TOOLINFO; 4495 alias TOOLINFOW* PTOOLINFO, LPTOOLINFO; 4496 alias TTHITTESTINFOW TTHITTESTINFO; 4497 alias TTHITTESTINFOW* LPHITTESTINFO, LPTTHITTESTINFO; 4498 alias TOOLTIPTEXTW TOOLTIPTEXT; 4499 alias TOOLTIPTEXTW* LPTOOLTIPTEXT; 4500 alias NMTTDISPINFOW NMTTDISPINFO; 4501 alias NMTTDISPINFOW* LPNMTTDISPINFO; 4502 alias TV_ITEMW TV_ITEM; 4503 alias TV_ITEMW* LPTV_ITEM; 4504 alias TVITEMW TVITEM; 4505 alias TVITEMW* LPTVITEM; 4506 4507 static if (_WIN32_IE >= 0x400) { 4508 alias TVITEMEXW TVITEMEX; 4509 alias TVITEMEXW* LPTVITEMEX; 4510 } 4511 4512 alias TV_INSERTSTRUCTW TV_INSERTSTRUCT; 4513 alias TV_INSERTSTRUCTW* LPTV_INSERTSTRUCT; 4514 alias TVINSERTSTRUCTW TVINSERTSTRUCT; 4515 alias TVINSERTSTRUCTW* LPTVINSERTSTRUCT; 4516 alias NM_TREEVIEWW NM_TREEVIEW; 4517 alias NM_TREEVIEWW* LPNM_TREEVIEW; 4518 alias NMTREEVIEWW NMTREEVIEW; 4519 alias NMTREEVIEWW* LPNMTREEVIEW; 4520 alias NMHDDISPINFOW NMHDDISPINFO; 4521 alias NMHDDISPINFOW* LPNMHDDISPINFO; 4522 4523 alias ACM_OPENW ACM_OPEN; 4524 alias COMBOBOXEXITEMW COMBOBOXEXITEM; 4525 alias PCOMBOBOXEXITEMW PCOMBOBOXEXITEM; 4526 //alias PCCOMBOBOXEXITEMW PCCOMBOBOXEXITEM; fixme 4527 alias CBEM_INSERTITEMW CBEM_INSERTITEM; 4528 alias CBEM_SETITEMW CBEM_SETITEM; 4529 alias CBEM_GETITEMW CBEM_GETITEM; 4530 alias CBEN_ENDEDITW CBEN_ENDEDIT; 4531 alias NMCBEENDEDITW NMCBEENDEDIT; 4532 alias LPNMCBEENDEDITW LPNMCBEENDEDIT; 4533 alias PNMCBEENDEDITW PNMCBEENDEDIT; 4534 4535 static if (_WIN32_IE >= 0x400) { 4536 alias NMCOMBOBOXEXW NMCOMBOBOXEX; 4537 alias PNMCOMBOBOXEXW PNMCOMBOBOXEX; 4538 alias CBEN_GETDISPINFOW CBEN_GETDISPINFO; 4539 alias CBEN_DRAGBEGINW CBEN_DRAGBEGIN; 4540 alias NMCBEDRAGBEGINW NMCBEDRAGBEGIN; 4541 alias LPNMCBEDRAGBEGINW LPNMCBEDRAGBEGIN; 4542 alias PNMCBEDRAGBEGINW PNMCBEDRAGBEGIN; 4543 } 4544 4545 alias SB_GETTEXTW SB_GETTEXT; 4546 alias SB_SETTEXTW SB_SETTEXT; 4547 alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH; 4548 alias HDM_INSERTITEMW HDM_INSERTITEM; 4549 alias HDM_GETITEMW HDM_GETITEM; 4550 alias HDM_SETITEMW HDM_SETITEM; 4551 alias HDN_ITEMCHANGINGW HDN_ITEMCHANGING; 4552 alias HDN_ITEMCHANGEDW HDN_ITEMCHANGED; 4553 alias HDN_ITEMCLICKW HDN_ITEMCLICK; 4554 alias HDN_ITEMDBLCLICKW HDN_ITEMDBLCLICK; 4555 alias HDN_DIVIDERDBLCLICKW HDN_DIVIDERDBLCLICK; 4556 alias HDN_BEGINTRACKW HDN_BEGINTRACK; 4557 alias HDN_ENDTRACKW HDN_ENDTRACK; 4558 alias HDN_TRACKW HDN_TRACK; 4559 4560 static if (_WIN32_IE >= 0x300) { 4561 alias HDN_GETDISPINFOW HDN_GETDISPINFO; 4562 } 4563 4564 alias HD_NOTIFYW HD_NOTIFY; 4565 alias TBSAVEPARAMSW TBSAVEPARAMS; 4566 alias TB_GETBUTTONTEXTW TB_GETBUTTONTEXT; 4567 alias TB_SAVERESTOREW TB_SAVERESTORE; 4568 alias TB_ADDSTRINGW TB_ADDSTRING; 4569 4570 static if (_WIN32_IE >= 0x400) { 4571 alias TBN_GETBUTTONINFOW TBN_GETBUTTONINFO; // fixme 4572 alias TB_GETBUTTONINFOW TB_GETBUTTONINFO; 4573 alias TB_SETBUTTONINFOW TB_SETBUTTONINFO; 4574 alias TB_INSERTBUTTONW TB_INSERTBUTTON; 4575 alias TB_ADDBUTTONSW TB_ADDBUTTONS; 4576 alias TB_MAPACCELERATORW TB_MAPACCELERATOR; 4577 alias TB_GETSTRINGW TB_GETSTRING; 4578 alias TBBUTTONINFOW TBBUTTONINFO; 4579 alias LPTBBUTTONINFOW LPTBBUTTONINFO; 4580 alias TBN_GETDISPINFOW TBN_GETDISPINFO; 4581 alias NMTBDISPINFOW NMTBDISPINFO; 4582 alias LPNMTBDISPINFOW LPNMTBDISPINFO; 4583 alias NMTBGETINFOTIPW NMTBGETINFOTIP; 4584 alias LPNMTBGETINFOTIPW LPNMTBGETINFOTIP; 4585 } 4586 4587 alias TBNOTIFYW TBNOTIFY; 4588 alias LPTBNOTIFYW LPTBNOTIFY; 4589 alias NMTOOLBARW NMTOOLBAR; 4590 alias LPNMTOOLBARW LPNMTOOLBAR; 4591 alias TTM_ADDTOOLW TTM_ADDTOOL; 4592 alias TTM_DELTOOLW TTM_DELTOOL; 4593 alias TTM_NEWTOOLRECTW TTM_NEWTOOLRECT; 4594 alias TTM_GETTOOLINFOW TTM_GETTOOLINFO; 4595 alias TTM_SETTOOLINFOW TTM_SETTOOLINFO; 4596 alias TTM_HITTESTW TTM_HITTEST; 4597 alias TTM_GETTEXTW TTM_GETTEXT; 4598 alias TTM_UPDATETIPTEXTW TTM_UPDATETIPTEXT; 4599 alias TTM_ENUMTOOLSW TTM_ENUMTOOLS; 4600 alias TTM_GETCURRENTTOOLW TTM_GETCURRENTTOOL; 4601 alias TTN_NEEDTEXTW TTN_NEEDTEXT; 4602 alias TTN_GETDISPINFOW TTN_GETDISPINFO; 4603 //alias SB_GETTEXTW SB_GETTEXT; 4604 //alias SB_SETTEXTW SB_SETTEXT; 4605 //alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH; 4606 alias LV_ITEMW LV_ITEM; 4607 alias LVITEMW LVITEM; 4608 alias LVITEM* LPLVITEM; 4609 alias LPSTR_TEXTCALLBACKW LPSTR_TEXTCALLBACK; 4610 4611 static if (_WIN32_IE >= 0x400) { 4612 alias LVBKIMAGEW LVBKIMAGE; 4613 alias LPLVBKIMAGEW LPLVBKIMAGE; 4614 alias LVM_SETBKIMAGEW LVM_SETBKIMAGE; 4615 alias LVM_GETBKIMAGEW LVM_GETBKIMAGE; 4616 } 4617 4618 alias LVM_GETITEMW LVM_GETITEM; 4619 alias LVM_SETITEMW LVM_SETITEM; 4620 alias LVM_INSERTITEMW LVM_INSERTITEM; 4621 alias LV_FINDINFOW LV_FINDINFO; 4622 alias LVFINDINFOW LVFINDINFO; 4623 alias LPFINDINFOW LPFINDINFO; 4624 alias NMLVFINDITEMW NMLVFINDITEM; 4625 alias PNMLVFINDITEMW PNMLVFINDITEM; 4626 alias LPNMLVFINDITEMW LPNMLVFINDITEM; 4627 alias LVM_FINDITEMW LVM_FINDITEM; 4628 alias LVM_GETSTRINGWIDTHW LVM_GETSTRINGWIDTH; 4629 alias LVM_EDITLABELW LVM_EDITLABEL; 4630 alias LV_COLUMNW LV_COLUMN; 4631 alias LVCOLUMNW LVCOLUMN; 4632 alias LVCOLUMNW* LPLVCOLUMN; 4633 alias LVM_GETCOLUMNW LVM_GETCOLUMN; 4634 alias LVM_SETCOLUMNW LVM_SETCOLUMN; 4635 alias LVM_INSERTCOLUMNW LVM_INSERTCOLUMN; 4636 alias LVM_GETITEMTEXTW LVM_GETITEMTEXT; 4637 alias LVM_SETITEMTEXTW LVM_SETITEMTEXT; 4638 alias LVM_GETISEARCHSTRINGW LVM_GETISEARCHSTRING; 4639 alias LVN_BEGINLABELEDITW LVN_BEGINLABELEDIT; 4640 alias LVN_ENDLABELEDITW LVN_ENDLABELEDIT; 4641 alias LVN_GETDISPINFOW LVN_GETDISPINFO; 4642 alias LVN_SETDISPINFOW LVN_SETDISPINFO; 4643 4644 static if (_WIN32_IE >= 0x400) { 4645 alias LVN_GETINFOTIPW LVN_GETINFOTIP; 4646 alias NMLVGETINFOTIPW NMLVGETINFOTIP; 4647 alias LPNMLVGETINFOTIPW LPNMLVGETINFOTIP; 4648 } 4649 4650 alias LV_DISPINFOW LV_DISPINFO; 4651 alias NMLVDISPINFOW NMLVDISPINFO; 4652 alias LPNMLVDISPINFOW LPNMLVDISPINFO; 4653 alias TVM_INSERTITEMW TVM_INSERTITEM; 4654 alias TVM_GETITEMW TVM_GETITEM; 4655 alias TVM_SETITEMW TVM_SETITEM; 4656 alias TVM_EDITLABELW TVM_EDITLABEL; 4657 alias TVM_GETISEARCHSTRINGW TVM_GETISEARCHSTRING; 4658 alias NMTVDISPINFOW TV_DISPINFO; 4659 alias NMTVDISPINFOW NMTVDISPINFO; 4660 alias LPNMTVDISPINFOW LPNMTVDISPINFO; 4661 4662 static if (_WIN32_IE >= 0x400) { 4663 alias NMTVGETINFOTIPW NMTVGETINFOTIP; 4664 alias LPNMTVGETINFOTIPW LPNMTVGETINFOTIP; 4665 alias TVN_GETINFOTIPW TVN_GETINFOTIP; 4666 } 4667 4668 alias TVN_SELCHANGINGW TVN_SELCHANGING; 4669 alias TVN_SELCHANGEDW TVN_SELCHANGED; 4670 alias TVN_GETDISPINFOW TVN_GETDISPINFO; 4671 alias TVN_SETDISPINFOW TVN_SETDISPINFO; 4672 alias TVN_ITEMEXPANDINGW TVN_ITEMEXPANDING; 4673 alias TVN_ITEMEXPANDEDW TVN_ITEMEXPANDED; 4674 alias TVN_BEGINDRAGW TVN_BEGINDRAG; 4675 alias TVN_BEGINRDRAGW TVN_BEGINRDRAG; 4676 alias TVN_DELETEITEMW TVN_DELETEITEM; 4677 alias TVN_BEGINLABELEDITW TVN_BEGINLABELEDIT; 4678 alias TVN_ENDLABELEDITW TVN_ENDLABELEDIT; 4679 alias TC_ITEMHEADERW TC_ITEMHEADER; 4680 alias TC_ITEMW TC_ITEM; 4681 alias TCITEMW TCITEM; 4682 alias LPTCITEMW LPTCITEM; 4683 alias TCM_GETITEMW TCM_GETITEM; 4684 alias TCM_SETITEMW TCM_SETITEM; 4685 alias TCM_INSERTITEMW TCM_INSERTITEM; 4686 alias CreateStatusWindowW CreateStatusWindow; 4687 alias DrawStatusTextW DrawStatusText; 4688 alias ImageList_LoadImageW ImageList_LoadImage; 4689 alias DTM_SETFORMATW DTM_SETFORMAT; 4690 alias DTN_USERSTRINGW DTN_USERSTRING; 4691 alias DTN_WMKEYDOWNW DTN_WMKEYDOWN; 4692 alias DTN_FORMATW DTN_FORMAT; 4693 alias DTN_FORMATQUERYW DTN_FORMATQUERY; 4694 alias REBARBANDINFOW REBARBANDINFO; 4695 alias REBARBANDINFO* LPREBARBANDINFO; 4696 alias LPCREBARBANDINFOW LPCREBARBANDINFO; 4697 alias REBARBANDINFOW_V3_SIZE REBARBANDINFO_V3_SIZE; 4698 alias RB_INSERTBANDW RB_INSERTBAND; 4699 alias RB_SETBANDINFOW RB_SETBANDINFO; 4700 } else { 4701 alias HDITEMA HDITEM; 4702 alias LPHDITEMA LPHDITEM; 4703 alias TOOLINFOA TOOLINFO; 4704 alias TOOLINFOA* PTOOLINFO, LPTOOLINFO; 4705 alias TTHITTESTINFOA TTHITTESTINFO; 4706 alias TTHITTESTINFOA* LPHITTESTINFO, LPTTHITTESTINFO; 4707 alias TOOLTIPTEXTA TOOLTIPTEXT; 4708 alias TOOLTIPTEXTA* LPTOOLTIPTEXT; 4709 alias NMTTDISPINFOA NMTTDISPINFO; 4710 alias NMTTDISPINFOA* LPNMTTDISPINFO; 4711 alias TV_ITEMA TV_ITEM; 4712 alias TV_ITEMA* LPTV_ITEM; 4713 alias TVITEMA TVITEM; 4714 alias TVITEMA* LPTVITEM; 4715 4716 static if (_WIN32_IE >= 0x400) { 4717 alias TVITEMEXA TVITEMEX; 4718 alias TVITEMEXA* LPTVITEMEX; 4719 } 4720 4721 alias TV_INSERTSTRUCTA TV_INSERTSTRUCT; 4722 alias TV_INSERTSTRUCTA* LPTV_INSERTSTRUCT; 4723 alias TVINSERTSTRUCTA TVINSERTSTRUCT; 4724 alias TVINSERTSTRUCTA* LPTVINSERTSTRUCT; 4725 alias NM_TREEVIEWA NM_TREEVIEW; 4726 alias NM_TREEVIEWA* LPNM_TREEVIEW; 4727 alias NMTREEVIEWA NMTREEVIEW; 4728 alias NMTREEVIEWA* LPNMTREEVIEW; 4729 alias NMHDDISPINFOW NMHDDISPINFO; 4730 alias NMHDDISPINFOW* LPNMHDDISPINFO; 4731 4732 alias ACM_OPENA ACM_OPEN; 4733 alias COMBOBOXEXITEMA COMBOBOXEXITEM; 4734 alias PCOMBOBOXEXITEMA PCOMBOBOXEXITEM; 4735 //alias PCCOMBOBOXEXITEMA PCCOMBOBOXEXITEM; fixme 4736 alias CBEM_INSERTITEMA CBEM_INSERTITEM; 4737 alias CBEM_SETITEMA CBEM_SETITEM; 4738 alias CBEM_GETITEMA CBEM_GETITEM; 4739 alias CBEN_ENDEDITA CBEN_ENDEDIT; 4740 alias NMCBEENDEDITA NMCBEENDEDIT; 4741 alias LPNMCBEENDEDITA LPNMCBEENDEDIT; 4742 alias PNMCBEENDEDITA PNMCBEENDEDIT; 4743 4744 static if (_WIN32_IE >= 0x400) { 4745 alias TB_GETBUTTONINFOA TB_GETBUTTONINFO; 4746 alias TB_SETBUTTONINFOA TB_SETBUTTONINFO; 4747 alias TB_INSERTBUTTONA TB_INSERTBUTTON; 4748 alias TB_ADDBUTTONSA TB_ADDBUTTONS; 4749 alias TB_MAPACCELERATORA TB_MAPACCELERATOR; 4750 alias TB_GETSTRINGA TB_GETSTRING; 4751 alias NMCOMBOBOXEXA NMCOMBOBOXEX; 4752 alias PNMCOMBOBOXEXA PNMCOMBOBOXEX; 4753 alias CBEN_DRAGBEGINA CBEN_DRAGBEGIN; 4754 alias CBEN_GETDISPINFOA CBEN_GETDISPINFO; 4755 alias NMCBEDRAGBEGINA NMCBEDRAGBEGIN; 4756 alias LPNMCBEDRAGBEGINA LPNMCBEDRAGBEGIN; 4757 alias PNMCBEDRAGBEGINA PNMCBEDRAGBEGIN; 4758 alias TBN_GETDISPINFOA TBN_GETDISPINFO; 4759 alias NMTBDISPINFOA NMTBDISPINFO; 4760 alias LPNMTBDISPINFOA LPNMTBDISPINFO; 4761 alias NMTBGETINFOTIPA NMTBGETINFOTIP; 4762 alias LPNMTBGETINFOTIPA LPNMTBGETINFOTIP; 4763 } 4764 4765 alias SB_GETTEXTA SB_GETTEXT; 4766 alias SB_SETTEXTA SB_SETTEXT; 4767 alias SB_GETTEXTLENGTHA SB_GETTEXTLENGTH; 4768 alias HDM_INSERTITEMA HDM_INSERTITEM; 4769 alias HDM_GETITEMA HDM_GETITEM; 4770 alias HDM_SETITEMA HDM_SETITEM; 4771 alias HDN_ITEMCHANGINGA HDN_ITEMCHANGING; 4772 alias HDN_ITEMCHANGEDA HDN_ITEMCHANGED; 4773 alias HDN_ITEMCLICKA HDN_ITEMCLICK; 4774 alias HDN_ITEMDBLCLICKA HDN_ITEMDBLCLICK; 4775 alias HDN_DIVIDERDBLCLICKA HDN_DIVIDERDBLCLICK; 4776 alias HDN_BEGINTRACKA HDN_BEGINTRACK; 4777 alias HDN_ENDTRACKA HDN_ENDTRACK; 4778 alias HDN_TRACKA HDN_TRACK; 4779 4780 static if (_WIN32_IE >= 0x300) { 4781 alias HDN_GETDISPINFOA HDN_GETDISPINFO; 4782 } 4783 4784 alias HD_NOTIFYA HD_NOTIFY; 4785 alias TBSAVEPARAMSA TBSAVEPARAMS; 4786 alias TB_GETBUTTONTEXTA TB_GETBUTTONTEXT; 4787 alias TB_SAVERESTOREA TB_SAVERESTORE; 4788 alias TB_ADDSTRINGA TB_ADDSTRING; 4789 alias TBN_GETBUTTONINFOA TBN_GETBUTTONINFO; 4790 4791 static if (_WIN32_IE >= 0x400) { 4792 alias TBBUTTONINFOA TBBUTTONINFO; 4793 alias LPTBBUTTONINFOA LPTBBUTTONINFO; 4794 } 4795 4796 alias TBNOTIFYA TBNOTIFY; 4797 alias LPTBNOTIFYA LPTBNOTIFY; 4798 alias NMTOOLBARA NMTOOLBAR; 4799 alias LPNMTOOLBARA LPNMTOOLBAR; 4800 alias TTM_ADDTOOLA TTM_ADDTOOL; 4801 alias TTM_DELTOOLA TTM_DELTOOL; 4802 alias TTM_NEWTOOLRECTA TTM_NEWTOOLRECT; 4803 alias TTM_GETTOOLINFOA TTM_GETTOOLINFO; 4804 alias TTM_SETTOOLINFOA TTM_SETTOOLINFO; 4805 alias TTM_HITTESTA TTM_HITTEST; 4806 alias TTM_GETTEXTA TTM_GETTEXT; 4807 alias TTM_UPDATETIPTEXTA TTM_UPDATETIPTEXT; 4808 alias TTM_ENUMTOOLSA TTM_ENUMTOOLS; 4809 alias TTM_GETCURRENTTOOLA TTM_GETCURRENTTOOL; 4810 alias TTN_NEEDTEXTA TTN_NEEDTEXT; 4811 alias TTN_GETDISPINFOA TTN_GETDISPINFO; 4812 alias LV_ITEMA LV_ITEM; 4813 alias LVITEMA LVITEM; 4814 alias LVITEM* LPLVITEM; 4815 alias LPSTR_TEXTCALLBACKA LPSTR_TEXTCALLBACK; 4816 4817 static if (_WIN32_IE >= 0x400) { 4818 alias LVBKIMAGEA LVBKIMAGE; 4819 alias LPLVBKIMAGEA LPLVBKIMAGE; 4820 alias LVM_SETBKIMAGEA LVM_SETBKIMAGE; 4821 alias LVM_GETBKIMAGEA LVM_GETBKIMAGE; 4822 } 4823 4824 alias LVM_GETITEMA LVM_GETITEM; 4825 alias LVM_SETITEMA LVM_SETITEM; 4826 alias LVM_INSERTITEMA LVM_INSERTITEM; 4827 alias LV_FINDINFOA LV_FINDINFO; 4828 alias LVFINDINFOA LVFINDINFO; 4829 alias LPFINDINFOA LPFINDINFO; 4830 alias NMLVFINDITEMA NMLVFINDITEM; 4831 alias PNMLVFINDITEMA PNMLVFINDITEM; 4832 alias LPNMLVFINDITEMA LPNMLVFINDITEM; 4833 alias LVM_FINDITEMA LVM_FINDITEM; 4834 alias LVM_GETSTRINGWIDTHA LVM_GETSTRINGWIDTH; 4835 alias LVM_EDITLABELA LVM_EDITLABEL; 4836 alias LV_COLUMNA LV_COLUMN; 4837 alias LVCOLUMNA LVCOLUMN; 4838 alias LVCOLUMNA* LPLVCOLUMN; 4839 alias LVM_GETCOLUMNA LVM_GETCOLUMN; 4840 alias LVM_SETCOLUMNA LVM_SETCOLUMN; 4841 alias LVM_INSERTCOLUMNA LVM_INSERTCOLUMN; 4842 alias LVM_GETITEMTEXTA LVM_GETITEMTEXT; 4843 alias LVM_SETITEMTEXTA LVM_SETITEMTEXT; 4844 alias LVM_GETISEARCHSTRINGA LVM_GETISEARCHSTRING; 4845 alias LVN_BEGINLABELEDITA LVN_BEGINLABELEDIT; 4846 alias LVN_ENDLABELEDITA LVN_ENDLABELEDIT; 4847 alias LVN_GETDISPINFOA LVN_GETDISPINFO; 4848 alias LVN_SETDISPINFOA LVN_SETDISPINFO; 4849 4850 static if (_WIN32_IE >= 0x400) { 4851 alias LVN_GETINFOTIPA LVN_GETINFOTIP; 4852 alias NMLVGETINFOTIPA NMLVGETINFOTIP; 4853 alias LPNMLVGETINFOTIPA LPNMLVGETINFOTIP; 4854 } 4855 4856 alias LV_DISPINFOA LV_DISPINFO; 4857 alias NMLVDISPINFOA NMLVDISPINFO; 4858 alias LPNMLVDISPINFOA LPNMLVDISPINFO; 4859 alias TVM_INSERTITEMA TVM_INSERTITEM; 4860 alias TVM_GETITEMA TVM_GETITEM; 4861 alias TVM_SETITEMA TVM_SETITEM; 4862 alias TVM_EDITLABELA TVM_EDITLABEL; 4863 alias TVM_GETISEARCHSTRINGA TVM_GETISEARCHSTRING; 4864 alias NMTVDISPINFOA TV_DISPINFO; 4865 alias NMTVDISPINFOA NMTVDISPINFO; 4866 alias LPNMTVDISPINFOA LPNMTVDISPINFO; 4867 4868 static if (_WIN32_IE >= 0x400) { 4869 alias NMTVGETINFOTIPA NMTVGETINFOTIP; 4870 alias LPNMTVGETINFOTIPA LPNMTVGETINFOTIP; 4871 alias TVN_GETINFOTIPA TVN_GETINFOTIP; 4872 } 4873 4874 alias TVN_SELCHANGINGA TVN_SELCHANGING; 4875 alias TVN_SELCHANGEDA TVN_SELCHANGED; 4876 alias TVN_GETDISPINFOA TVN_GETDISPINFO; 4877 alias TVN_SETDISPINFOA TVN_SETDISPINFO; 4878 alias TVN_ITEMEXPANDINGA TVN_ITEMEXPANDING; 4879 alias TVN_ITEMEXPANDEDA TVN_ITEMEXPANDED; 4880 alias TVN_BEGINDRAGA TVN_BEGINDRAG; 4881 alias TVN_BEGINRDRAGA TVN_BEGINRDRAG; 4882 alias TVN_DELETEITEMA TVN_DELETEITEM; 4883 alias TVN_BEGINLABELEDITA TVN_BEGINLABELEDIT; 4884 alias TVN_ENDLABELEDITA TVN_ENDLABELEDIT; 4885 alias TC_ITEMHEADERA TC_ITEMHEADER; 4886 alias TC_ITEMA TC_ITEM; 4887 alias TCITEMA TCITEM; 4888 alias LPTCITEMA LPTCITEM; 4889 alias TCM_GETITEMA TCM_GETITEM; 4890 alias TCM_SETITEMA TCM_SETITEM; 4891 alias TCM_INSERTITEMA TCM_INSERTITEM; 4892 alias CreateStatusWindowA CreateStatusWindow; 4893 alias DrawStatusTextA DrawStatusText; 4894 alias ImageList_LoadImageA ImageList_LoadImage; 4895 alias DTM_SETFORMATA DTM_SETFORMAT; 4896 alias DTN_USERSTRINGA DTN_USERSTRING; 4897 alias DTN_WMKEYDOWNA DTN_WMKEYDOWN; 4898 alias DTN_FORMATA DTN_FORMAT; 4899 alias DTN_FORMATQUERYA DTN_FORMATQUERY; 4900 alias REBARBANDINFOA REBARBANDINFO; 4901 alias REBARBANDINFOA* LPREBARBANDINFO; 4902 alias LPCREBARBANDINFOA LPCREBARBANDINFO; 4903 alias REBARBANDINFOA_V3_SIZE REBARBANDINFO_V3_SIZE; 4904 alias RB_INSERTBANDA RB_INSERTBAND; 4905 alias RB_SETBANDINFOA RB_SETBANDINFO; 4906 } 4907 4908 4909 extern (Windows) { 4910 alias INT function(PVOID, PVOID) PFNDPAENUMCALLBACK; 4911 alias INT function(PVOID, PVOID) PFNDSAENUMCALLBACK; 4912 alias INT function(PVOID, PVOID, LPARAM) PFNDPACOMPARE; 4913 } 4914 4915 static if (_WIN32_WINNT >= 0x501) { 4916 extern (Windows) 4917 alias LRESULT function(HWND, UINT, WPARAM, LPARAM, UINT_PTR, DWORD_PTR) 4918 SUBCLASSPROC; 4919 4920 struct LITEM { 4921 UINT mask; 4922 int iLink; 4923 UINT state; 4924 UINT stateMask; 4925 WCHAR[MAX_LINKID_TEXT] szID = 0; 4926 WCHAR[L_MAX_URL_LENGTH] szUrl = 0; 4927 } 4928 alias LITEM* PLITEM; 4929 4930 struct LHITTESTINFO { 4931 POINT pt; 4932 LITEM item; 4933 } 4934 alias LHITTESTINFO* PLHITTESTINFO; 4935 4936 struct NMLINK { 4937 NMHDR hdr; 4938 LITEM item; 4939 } 4940 alias NMLINK* PNMLINK; 4941 } 4942 4943 uint INDEXTOOVERLAYMASK()(uint i) { return i << 8; } 4944 uint INDEXTOSTATEIMAGEMASK()(uint i) { return i << 12; } 4945 4946 template HANDLE_WM_NOTIFY(R) { 4947 private alias _prm_HANDLE_WM_NOTIFY = extern (Windows) 4948 R function(HWND, int, NMHDR*); // to inject linkage type 4949 R HANDLE_WM_NOTIFY()(HWND hwnd, WPARAM wParam, LPARAM lParam, _prm_HANDLE_WM_NOTIFY fn) { 4950 return fn(hwnd, wParam, cast(NMHDR*) lParam); 4951 } 4952 } 4953 private alias _prm_FORWARD_WM_NOTIFY = extern (Windows) 4954 LRESULT function(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); // to inject linkage type 4955 LRESULT FORWARD_WM_NOTIFY()(HWND hwnd, int idFrom, NMHDR* pnmhdr, _prm_FORWARD_WM_NOTIFY fn) { 4956 return fn(hwnd, WM_NOTIFY, idFrom, cast(LPARAM) pnmhdr); 4957 } 4958 4959 //#define CCSIZEOF_STRUCT(s, m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m)) 4960 4961 LPARAM MAKEIPADDRESS()(ubyte b1, ubyte b2, ubyte b3, ubyte b4) { 4962 return (cast(DWORD) b1 << 24) 4963 | (cast(DWORD) b2 << 16) 4964 | (cast(DWORD) b3 << 8) 4965 | (cast(DWORD) b4); 4966 } 4967 4968 LPARAM MAKEIPRANGE()(ubyte low, ubyte high) { 4969 return (cast(int) high << 8) | low; 4970 } 4971 4972 ubyte FIRST_IPADDRESS()(LPARAM x) { 4973 return cast(ubyte) (x >> 24); 4974 } 4975 4976 ubyte SECOND_IPADDRESS()(LPARAM x) { 4977 return cast(ubyte) (x >> 16); 4978 } 4979 4980 ubyte THIRD_IPADDRESS()(LPARAM x) { 4981 return cast(ubyte) (x >> 8); 4982 } 4983 4984 ubyte FOURTH_IPADDRESS()(LPARAM x) { 4985 return cast(ubyte) x; 4986 } 4987 4988 HWND Animate_Create()(HWND hwndP, UINT id, DWORD dwStyle, 4989 HINSTANCE hInstance) { 4990 return CreateWindow(cast(TCHAR*)ANIMATE_CLASS.ptr, null, dwStyle, 0, 0, 0, 0, hwndP, 4991 cast(HMENU) id, hInstance, null); 4992 } 4993 4994 BOOL Animate_Open()(HWND hwnd, LPTSTR szName) { 4995 return cast(BOOL) SendMessage(hwnd, ACM_OPEN, 0, cast(LPARAM) szName); 4996 } 4997 4998 BOOL Animate_OpenEx()(HWND hwnd, HINSTANCE hInst, LPTSTR szName) { 4999 return cast(BOOL) SendMessage(hwnd, ACM_OPEN, cast(WPARAM) hInst, 5000 cast(LPARAM) szName); 5001 } 5002 5003 BOOL Animate_Play()(HWND hwnd, int from, int to, int rep) { 5004 return cast(BOOL) SendMessage(hwnd, ACM_PLAY, rep, 5005 MAKELONG(cast(ushort) from, cast(ushort) to)); 5006 } 5007 5008 BOOL Animate_Stop()(HWND hwnd) { 5009 return cast(BOOL) SendMessage(hwnd, ACM_STOP, 0, 0); 5010 } 5011 5012 BOOL Animate_Close()(HWND hwnd) { 5013 return Animate_Open(hwnd, null); 5014 } 5015 5016 BOOL Animate_Seek()(HWND hwnd, int frame) { 5017 return Animate_Play(hwnd, frame, frame, 1); 5018 } 5019 5020 extern (Windows) { 5021 HBITMAP CreateMappedBitmap(HINSTANCE, INT_PTR, UINT, LPCOLORMAP, int); 5022 HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT); 5023 HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT); 5024 HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINSTANCE, UINT_PTR, 5025 LPCTBBUTTON, int, int, int, int, int, UINT); 5026 HWND CreateUpDownControl(DWORD, int, int, int, int, HWND, int, HINSTANCE, 5027 HWND, int, int, int); 5028 } 5029 5030 HWND DateTime_GetMonthCal()(HWND hwnd) { 5031 return cast(HWND) SendMessage(hwnd, DTM_GETMONTHCAL, 0, 0); 5032 } 5033 5034 COLORREF DateTime_GetMonthCalColor()(HWND hwnd, int iColor) { 5035 return cast(COLORREF) SendMessage(hwnd, DTM_GETMCCOLOR, iColor, 0); 5036 } 5037 5038 HFONT DateTime_GetMonthCalFont()(HWND hwnd) { 5039 return cast(HFONT) SendMessage(hwnd, DTM_GETMCFONT, 0, 0); 5040 } 5041 5042 DWORD DateTime_GetRange()(HWND hwnd, LPSYSTEMTIME lpSysTimeArray) { 5043 return cast(DWORD) SendMessage(hwnd, DTM_GETRANGE, 0, cast(LPARAM) lpSysTimeArray); 5044 } 5045 5046 DWORD DateTime_GetSystemtime()(HWND hwnd, LPSYSTEMTIME lpSysTime) { 5047 return cast(DWORD) SendMessage(hwnd, DTM_GETSYSTEMTIME, 0, cast(LPARAM) lpSysTime); 5048 } 5049 5050 BOOL DateTime_SetFormat()(HWND hwnd, LPCTSTR lpszFormat) { 5051 return cast(BOOL) SendMessage(hwnd, DTM_SETFORMAT, 0, 5052 cast(LPARAM) lpszFormat); 5053 } 5054 5055 LRESULT DateTime_SetMonthCalColor()(HWND hwnd, int iColor, COLORREF clr) { 5056 return SendMessage(hwnd, DTM_SETMCCOLOR, cast(WPARAM) iColor, 5057 cast(LPARAM) clr); 5058 } 5059 5060 void DateTime_SetMonthCalFont()(HWND hwnd, HFONT hfont, BOOL fRedraw) { 5061 SendMessage(hwnd, DTM_SETMCFONT, cast(WPARAM) hfont, fRedraw); 5062 } 5063 5064 BOOL DateTime_SetRange()(HWND hwnd, WPARAM flags, LPSYSTEMTIME lpSysTimeArray) { 5065 return cast(BOOL) SendMessage(hwnd, DTM_SETRANGE, flags, 5066 cast(LPARAM) lpSysTimeArray); 5067 } 5068 5069 BOOL DateTime_SetSystemtime()(HWND hwnd, WPARAM flag, LPSYSTEMTIME lpSysTime) { 5070 return cast(BOOL) SendMessage(hwnd, DTM_SETSYSTEMTIME, flag, 5071 cast(LPARAM) lpSysTime); 5072 } 5073 5074 extern (Windows) { 5075 void DrawInsert(HWND, HWND, int); 5076 void DrawStatusTextA(HDC, LPRECT, LPCSTR, UINT); 5077 void DrawStatusTextW(HDC, LPRECT, LPCWSTR, UINT); 5078 void GetEffectiveClientRect(HWND, LPRECT, LPINT); 5079 } 5080 5081 int Header_GetItemCount()(HWND w) { 5082 return cast(int) SendMessage(w, HDM_GETITEMCOUNT, 0, 0); 5083 } 5084 5085 int Header_InsertItem()(HWND w, int i, const(HDITEM)* phdi) { 5086 return cast(int) SendMessage(w, HDM_INSERTITEM, i, cast(LPARAM) phdi); 5087 } 5088 5089 BOOL Header_DeleteItem()(HWND w, int i) { 5090 return cast(BOOL) SendMessage(w, HDM_DELETEITEM, i, 0); 5091 } 5092 5093 BOOL Header_GetItem()(HWND w, int i, LPHDITEM phdi) { 5094 return cast(BOOL) SendMessage(w, HDM_GETITEM, i, cast(LPARAM) phdi); 5095 } 5096 5097 BOOL Header_SetItem()(HWND w, int i, const(HDITEM)* phdi) { 5098 return cast(BOOL) SendMessage(w, HDM_SETITEM, i, cast(LPARAM) phdi); 5099 } 5100 5101 BOOL Header_Layout()(HWND w, LPHDLAYOUT playout) { 5102 return cast(BOOL) SendMessage(w, HDM_LAYOUT, 0, cast(LPARAM) playout); 5103 } 5104 5105 static if (_WIN32_IE >= 0x300) { 5106 int Header_OrderToIndex()(HWND w, int i) { 5107 return cast(int) SendMessage(w, HDM_ORDERTOINDEX, i, 0); 5108 } 5109 5110 BOOL Header_GetItemRect()(HWND w, int i, RECT* r) { 5111 return cast(BOOL) SendMessage(w, HDM_GETITEMRECT, i, cast(LPARAM) r); 5112 } 5113 5114 BOOL Header_GetOrderArray()(HWND w, int iSize, LPINT lpiArray) { 5115 return cast(BOOL) SendMessage(w, HDM_GETORDERARRAY, iSize, 5116 cast(LPARAM) lpiArray); 5117 } 5118 5119 BOOL Header_SetOrderArray()(HWND w, int iSize, LPINT lpiArray) { 5120 return cast(BOOL) SendMessage(w, HDM_SETORDERARRAY, iSize, 5121 cast(LPARAM) lpiArray); 5122 } 5123 5124 HIMAGELIST Header_CreateDragImage()(HWND w, int i) { 5125 return cast(HIMAGELIST) SendMessage(w, HDM_CREATEDRAGIMAGE, i, 0); 5126 } 5127 5128 HIMAGELIST Header_SetImageList()(HWND w, HIMAGELIST himl) { 5129 return cast(HIMAGELIST) SendMessage(w, HDM_SETIMAGELIST, 0, 5130 cast(LPARAM) himl); 5131 } 5132 5133 HIMAGELIST Header_GetImageList()(HWND w) { 5134 return cast(HIMAGELIST) SendMessage(w, HDM_GETIMAGELIST, 0, 0); 5135 } 5136 } 5137 5138 static if (_WIN32_IE >= 0x400) { 5139 BOOL Header_GetUnicodeFormat()(HWND w) { 5140 return cast(BOOL) SendMessage(w, HDM_GETUNICODEFORMAT, 0, 0); 5141 } 5142 5143 BOOL Header_SetUnicodeFormat()(HWND w, BOOL fUnicode) { 5144 return cast(BOOL) SendMessage(w, HDM_SETUNICODEFORMAT, fUnicode, 0); 5145 } 5146 } 5147 5148 extern (Windows) { 5149 HDSA DSA_Create(INT, INT); 5150 BOOL DSA_Destroy(HDSA); 5151 VOID DSA_DestroyCallback(HDSA, PFNDSAENUMCALLBACK, PVOID); 5152 PVOID DSA_GetItemPtr(HDSA, INT); 5153 INT DSA_InsertItem(HDSA, INT, PVOID); 5154 HDPA DPA_Create(INT); 5155 BOOL DPA_Destroy(HDPA); 5156 PVOID DPA_DeletePtr(HDPA, INT); 5157 BOOL DPA_DeleteAllPtrs(HDPA); 5158 VOID DPA_EnumCallback(HDPA, PFNDPAENUMCALLBACK, PVOID); 5159 VOID DPA_DestroyCallback(HDPA, PFNDPAENUMCALLBACK, PVOID); 5160 BOOL DPA_SetPtr(HDPA, INT, PVOID); 5161 INT DPA_InsertPtr(HDPA, INT, PVOID); 5162 PVOID DPA_GetPtr(HDPA, INT_PTR); 5163 BOOL DPA_Sort(HDPA, PFNDPACOMPARE, LPARAM); 5164 INT DPA_Search(HDPA, PVOID, INT, PFNDPACOMPARE, LPARAM, UINT); 5165 BOOL Str_SetPtrW(LPWSTR*, LPCWSTR); 5166 5167 static if (_WIN32_IE >= 0x400) { 5168 BOOL FlatSB_EnableScrollBar(HWND, INT, UINT); 5169 BOOL FlatSB_ShowScrollBar(HWND, INT, BOOL); 5170 BOOL FlatSB_GetScrollRange(HWND, INT, LPINT, LPINT); 5171 BOOL FlatSB_GetScrollInfo(HWND, INT, LPSCROLLINFO); 5172 INT FlatSB_GetScrollPos(HWND, INT); 5173 BOOL FlatSB_GetScrollProp(HWND, INT, LPINT); 5174 version (Win64) { 5175 BOOL FlatSB_GetScrollPropPtr(HWND, INT, PINT_PTR); 5176 } else { 5177 alias FlatSB_GetScrollProp FlatSB_GetScrollPropPtr; 5178 } 5179 INT FlatSB_SetScrollPos(HWND, INT, INT, BOOL); 5180 INT FlatSB_SetScrollInfo(HWND, INT, LPSCROLLINFO, BOOL); 5181 INT FlatSB_SetScrollRange(HWND, INT, INT, INT, BOOL); 5182 BOOL FlatSB_SetScrollProp(HWND, UINT, INT_PTR, BOOL); 5183 alias FlatSB_SetScrollProp FlatSB_SetScrollPropPtr; 5184 BOOL InitializeFlatSB(HWND); 5185 HRESULT UninitializeFlatSB(HWND); 5186 } 5187 5188 static if (_WIN32_WINNT >= 0x501) { 5189 BOOL SetWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR); 5190 BOOL GetWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR*); 5191 BOOL RemoveWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR); 5192 LRESULT DefSubclassProc(HWND, UINT, WPARAM, LPARAM); 5193 INT DrawShadowText(HDC, LPCWSTR, UINT, RECT*, DWORD, COLORREF, 5194 COLORREF, INT, INT); 5195 } 5196 5197 int ImageList_Add(HIMAGELIST, HBITMAP, HBITMAP); 5198 int ImageList_AddMasked(HIMAGELIST, HBITMAP, COLORREF); 5199 BOOL ImageList_BeginDrag(HIMAGELIST, int, int, int); 5200 HIMAGELIST ImageList_Create(int, int, UINT, int, int); 5201 BOOL ImageList_Destroy(HIMAGELIST); 5202 BOOL ImageList_DragEnter(HWND, int, int); 5203 BOOL ImageList_DragLeave(HWND); 5204 BOOL ImageList_DragMove(int, int); 5205 BOOL ImageList_DragShowNolock(BOOL); 5206 BOOL ImageList_Draw(HIMAGELIST, int, HDC, int, int, UINT); 5207 BOOL ImageList_DrawEx(HIMAGELIST, int, HDC, int, int, int, int, COLORREF, 5208 COLORREF, UINT); 5209 void ImageList_EndDrag(); 5210 COLORREF ImageList_GetBkColor(HIMAGELIST); 5211 HIMAGELIST ImageList_GetDragImage(LPPOINT, LPPOINT); 5212 HICON ImageList_GetIcon(HIMAGELIST, int, UINT); 5213 BOOL ImageList_GetIconSize(HIMAGELIST, int*, int*); 5214 int ImageList_GetImageCount(HIMAGELIST); 5215 BOOL ImageList_GetImageInfo(HIMAGELIST, int, IMAGEINFO*); 5216 HIMAGELIST ImageList_LoadImageA(HINSTANCE, LPCSTR, int, int, COLORREF, 5217 UINT, UINT); 5218 HIMAGELIST ImageList_LoadImageW(HINSTANCE, LPCWSTR, int, int, COLORREF, 5219 UINT, UINT); 5220 HIMAGELIST ImageList_Merge(HIMAGELIST, int, HIMAGELIST, int, int, int); 5221 BOOL ImageList_Remove(HIMAGELIST, int); 5222 BOOL ImageList_Replace(HIMAGELIST, int, HBITMAP, HBITMAP); 5223 int ImageList_ReplaceIcon(HIMAGELIST, int, HICON); 5224 COLORREF ImageList_SetBkColor(HIMAGELIST, COLORREF); 5225 BOOL ImageList_SetDragCursorImage(HIMAGELIST, int, int, int); 5226 BOOL ImageList_SetIconSize(HIMAGELIST, int, int); 5227 BOOL ImageList_SetOverlayImage(HIMAGELIST, int, int); 5228 5229 //#ifdef _OBJIDL_H 5230 HIMAGELIST ImageList_Read(LPSTREAM); 5231 BOOL ImageList_Write(HIMAGELIST, LPSTREAM); 5232 //#endif 5233 5234 static if (_WIN32_IE >= 0x400) { 5235 HIMAGELIST ImageList_Duplicate(HIMAGELIST himl); 5236 } 5237 5238 void InitCommonControls(); 5239 5240 static if (_WIN32_IE >= 0x300) { 5241 BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX); 5242 } 5243 5244 int LBItemFromPt(HWND, POINT, BOOL); 5245 } 5246 5247 int ImageList_AddIcon()(HIMAGELIST himl, HICON hicon) { 5248 return ImageList_ReplaceIcon(himl, -1, hicon); 5249 } 5250 5251 HICON ImageList_ExtractIcon()(HINSTANCE hi, HIMAGELIST himl, int i) { 5252 return ImageList_GetIcon(himl, i, 0); 5253 } 5254 5255 HIMAGELIST ImageList_LoadBitmap()(HINSTANCE hi, LPCTSTR lpbmp, int cx, 5256 int cGrow, COLORREF crMask) { 5257 return ImageList_LoadImage(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0); 5258 } 5259 5260 BOOL ImageList_RemoveAll()(HIMAGELIST himl) { 5261 return ImageList_Remove(himl, -1); 5262 } 5263 5264 COLORREF ListView_GetBkColor()(HWND w) { 5265 return cast(COLORREF) SendMessage(w, LVM_GETBKCOLOR, 0, 0); 5266 } 5267 5268 HIMAGELIST ListView_GetImageList()(HWND w, int i) { 5269 return cast(HIMAGELIST) SendMessage(w, LVM_GETIMAGELIST, i, 0); 5270 } 5271 5272 int ListView_GetItemCount()(HWND w) { 5273 return cast(int) SendMessage(w, LVM_GETITEMCOUNT, 0, 0); 5274 } 5275 5276 BOOL ListView_GetItem()(HWND w, LPLVITEM pitem) { 5277 return cast(BOOL) SendMessage(w, LVM_GETITEM, 0, cast(LPARAM) pitem); 5278 } 5279 5280 BOOL ListView_SetBkColor()(HWND w, COLORREF c) { 5281 return cast(BOOL) SendMessage(w, LVM_SETBKCOLOR, 0, cast(LPARAM) c); 5282 } 5283 5284 HIMAGELIST ListView_SetImageList()(HWND w, HIMAGELIST h, int i) { 5285 return cast(HIMAGELIST) SendMessage(w, LVM_SETIMAGELIST, i, 5286 cast(LPARAM) h); 5287 } 5288 5289 BOOL ListView_SetItem()(HWND w, const(LV_ITEM)* i) { 5290 return cast(BOOL) SendMessage(w, LVM_SETITEM, 0, cast(LPARAM) i); 5291 } 5292 5293 int ListView_InsertItem()(HWND w, const(LV_ITEM)* i) { 5294 return cast(int) SendMessage(w, LVM_INSERTITEM, 0, cast(LPARAM) i); 5295 } 5296 5297 BOOL ListView_DeleteItem()(HWND w, int i) { 5298 return cast(BOOL) SendMessage(w, LVM_DELETEITEM, i, 0); 5299 } 5300 5301 BOOL ListView_DeleteAllItems()(HWND w) { 5302 return cast(BOOL) SendMessage(w, LVM_DELETEALLITEMS, 0, 0); 5303 } 5304 5305 UINT ListView_GetCallbackMask()(HWND w) { 5306 return cast(UINT) SendMessage(w, LVM_GETCALLBACKMASK, 0, 0); 5307 } 5308 5309 BOOL ListView_SetCallbackMask()(HWND w, UINT m) { 5310 return cast(BOOL) SendMessage(w, LVM_SETCALLBACKMASK, m, 0); 5311 } 5312 5313 int ListView_GetNextItem()(HWND w, int i, UINT f) { 5314 return cast(int) SendMessage(w, LVM_GETNEXTITEM, i, MAKELPARAM(cast(ushort)f, 0)); 5315 } 5316 5317 int ListView_FindItem()(HWND w, int i, const(LV_FINDINFO)* p) { 5318 return cast(int) SendMessage(w, LVM_FINDITEM, i, cast(LPARAM) p); 5319 } 5320 5321 BOOL ListView_GetItemRect()(HWND w, int i, LPRECT p, int c) { 5322 if (p) 5323 p.left = c; 5324 return cast(BOOL) SendMessage(w, LVM_GETITEMRECT, i, cast(LPARAM) p); 5325 } 5326 5327 BOOL ListView_SetItemPosition()(HWND w, int i, int x, int y) { 5328 return cast(BOOL) SendMessage(w, LVM_SETITEMPOSITION, i, MAKELPARAM(cast(ushort)x, cast(ushort)y)); 5329 } 5330 5331 BOOL ListView_GetItemPosition()(HWND w, int i, POINT* p) { 5332 return cast(BOOL) SendMessage(w, LVM_GETITEMPOSITION, i, cast(LPARAM) p); 5333 } 5334 5335 DWORD ListView_GetItemSpacing()(HWND w, BOOL f) { 5336 return cast(DWORD) SendMessage(w, LVM_GETITEMSPACING, f, 0); 5337 } 5338 5339 int ListView_GetStringWidth()(HWND w, LPCSTR s) { 5340 return cast(int) SendMessage(w, LVM_GETSTRINGWIDTH, 0, cast(LPARAM) s); 5341 } 5342 5343 int ListView_HitTest()(HWND w, LPLVHITTESTINFO p) { 5344 return cast(int) SendMessage(w, LVM_HITTEST, 0, cast(LPARAM) p); 5345 } 5346 5347 BOOL ListView_EnsureVisible()(HWND w, int i, BOOL f) { 5348 return cast(BOOL) SendMessage(w, LVM_ENSUREVISIBLE, i, MAKELPARAM(cast(ushort)f, 0)); 5349 } 5350 5351 BOOL ListView_Scroll()(HWND w, int dx, int dy) { 5352 return cast(BOOL) SendMessage(w, LVM_SCROLL, dx, dy); 5353 } 5354 5355 BOOL ListView_RedrawItems()(HWND w, int f, int l) { 5356 return cast(BOOL) SendMessage(w, LVM_REDRAWITEMS, f, l); 5357 } 5358 5359 BOOL ListView_Arrange()(HWND w, UINT c) { 5360 return cast(BOOL) SendMessage(w, LVM_ARRANGE, c, 0); 5361 } 5362 5363 HWND ListView_EditLabel()(HWND w, int i) { 5364 return cast(HWND) SendMessage(w, LVM_EDITLABEL, i, 0); 5365 } 5366 5367 HWND ListView_GetEditControl()(HWND w) { 5368 return cast(HWND) SendMessage(w, LVM_GETEDITCONTROL, 0, 0); 5369 } 5370 5371 BOOL ListView_GetColumn()(HWND w, int i, LPLVCOLUMN p) { 5372 return cast(BOOL) SendMessage(w, LVM_GETCOLUMN, i, cast(LPARAM) p); 5373 } 5374 5375 BOOL ListView_SetColumn()(HWND w, int i, const(LV_COLUMN)* p) { 5376 return cast(BOOL) SendMessage(w, LVM_SETCOLUMN, i, cast(LPARAM) p); 5377 } 5378 5379 int ListView_InsertColumn()(HWND w, int i, const(LV_COLUMN)* p) { 5380 return cast(int) SendMessage(w, LVM_INSERTCOLUMN, i, cast(LPARAM) p); 5381 } 5382 5383 BOOL ListView_DeleteColumn()(HWND w, int i) { 5384 return cast(BOOL) SendMessage(w, LVM_DELETECOLUMN, i, 0); 5385 } 5386 5387 int ListView_GetColumnWidth()(HWND w, int i) { 5388 return cast(int) SendMessage(w, LVM_GETCOLUMNWIDTH, i, 0); 5389 } 5390 5391 BOOL ListView_SetColumnWidth()(HWND w, int i, int x) { 5392 return cast(BOOL) SendMessage(w, LVM_SETCOLUMNWIDTH, i, MAKELPARAM(cast(ushort)x, 0)); 5393 } 5394 5395 HIMAGELIST ListView_CreateDragImage()(HWND w, int i, LPPOINT p) { 5396 return cast(HIMAGELIST) SendMessage(w, LVM_CREATEDRAGIMAGE, i, 5397 cast(LPARAM) p); 5398 } 5399 5400 BOOL ListView_GetViewRect()(HWND w, RECT* p) { 5401 return cast(BOOL) SendMessage(w, LVM_GETVIEWRECT, 0, cast(LPARAM) p); 5402 } 5403 5404 COLORREF ListView_GetTextColor()(HWND w) { 5405 return cast(COLORREF) SendMessage(w, LVM_GETTEXTCOLOR, 0, 0); 5406 } 5407 5408 BOOL ListView_SetTextColor()(HWND w, COLORREF c) { 5409 return cast(BOOL) SendMessage(w, LVM_SETTEXTCOLOR, 0, cast(LPARAM) c); 5410 } 5411 5412 COLORREF ListView_GetTextBkColor()(HWND w) { 5413 return cast(COLORREF) SendMessage(w, LVM_GETTEXTBKCOLOR, 0, 0); 5414 } 5415 5416 BOOL ListView_SetTextBkColor()(HWND w, COLORREF c) { 5417 return cast(BOOL) SendMessage(w, LVM_SETTEXTBKCOLOR, 0, cast(LPARAM) c); 5418 } 5419 5420 int ListView_GetTopIndex()(HWND w) { 5421 return cast(int) SendMessage(w, LVM_GETTOPINDEX, 0, 0); 5422 } 5423 5424 int ListView_GetCountPerPage()(HWND w) { 5425 return cast(int) SendMessage(w, LVM_GETCOUNTPERPAGE, 0, 0); 5426 } 5427 5428 BOOL ListView_GetOrigin()(HWND w, LPPOINT p) { 5429 return cast(BOOL) SendMessage(w, LVM_GETORIGIN, 0, cast(LPARAM) p); 5430 } 5431 5432 BOOL ListView_Update()(HWND w, WPARAM i) { 5433 return cast(BOOL) SendMessage(w, LVM_UPDATE, i, 0); 5434 } 5435 5436 void ListView_SetItemState()(HWND w, int i, UINT d, UINT m) { 5437 LV_ITEM _lvi; 5438 _lvi.stateMask = m; 5439 _lvi.state = d; 5440 SendMessage(w, LVM_SETITEMSTATE, i, cast(LPARAM) &_lvi); 5441 } 5442 5443 UINT ListView_GetItemState()(HWND w, int i, UINT m) { 5444 return cast(UINT) SendMessage(w, LVM_GETITEMSTATE, i, m); 5445 } 5446 5447 void ListView_GetItemText()(HWND w, int i, int iS, LPTSTR s, int n) { 5448 LV_ITEM _lvi; 5449 _lvi.iSubItem = iS; 5450 _lvi.cchTextMax = n; 5451 _lvi.pszText = s; 5452 SendMessage(w, LVM_GETITEMTEXT, i, cast(LPARAM) &_lvi); 5453 } 5454 5455 void ListView_SetItemText()(HWND w, int i, int iS, LPTSTR s) { 5456 LV_ITEM _lvi; 5457 _lvi.iSubItem = iS; 5458 _lvi.pszText = s; 5459 SendMessage(w, LVM_SETITEMTEXT, i, cast(LPARAM) &_lvi); 5460 } 5461 5462 void ListView_SetItemCount()(HWND w, int n) { 5463 SendMessage(w, LVM_SETITEMCOUNT, n, 0); 5464 } 5465 5466 BOOL ListView_SortItems()(HWND w, PFNLVCOMPARE f, LPARAM l) { 5467 return cast(BOOL) SendMessage(w, LVM_SORTITEMS, l, cast(LPARAM) f); 5468 } 5469 5470 void ListView_SetItemPosition32()(HWND w, int i, int x, int y) { 5471 POINT p; 5472 p.x = x; 5473 p.y = y; 5474 SendMessage(w, LVM_SETITEMPOSITION32, i, cast(LPARAM) &p); 5475 } 5476 5477 UINT ListView_GetSelectedCount()(HWND w) { 5478 return cast(UINT) SendMessage(w, LVM_GETSELECTEDCOUNT, 0, 0); 5479 } 5480 5481 UINT ListView_GetCheckState()(HWND w, UINT i) { 5482 return ((cast(UINT) SendMessage(w, LVM_GETITEMSTATE, i, LVIS_STATEIMAGEMASK)) >> 12) - 1; 5483 } 5484 5485 void ListView_SetCheckState()(HWND w, UINT i, BOOL f) { 5486 ListView_SetItemState(w, i, INDEXTOSTATEIMAGEMASK(f ? 2 : 1), 5487 LVIS_STATEIMAGEMASK); 5488 } 5489 5490 BOOL ListView_GetISearchString()(HWND w, LPSTR lpsz) { 5491 return cast(BOOL) SendMessage(w, LVM_GETISEARCHSTRING, 0, 5492 cast(LPARAM) lpsz); 5493 } 5494 5495 void ListView_CancelEditLabel()(HWND w) { 5496 SendMessage(w, LVM_CANCELEDITLABEL, 0, 0); 5497 } 5498 5499 int ListView_EnableGroupView()(HWND w, BOOL i) { 5500 return cast(int) SendMessage(w, LVM_ENABLEGROUPVIEW, i, 0); 5501 } 5502 5503 //static if (_WIN32_WINNT >= 0x500 || _WIN32_IE >= 0x500) { 5504 BOOL ListView_SortItemsEx()(HWND w, PFNLVCOMPARE c, LPARAM p) { 5505 return cast(BOOL) SendMessage(w, LVM_SORTITEMSEX, cast(WPARAM) p, cast(LPARAM)c); 5506 } 5507 //} 5508 5509 static if (_WIN32_WINNT >= 0x501) { 5510 int ListView_GetGroupInfo()(HWND w, int i, PLVGROUP p) { 5511 return cast(int) SendMessage(w, LVM_GETGROUPINFO, i, cast(LPARAM) p); 5512 } 5513 5514 void ListView_GetGroupMetrics()(HWND w, PLVGROUPMETRICS p) { 5515 SendMessage(w, LVM_GETGROUPMETRICS, 0, cast(LPARAM) p); 5516 } 5517 5518 BOOL ListView_GetInsertMark()(HWND w, PLVINSERTMARK p) { 5519 return cast(BOOL) SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPARAM) p); 5520 } 5521 5522 COLORREF ListView_GetInsertMarkColor()(HWND w) { 5523 return cast(COLORREF) SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 0); 5524 } 5525 5526 int ListView_GetInsertMarkRect()(HWND w, LPRECT p) { 5527 return cast(int) SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(LPARAM) p); 5528 } 5529 5530 COLORREF ListView_GetOutlineColor()(HWND w) { 5531 return cast(COLORREF) SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0); 5532 } 5533 5534 UINT ListView_GetSelectedColumn()(HWND w) { 5535 return cast(UINT) SendMessage(w, LVM_GETSELECTEDCOLUMN, 0, 0); 5536 } 5537 5538 void ListView_GetTileInfo()(HWND w, PLVTILEINFO p) { 5539 SendMessage(w, LVM_GETTILEINFO, 0, cast(LPARAM) p); 5540 } 5541 5542 void ListView_GetTileViewInfo()(HWND w, PLVTILEVIEWINFO p) { 5543 SendMessage(w, LVM_GETTILEVIEWINFO, 0, cast(LPARAM) p); 5544 } 5545 5546 DWORD ListView_GetView()(HWND w) { 5547 return cast(DWORD) SendMessage(w, LVM_GETVIEW, 0, 0); 5548 } 5549 5550 BOOL ListView_HasGroup()(HWND w, int i) { 5551 return cast(BOOL) SendMessage(w, LVM_HASGROUP, i, 0); 5552 } 5553 5554 int ListView_InsertGroup()(HWND w, int i, PLVGROUP p) { 5555 return cast(int) SendMessage(w, LVM_INSERTGROUP, i, cast(LPARAM) p); 5556 } 5557 5558 void ListView_InsertGroupSorted()(HWND w, PLVINSERTGROUPSORTED p) { 5559 SendMessage(w, LVM_INSERTGROUPSORTED, cast(WPARAM) p, 0); 5560 } 5561 5562 BOOL ListView_InsertMarkHitTest()(HWND w, LPPOINT p, PLVINSERTMARK t) { 5563 return cast(BOOL) SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPARAM) p, cast(LPARAM) t); 5564 } 5565 5566 BOOL ListView_IsGroupViewEnabled()(HWND w) { 5567 return cast(BOOL) SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0); 5568 } 5569 5570 UINT ListView_MapIDToIndex()(HWND w, UINT i) { 5571 return cast(UINT) SendMessage(w, LVM_MAPIDTOINDEX, i, 0); 5572 } 5573 5574 /* ??? MSDN documents this as "Not implemented", except in relation to 5575 * Windows CE/Mobile. 5576 */ 5577 void ListView_MoveGroup()(HWND w, int i, int t) { 5578 SendMessage(w, LVM_MOVEGROUP, i, t); 5579 } 5580 5581 void ListView_RemoveAllGroups()(HWND w) { 5582 SendMessage(w, LVM_REMOVEALLGROUPS, 0, 0); 5583 } 5584 5585 int ListView_RemoveGroup()(HWND w, int i) { 5586 return cast(int) SendMessage(w, LVM_REMOVEGROUP, i, 0); 5587 } 5588 5589 int ListView_SetGroupInfo()(HWND w, int i, PLVGROUP p) { 5590 return cast(int) SendMessage(w, LVM_SETGROUPINFO, i, cast(LPARAM) p); 5591 } 5592 5593 void ListView_SetGroupMetrics()(HWND w, PLVGROUPMETRICS p) { 5594 SendMessage(w, LVM_SETGROUPMETRICS, 0, cast(LPARAM) p); 5595 } 5596 5597 BOOL ListView_SetInfoTip()(HWND w, PLVSETINFOTIP p) { 5598 return cast(BOOL) SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) p); 5599 } 5600 5601 BOOL ListView_SetInsertMark()(HWND w, PLVINSERTMARK p) { 5602 return cast(BOOL) SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPARAM) p); 5603 } 5604 5605 COLORREF ListView_SetInsertMarkColor()(HWND w, COLORREF c) { 5606 return cast(COLORREF) SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, c); 5607 } 5608 5609 COLORREF ListView_SetOutlineColor()(HWND w, COLORREF c) { 5610 return cast(COLORREF) SendMessage(w, LVM_SETOUTLINECOLOR, 0, c); 5611 } 5612 5613 void ListView_SetSelectedColumn()(HWND w, int i) { 5614 SendMessage(w, LVM_SETSELECTEDCOLUMN, i, 0); 5615 } 5616 5617 BOOL ListView_SetTileInfo()(HWND w, PLVTILEINFO p) { 5618 return cast(BOOL) SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM) p); 5619 } 5620 5621 BOOL ListView_SetTileViewInfo()(HWND w, PLVTILEVIEWINFO p) { 5622 return cast(BOOL) SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LPARAM) p); 5623 } 5624 5625 int ListView_SetView()(HWND w, DWORD i) { 5626 return cast(int) SendMessage(w, LVM_SETVIEW, i, 0); 5627 } 5628 5629 int ListView_SortGroups()(HWND w, PFNLVGROUPCOMPARE c, LPVOID p) { 5630 return cast(int) SendMessage(w, LVM_SORTGROUPS, cast(WPARAM) c, cast(LPARAM) p); 5631 } 5632 } 5633 5634 static if (_WIN32_WINNT >= 0x501) { 5635 enum { 5636 CBM_FIRST = 0x1700, 5637 CB_SETMINVISIBLE = CBM_FIRST + 1, 5638 CB_GETMINVISIBLE = CBM_FIRST + 2, 5639 CB_SETCUEBANNER = CBM_FIRST + 3, 5640 CB_GETCUEBANNER = CBM_FIRST + 4, 5641 } 5642 5643 BOOL ComboBox_SetMinVisible()(HWND w, INT i) { 5644 return cast(BOOL) SendMessage(w, CB_SETMINVISIBLE, cast(WPARAM) i, 0); 5645 } 5646 5647 int ComboBox_GetMinVisible()(HWND w) { 5648 return cast(int) SendMessage(w, CB_GETMINVISIBLE, 0, 0); 5649 } 5650 } 5651 5652 extern (Windows) BOOL MakeDragList(HWND); 5653 extern (Windows) void MenuHelp(UINT, WPARAM, LPARAM, HMENU, HINSTANCE, HWND, 5654 PUINT); 5655 5656 COLORREF MonthCal_GetColor()(HWND hwnd, INT icolor) { 5657 return cast(COLORREF) SendMessage(hwnd, MCM_GETCOLOR, 5658 cast(WPARAM) icolor, 0); 5659 } 5660 5661 BOOL MonthCal_GetCurSel()(HWND hwnd, LPSYSTEMTIME lpsystime) { 5662 return cast(BOOL) SendMessage(hwnd, MCM_GETCURSEL, 0, 5663 cast(LPARAM) lpsystime); 5664 } 5665 5666 DWORD MonthCal_GetFirstDayOfWeek()(HWND hwnd) { 5667 return cast(DWORD) SendMessage(hwnd, MCM_GETFIRSTDAYOFWEEK, 0, 0); 5668 } 5669 5670 DWORD MonthCal_GetMaxSelCount()(HWND hwnd) { 5671 return cast(DWORD) SendMessage(hwnd, MCM_GETMAXSELCOUNT, 0, 0); 5672 } 5673 5674 DWORD MonthCal_GetMaxTodayWidth()(HWND hwnd) { 5675 return cast(DWORD) SendMessage(hwnd, MCM_GETMAXTODAYWIDTH, 0, 0); 5676 } 5677 5678 BOOL MonthCal_GetMinReqRect()(HWND hwnd, LPRECT lpRectInfo) { 5679 return cast(BOOL) SendMessage(hwnd, MCM_GETMINREQRECT, 0, 5680 cast(LPARAM) lpRectInfo); 5681 } 5682 5683 INT MonthCal_GetMonthDelta()(HWND hwnd) { 5684 return cast(INT) SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0); 5685 } 5686 5687 INT MonthCal_GetMonthRange()(HWND hwnd, DWORD flag, LPSYSTEMTIME systimearray) { 5688 return cast(INT) SendMessage(hwnd, MCM_GETMONTHRANGE, cast(WPARAM) flag, 5689 cast(LPARAM) systimearray); 5690 } 5691 5692 DWORD MonthCal_GetRange()(HWND hwnd, LPSYSTEMTIME systimearray) { 5693 return cast(DWORD) SendMessage(hwnd, MCM_GETRANGE, 0, 5694 cast(LPARAM) systimearray); 5695 } 5696 5697 BOOL MonthCal_GetSelRange()(HWND hwnd, LPSYSTEMTIME systimearray) { 5698 return cast(BOOL) SendMessage(hwnd, MCM_GETSELRANGE, 0, 5699 cast(LPARAM) systimearray); 5700 } 5701 5702 BOOL MonthCal_GetToday()(HWND hwnd, LPSYSTEMTIME systime) { 5703 return cast(BOOL) SendMessage(hwnd, MCM_GETTODAY, 0, 5704 cast(LPARAM) systime); 5705 } 5706 5707 BOOL MonthCal_GetUnicodeFormat()(HWND hwnd) { 5708 return cast(BOOL) SendMessage(hwnd, MCM_GETUNICODEFORMAT, 0, 0); 5709 } 5710 5711 DWORD MonthCal_HitTest()(HWND hwnd, PMCHITTESTINFO pmchittest) { 5712 return cast(DWORD) SendMessage(hwnd, MCM_HITTEST, 0, 5713 cast(LPARAM) pmchittest); 5714 } 5715 5716 COLORREF MonthCal_SetColor()(HWND hwnd, INT icolor, COLORREF clr) { 5717 return cast(COLORREF) SendMessage(hwnd, MCM_SETCOLOR, cast(WPARAM) icolor, 5718 cast(LPARAM) clr); 5719 } 5720 5721 BOOL MonthCal_SetCurSel()(HWND hwnd, LPSYSTEMTIME lpsystime) { 5722 return cast(BOOL) SendMessage(hwnd, MCM_SETCURSEL, 0, 5723 cast(LPARAM) lpsystime); 5724 } 5725 5726 BOOL MonthCal_SetDayState()(HWND hwnd, INT imonths, LPMONTHDAYSTATE lpdatestatearray) { 5727 return cast(BOOL) SendMessage(hwnd, MCM_SETDAYSTATE, cast(WPARAM) imonths, 5728 cast(LPARAM) lpdatestatearray); 5729 } 5730 5731 DWORD MonthCal_SetFirstDayOfWeek()(HWND hwnd, INT iday) { 5732 return cast(DWORD) SendMessage(hwnd, MCM_SETFIRSTDAYOFWEEK, 0, 5733 cast(LPARAM) iday); 5734 } 5735 5736 BOOL MonthCal_SetMaxSelCount()(HWND hwnd, UINT imax) { 5737 return cast(BOOL) SendMessage(hwnd, MCM_SETMAXSELCOUNT, 5738 cast(WPARAM) imax, 0); 5739 } 5740 5741 INT MonthCal_SetMonthDelta()(HWND hwnd, INT idelta) { 5742 return cast(INT) SendMessage(hwnd, MCM_SETMONTHDELTA, cast(WPARAM) idelta, 0); 5743 } 5744 5745 BOOL MonthCal_SetSelRange()(HWND hwnd, LPSYSTEMTIME systimearray) { 5746 return cast(BOOL) SendMessage(hwnd, MCM_SETSELRANGE, 0, 5747 cast(LPARAM) systimearray); 5748 } 5749 5750 void MonthCal_SetToday()(HWND hwnd, LPSYSTEMTIME systime) { 5751 SendMessage(hwnd, MCM_SETTODAY, 0, cast(LPARAM) systime); 5752 } 5753 5754 BOOL MonthCal_SetUnicodeFormat()(HWND hwnd, BOOL unicode) { 5755 return cast(BOOL) SendMessage(hwnd, MCM_SETUNICODEFORMAT, 5756 cast(WPARAM) unicode, 0); 5757 } 5758 5759 BOOL MonthCal_SetRange()(HWND w, DWORD f, LPSYSTEMTIME st) { 5760 return cast(BOOL) SendMessage(w, MCM_SETRANGE, cast(WPARAM) f, 5761 cast(LPARAM) st); 5762 } 5763 5764 extern (Windows) BOOL ShowHideMenuCtl(HWND, UINT_PTR, PINT); 5765 5766 BOOL TabCtrl_GetItem()(HWND w, int i, LPTCITEM p) { 5767 return cast(BOOL) SendMessage(w, TCM_GETITEM, i, cast(LPARAM) p); 5768 } 5769 5770 BOOL TabCtrl_SetItem()(HWND w, int i, LPTCITEM p) { 5771 return cast(BOOL) SendMessage(w, TCM_SETITEM, i, cast(LPARAM) p); 5772 } 5773 5774 int TabCtrl_InsertItem()(HWND w, int i, const(TC_ITEM)* p) { 5775 return cast(int) SendMessage(w, TCM_INSERTITEM, i, cast(LPARAM) p); 5776 } 5777 5778 BOOL TabCtrl_DeleteItem()(HWND w, int i) { 5779 return cast(BOOL) SendMessage(w, TCM_DELETEITEM, i, 0); 5780 } 5781 5782 BOOL TabCtrl_DeleteAllItems()(HWND w) { 5783 return cast(BOOL) SendMessage(w, TCM_DELETEALLITEMS, 0, 0); 5784 } 5785 5786 BOOL TabCtrl_GetItemRect()(HWND w, int i, LPRECT p) { 5787 return cast(BOOL) SendMessage(w, TCM_GETITEMRECT, i, cast(LPARAM) p); 5788 } 5789 5790 int TabCtrl_GetCurSel()(HWND w) { 5791 return cast(int) SendMessage(w, TCM_GETCURSEL, 0, 0); 5792 } 5793 5794 int TabCtrl_SetCurSel()(HWND w, int i) { 5795 return cast(int) SendMessage(w, TCM_SETCURSEL, i, 0); 5796 } 5797 5798 int TabCtrl_HitTest()(HWND w, LPTCHITTESTINFO p) { 5799 return cast(int) SendMessage(w, TCM_HITTEST, 0, cast(LPARAM) p); 5800 } 5801 5802 BOOL TabCtrl_SetItemExtra()(HWND w, int c) { 5803 return cast(BOOL) SendMessage(w, TCM_SETITEMEXTRA, c, 0); 5804 } 5805 5806 int TabCtrl_AdjustRect()(HWND w, BOOL b, LPRECT p) { 5807 return cast(int) SendMessage(w, TCM_ADJUSTRECT, b, cast(LPARAM) p); 5808 } 5809 5810 DWORD TabCtrl_SetItemSize()(HWND w, int x, int y) { 5811 return cast(DWORD) SendMessage(w, TCM_SETITEMSIZE, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y)); 5812 } 5813 5814 void TabCtrl_RemoveImage()(HWND w, int i) { 5815 SendMessage(w, TCM_REMOVEIMAGE, i, 0); 5816 } 5817 5818 void TabCtrl_SetPadding()(HWND w, int x, int y) { 5819 SendMessage(w, TCM_SETPADDING, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y)); 5820 } 5821 5822 int TabCtrl_GetRowCount()(HWND w) { 5823 return cast(int) SendMessage(w, TCM_GETROWCOUNT, 0, 0); 5824 } 5825 5826 HWND TabCtrl_GetToolTips()(HWND w) { 5827 return cast(HWND) SendMessage(w, TCM_GETTOOLTIPS, 0, 0); 5828 } 5829 5830 void TabCtrl_SetToolTips()(HWND w, HWND t) { 5831 SendMessage(w, TCM_SETTOOLTIPS, cast(WPARAM) t, 0); 5832 } 5833 5834 int TabCtrl_GetCurFocus()(HWND w) { 5835 return cast(int) SendMessage(w, TCM_GETCURFOCUS, 0, 0); 5836 } 5837 5838 void TabCtrl_SetCurFocus()(HWND w, int i) { 5839 SendMessage(w, TCM_SETCURFOCUS, i, 0); 5840 } 5841 5842 HIMAGELIST TabCtrl_GetImageList()(HWND w) { 5843 return cast(HIMAGELIST) SendMessage(w, TCM_GETIMAGELIST, 0, 0); 5844 } 5845 5846 HIMAGELIST TabCtrl_SetImageList()(HWND w, HIMAGELIST h) { 5847 return cast(HIMAGELIST) SendMessage(w, TCM_SETIMAGELIST, 0, 5848 cast(LPARAM) h); 5849 } 5850 5851 int TabCtrl_GetItemCount()(HWND w) { 5852 return cast(int) SendMessage(w, TCM_GETITEMCOUNT, 0, 0); 5853 } 5854 5855 extern (Windows) BOOL _TrackMouseEvent(LPTRACKMOUSEEVENT); 5856 5857 HTREEITEM TreeView_InsertItem()(HWND w, LPTVINSERTSTRUCT i) { 5858 return cast(HTREEITEM) SendMessage(w, TVM_INSERTITEM, 0, cast(LPARAM) i); 5859 } 5860 5861 BOOL TreeView_DeleteItem()(HWND w, HTREEITEM i) { 5862 return cast(BOOL) SendMessage(w, TVM_DELETEITEM, 0, cast(LPARAM) i); 5863 } 5864 5865 BOOL TreeView_DeleteAllItems()(HWND w) { 5866 return cast(BOOL) SendMessage(w, TVM_DELETEITEM, 0, cast(LPARAM) TVI_ROOT); 5867 } 5868 5869 BOOL TreeView_Expand()(HWND w, HTREEITEM i, UINT c) { 5870 return cast(BOOL) SendMessage(w, TVM_EXPAND, c, cast(LPARAM) i); 5871 } 5872 5873 BOOL TreeView_GetItemRect()(HWND w, HTREEITEM i, LPRECT p, BOOL c) { 5874 *cast(HTREEITEM*) p = i; 5875 return cast(BOOL) SendMessage(w, TVM_GETITEMRECT, c, cast(LPARAM) p); 5876 } 5877 5878 UINT TreeView_GetCount()(HWND w) { 5879 return cast(UINT) SendMessage(w, TVM_GETCOUNT, 0, 0); 5880 } 5881 5882 UINT TreeView_GetIndent()(HWND w) { 5883 return cast(UINT) SendMessage(w, TVM_GETINDENT, 0, 0); 5884 } 5885 5886 BOOL TreeView_SetIndent()(HWND w, INT i) { 5887 return cast(BOOL) SendMessage(w, TVM_SETINDENT, i, 0); 5888 } 5889 5890 HIMAGELIST TreeView_GetImageList()(HWND w, INT i) { 5891 return cast(HIMAGELIST) SendMessage(w, TVM_GETIMAGELIST, i, 0); 5892 } 5893 5894 HIMAGELIST TreeView_SetImageList()(HWND w, HIMAGELIST h, INT i) { 5895 return cast(HIMAGELIST) SendMessage(w, TVM_SETIMAGELIST, i, 5896 cast(LPARAM) h); 5897 } 5898 5899 HTREEITEM TreeView_GetNextItem()(HWND w, HTREEITEM i, UINT c) { 5900 return cast(HTREEITEM) SendMessage(w, TVM_GETNEXTITEM, c, cast(LPARAM) i); 5901 } 5902 5903 HTREEITEM TreeView_GetChild()(HWND w, HTREEITEM i) { 5904 return TreeView_GetNextItem(w, i, TVGN_CHILD); 5905 } 5906 5907 HTREEITEM TreeView_GetNextSibling()(HWND w, HTREEITEM i) { 5908 return TreeView_GetNextItem(w, i, TVGN_NEXT); 5909 } 5910 5911 HTREEITEM TreeView_GetPrevSibling()(HWND w, HTREEITEM i) { 5912 return TreeView_GetNextItem(w, i, TVGN_PREVIOUS); 5913 } 5914 5915 HTREEITEM TreeView_GetParent()(HWND w, HTREEITEM i) { 5916 return TreeView_GetNextItem(w, i, TVGN_PARENT); 5917 } 5918 5919 HTREEITEM TreeView_GetFirstVisible()(HWND w) { 5920 return TreeView_GetNextItem(w, null, TVGN_FIRSTVISIBLE); 5921 } 5922 5923 HTREEITEM TreeView_GetNextVisible()(HWND w, HTREEITEM i) { 5924 return TreeView_GetNextItem(w, i, TVGN_NEXTVISIBLE); 5925 } 5926 5927 HTREEITEM TreeView_GetPrevVisible()(HWND w, HTREEITEM i) { 5928 return TreeView_GetNextItem(w, i, TVGN_PREVIOUSVISIBLE); 5929 } 5930 5931 HTREEITEM TreeView_GetSelection()(HWND w) { 5932 return TreeView_GetNextItem(w, null, TVGN_CARET); 5933 } 5934 5935 HTREEITEM TreeView_GetDropHilight()(HTREEITEM w) { 5936 return TreeView_GetNextItem(w, null, TVGN_DROPHILITE); 5937 } 5938 5939 HTREEITEM TreeView_GetRoot()(HWND w) { 5940 return TreeView_GetNextItem(w, null, TVGN_ROOT); 5941 } 5942 5943 BOOL TreeView_Select()(HWND w, HTREEITEM i, UINT c) { 5944 return cast(BOOL) SendMessage(w, TVM_SELECTITEM, c, cast(LPARAM) i); 5945 } 5946 5947 BOOL TreeView_SelectItem()(HWND w, HTREEITEM i) { 5948 return TreeView_Select(w, i, TVGN_CARET); 5949 } 5950 5951 BOOL TreeView_SelectDropTarget()(HWND w, HTREEITEM i) { 5952 return TreeView_Select(w, i, TVGN_DROPHILITE); 5953 } 5954 5955 BOOL TreeView_SelectSetFirstVisible()(HWND w, HTREEITEM i) { 5956 return TreeView_Select(w, i, TVGN_FIRSTVISIBLE); 5957 } 5958 5959 BOOL TreeView_GetItem()(HWND w, LPTVITEM i) { 5960 return cast(BOOL) SendMessage(w, TVM_GETITEM, 0, cast(LPARAM) i); 5961 } 5962 5963 BOOL TreeView_SetItem()(HWND w, const(TV_ITEM)* i) { 5964 return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) i); 5965 } 5966 5967 HWND TreeView_EditLabel()(HWND w, HTREEITEM i) { 5968 return cast(HWND) SendMessage(w, TVM_EDITLABEL, 0, cast(LPARAM) i); 5969 } 5970 5971 HWND TreeView_GetEditControl()(HWND w) { 5972 return cast(HWND) SendMessage(w, TVM_GETEDITCONTROL, 0, 0); 5973 } 5974 5975 UINT TreeView_GetVisibleCount()(HWND w) { 5976 return cast(UINT) SendMessage(w, TVM_GETVISIBLECOUNT, 0, 0); 5977 } 5978 5979 HTREEITEM TreeView_HitTest()(HWND w, LPTVHITTESTINFO p) { 5980 return cast(HTREEITEM) SendMessage(w, TVM_HITTEST, 0, cast(LPARAM) p); 5981 } 5982 5983 HIMAGELIST TreeView_CreateDragImage()(HWND w, HTREEITEM i) { 5984 return cast(HIMAGELIST) SendMessage(w, TVM_CREATEDRAGIMAGE, 0, 5985 cast(LPARAM) i); 5986 } 5987 5988 BOOL TreeView_SortChildren()(HWND w, HTREEITEM i, BOOL r) { 5989 return cast(BOOL) SendMessage(w, TVM_SORTCHILDREN, r, cast(LPARAM) i); 5990 } 5991 5992 BOOL TreeView_EnsureVisible()(HWND w, HTREEITEM i) { 5993 return cast(BOOL) SendMessage(w, TVM_ENSUREVISIBLE, 0, cast(LPARAM) i); 5994 } 5995 5996 BOOL TreeView_SortChildrenCB()(HWND w, LPTVSORTCB s, BOOL r) { 5997 return cast(BOOL) SendMessage(w, TVM_SORTCHILDRENCB, r, cast(LPARAM) s); 5998 } 5999 6000 BOOL TreeView_EndEditLabelNow()(HWND w, BOOL f) { 6001 return cast(BOOL) SendMessage(w, TVM_ENDEDITLABELNOW, f, 0); 6002 } 6003 6004 BOOL TreeView_GetISearchString()(HWND w, LPTSTR s) { 6005 return cast(BOOL) SendMessage(w, TVM_GETISEARCHSTRING, 0, cast(LPARAM) s); 6006 } 6007 6008 static if (_WIN32_IE >= 0x300) { 6009 DWORD ListView_ApproximateViewRect()(HWND w, int iw, int ih, int i) { 6010 return cast(DWORD) SendMessage(w, LVM_APPROXIMATEVIEWRECT, i, 6011 MAKELPARAM(cast(ushort)iw, cast(ushort)ih)); 6012 } 6013 6014 DWORD ListView_SetExtendedListViewStyle()(HWND w, DWORD s) { 6015 return cast(DWORD) SendMessage(w, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, s); 6016 } 6017 6018 DWORD ListView_GetExtendedListViewStyle()(HWND w) { 6019 return cast(DWORD) SendMessage(w, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0); 6020 } 6021 6022 BOOL ListView_SetColumnOrderArray()(HWND w, int i, int* a) { 6023 return cast(BOOL) SendMessage(w, LVM_SETCOLUMNORDERARRAY, 6024 cast(WPARAM) i, cast(LPARAM) a); 6025 } 6026 6027 BOOL ListView_GetColumnOrderArray()(HWND w, int i, int* a) { 6028 return cast(BOOL) SendMessage(w, LVM_GETCOLUMNORDERARRAY, 6029 cast(WPARAM) i, cast(LPARAM) a); 6030 } 6031 6032 HWND ListView_GetHeader()(HWND w) { 6033 return cast(HWND) SendMessage(w, LVM_GETHEADER, 0, 0); 6034 } 6035 6036 HCURSOR ListView_GetHotCursor()(HWND w) { 6037 return cast(HCURSOR) SendMessage(w, LVM_GETHOTCURSOR, 0, 0); 6038 } 6039 6040 INT ListView_GetHotItem()(HWND w) { 6041 return cast(INT) SendMessage(w, LVM_GETHOTITEM, 0, 0); 6042 } 6043 6044 BOOL ListView_GetSubItemRect()(HWND w, int i, int isi, int c, LPRECT p) { 6045 if (p) 6046 { 6047 p.left = c; 6048 p.top = isi; 6049 } 6050 return cast(BOOL) SendMessage(w, LVM_GETSUBITEMRECT, i, cast(LPARAM) p); 6051 } 6052 6053 HCURSOR ListView_SetHotCursor()(HWND w, HCURSOR c) { 6054 return cast(HCURSOR) SendMessage(w, LVM_SETHOTCURSOR, 0, 6055 cast(LPARAM) c); 6056 } 6057 6058 INT ListView_SetHotItem()(HWND w, INT i) { 6059 return cast(INT) SendMessage(w, LVM_SETHOTITEM, cast(WPARAM) i, 0); 6060 } 6061 6062 DWORD ListView_SetIconSpacing()(HWND w, int x, int y) { 6063 return cast(DWORD) SendMessage(w, LVM_SETICONSPACING, 0, 6064 MAKELONG(cast(ushort)x, cast(ushort)y)); 6065 } 6066 6067 INT ListView_SubItemHitTest()(HWND w, LPLVHITTESTINFO p) { 6068 return cast(INT) SendMessage(w, LVM_SUBITEMHITTEST, 0, cast(LPARAM) p); 6069 } 6070 6071 BOOL ListView_SetItemCountEx()(HWND w, int i, DWORD f) { 6072 return cast(BOOL) SendMessage(w, LVM_SETITEMCOUNT, i, cast(LPARAM) f); 6073 } 6074 6075 extern (Windows) { 6076 WINBOOL ImageList_SetImageCount(HIMAGELIST, UINT); 6077 WINBOOL ImageList_Copy(HIMAGELIST, int, HIMAGELIST, int, UINT); 6078 WINBOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*); 6079 } 6080 6081 int TabCtrl_SetMinTabWidth()(HWND hwnd, int x) { 6082 return cast(int) SendMessage(hwnd, TCM_SETMINTABWIDTH, 0, x); 6083 } 6084 6085 VOID TabCtrl_DeselectAll()(HWND hwnd, UINT fExcludeFocus) { 6086 SendMessage(hwnd, TCM_DESELECTALL, fExcludeFocus, 0); 6087 } 6088 6089 HWND TreeView_GetToolTips()(HWND w) { 6090 return cast(HWND) SendMessage(w, TVM_GETTOOLTIPS, 0, 0); 6091 } 6092 6093 HWND TreeView_SetToolTips()(HWND w, HWND wt) { 6094 return cast(HWND) SendMessage(w, TVM_SETTOOLTIPS, cast(WPARAM) wt, 0); 6095 } 6096 } 6097 6098 static if (_WIN32_IE >= 0x400) { 6099 BOOL ListView_GetBkImage()(HWND h, LPLVBKIMAGE plvbki) { 6100 return cast(BOOL) SendMessage(h, LVM_GETBKIMAGE, 0, 6101 cast(LPARAM) plvbki); 6102 } 6103 6104 BOOL ListView_SetBkImage()(HWND h, LPLVBKIMAGE plvbki) { 6105 return cast(BOOL) SendMessage(h, LVM_SETBKIMAGE, 0, 6106 cast(LPARAM) plvbki); 6107 } 6108 6109 DWORD ListView_SetExtendedListViewStyleEx()(HWND w, DWORD m, DWORD s) { 6110 return cast(DWORD) SendMessage(w, LVM_SETEXTENDEDLISTVIEWSTYLE, m, s); 6111 } 6112 6113 VOID ListView_SetWorkAreas()(HWND w, INT n, LPRECT r) { 6114 SendMessage(w, LVM_SETWORKAREAS, cast(WPARAM) n, cast(LPARAM) r); 6115 } 6116 6117 VOID ListView_GetWorkAreas()(HWND w, INT n, LPRECT r) { 6118 SendMessage(w, LVM_GETWORKAREAS, cast(WPARAM) n, cast(LPARAM) r); 6119 } 6120 6121 BOOL ListView_GetNumberOfWorkAreas()(HWND w, LPUINT n) { 6122 return cast(BOOL) SendMessage(w, LVM_GETNUMBEROFWORKAREAS, 0, 6123 cast(LPARAM) n); 6124 } 6125 6126 DWORD ListView_SetHoverTime()(HWND w, DWORD t) { 6127 return cast(DWORD) SendMessage(w, LVM_SETHOVERTIME, 0, 6128 cast(LPARAM) t); 6129 } 6130 6131 DWORD ListView_GetHoverTime()(HWND w) { 6132 return cast(DWORD) SendMessage(w, LVM_GETHOVERTIME, 0, 0); 6133 } 6134 6135 INT ListView_GetSelectionMark()(HWND w) { 6136 return cast(INT) SendMessage(w, LVM_GETSELECTIONMARK, 0, 0); 6137 } 6138 6139 INT ListView_SetSelectionMark()(HWND w, INT i) { 6140 return cast(INT) SendMessage(w, LVM_SETSELECTIONMARK, 0, cast(LPARAM) i); 6141 } 6142 6143 HWND ListView_SetToolTips()(HWND w, HWND n) { 6144 return cast(HWND) SendMessage(w, LVM_SETTOOLTIPS, cast(WPARAM) n, 0); 6145 } 6146 6147 HWND ListView_GetToolTips()(HWND w) { 6148 return cast(HWND) SendMessage(w, LVM_GETTOOLTIPS, 0, 0); 6149 } 6150 6151 BOOL ListView_SetUnicodeFormat()(HWND w, BOOL f) { 6152 return cast(BOOL) SendMessage(w, LVM_SETUNICODEFORMAT, 6153 cast(WPARAM) f, 0); 6154 } 6155 6156 BOOL ListView_GetUnicodeFormat()(HWND w) { 6157 return cast(BOOL) SendMessage(w, LVM_GETUNICODEFORMAT, 0, 0); 6158 } 6159 6160 BOOL TabCtrl_HighlightItem()(HWND hwnd, INT i, WORD fHighlight) { 6161 return cast(BOOL) SendMessage(hwnd, TCM_HIGHLIGHTITEM, 6162 cast(WPARAM) i, cast(LPARAM) MAKELONG(fHighlight, 0)); 6163 } 6164 6165 DWORD TabCtrl_SetExtendedStyle()(HWND hwnd, DWORD dw) { 6166 return cast(DWORD) SendMessage(hwnd, TCM_SETEXTENDEDSTYLE, 0, dw); 6167 } 6168 6169 DWORD TabCtrl_GetExtendedStyle()(HWND hwnd) { 6170 return cast(DWORD) SendMessage(hwnd, TCM_GETEXTENDEDSTYLE, 0, 0); 6171 } 6172 6173 BOOL TabCtrl_SetUnicodeFormat()(HWND hwnd, HWND fUnicode) { 6174 return cast(BOOL) SendMessage(hwnd, TCM_SETUNICODEFORMAT, 6175 cast(WPARAM) fUnicode, 0); 6176 } 6177 6178 BOOL TabCtrl_GetUnicodeFormat()(HWND hwnd) { 6179 return cast(BOOL) SendMessage(hwnd, TCM_GETUNICODEFORMAT, 0, 0); 6180 } 6181 6182 COLORREF TreeView_GetBkColor()(HWND w) { 6183 return cast(COLORREF) SendMessage(w, TVM_GETBKCOLOR, 0, 0); 6184 } 6185 6186 COLORREF TreeView_GetInsertMarkColor()(HWND w) { 6187 return cast(COLORREF) SendMessage(w, TVM_GETINSERTMARKCOLOR, 0, 0); 6188 } 6189 6190 int TreeView_GetItemHeight()(HWND w) { 6191 return cast(int) SendMessage(w, TVM_GETITEMHEIGHT, 0, 0); 6192 } 6193 6194 UINT TreeView_GetScrollTime()(HWND w) { 6195 return cast(UINT) SendMessage(w, TVM_GETSCROLLTIME, 0, 0); 6196 } 6197 6198 COLORREF TreeView_GetTextColor()(HWND w) { 6199 return cast(COLORREF) SendMessage(w, TVM_GETTEXTCOLOR, 0, 0); 6200 } 6201 6202 COLORREF TreeView_SetBkColor()(HWND w, COLORREF c) { 6203 return cast(COLORREF) SendMessage(w, TVM_SETBKCOLOR, 0, 6204 cast(LPARAM) c); 6205 } 6206 6207 COLORREF TreeView_SetInsertMarkColor()(HWND w, COLORREF c) { 6208 return cast(COLORREF) SendMessage(w, TVM_SETINSERTMARKCOLOR, 0, 6209 cast(LPARAM) c); 6210 } 6211 6212 int TreeView_SetItemHeight()(HWND w, SHORT h) { 6213 return cast(int) SendMessage(w, TVM_SETITEMHEIGHT, cast(WPARAM) h, 0); 6214 } 6215 6216 UINT TreeView_SetScrollTime()(HWND w, UINT t) { 6217 return cast(UINT) SendMessage(w, TVM_SETSCROLLTIME, cast(WPARAM) t, 0); 6218 } 6219 6220 COLORREF TreeView_SetTextColor()(HWND w, COLORREF c) { 6221 return cast(COLORREF) SendMessage(w, TVM_SETTEXTCOLOR, 0, 6222 cast(LPARAM) c); 6223 } 6224 6225 BOOL TreeView_SetInsertMark()(HWND w, HTREEITEM i, BOOL a) { 6226 return cast(BOOL) SendMessage(w, TVM_SETINSERTMARK, cast(WPARAM) a, 6227 cast(LPARAM) i); 6228 } 6229 6230 BOOL TreeView_SetUnicodeFormat()(HWND w, BOOL u) { 6231 return cast(BOOL) SendMessage(w, TVM_SETUNICODEFORMAT, 6232 cast(WPARAM) u, 0); 6233 } 6234 6235 BOOL TreeView_GetUnicodeFormat()(HWND w) { 6236 return cast(BOOL) SendMessage(w, TVM_GETUNICODEFORMAT, 0, 0); 6237 } 6238 6239 HTREEITEM TreeView_GetLastVisible()(HWND w) { 6240 return TreeView_GetNextItem(w, null, TVGN_LASTVISIBLE); 6241 } 6242 } 6243 6244 static if (_WIN32_IE >= 0x500) { 6245 UINT TreeView_GetItemState()(HWND w, HTREEITEM i, UINT m) { 6246 return cast(UINT) SendMessage(w, TVM_GETITEMSTATE, cast(WPARAM) i, 6247 cast(LPARAM) m); 6248 } 6249 6250 BOOL TreeView_SetItemState()(HWND w, HTREEITEM i, UINT d, UINT m) { 6251 TVITEM _tvi; 6252 _tvi.mask = TVIF_STATE; 6253 _tvi.hItem = i; 6254 _tvi.stateMask = m; 6255 _tvi.state = d; 6256 return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) &_tvi); 6257 } 6258 } 6259 6260 6261 //#ifdef _WIN32_WCE // these are PPC only 6262 /+ 6263 extern (Windows) { 6264 HWND CommandBar_Create(HINSTANCE, HWND, int); 6265 BOOL CommandBar_Show(HWND, BOOL); 6266 int CommandBar_AddBitmap(HWND, HINSTANCE, int, int, int, int); 6267 HWND CommandBar_InsertComboBox(HWND, HINSTANCE, int, UINT, WORD, WORD); 6268 BOOL CommandBar_InsertMenubar(HWND, HINSTANCE, WORD, WORD ); 6269 BOOL CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD); 6270 BOOL CommandBar_DrawMenuBar(HWND, WORD); 6271 HMENU CommandBar_GetMenu(HWND, WORD); 6272 BOOL CommandBar_AddAdornments(HWND, DWORD, DWORD); 6273 int CommandBar_Height(HWND hwndCB); 6274 } 6275 6276 // MinGW: These two are not in the DLL 6277 void CommandBar_InsertButton()(HWND hwnd, int i, LPTBBUTTON lptbbutton) { 6278 SendMessage(hwnd, TB_INSERTBUTTON, i, lptbbutton); 6279 } 6280 alias DestroyWindow CommandBar_Destroy; 6281 +/ 6282 //#endif // _WIN32_WCE 6283 6284 6285 static if (_WIN32_WINNT >= 0x501) { 6286 struct EDITBALLOONTIP 6287 { 6288 DWORD cbStruct; 6289 LPCWSTR pszTitle; 6290 LPCWSTR pszText; 6291 INT ttiIcon; 6292 } 6293 alias EDITBALLOONTIP* PEDITBALLOONTIP; 6294 6295 enum EM_SETCUEBANNER = ECM_FIRST + 1; 6296 enum EM_GETCUEBANNER = ECM_FIRST + 2; 6297 enum EM_SHOWBALLOONTIP = ECM_FIRST + 3; 6298 enum EM_HIDEBALLOONTIP = ECM_FIRST + 4; 6299 } 6300 6301 static if (_WIN32_WINNT >= 0x600) { 6302 enum EM_SETHILITE = ECM_FIRST + 5; 6303 enum EM_GETHILITE = ECM_FIRST + 6; 6304 }