1 // This module just contains things that are needed but aren't in std.c.windows.windows. 2 // This code is public domain. 3 4 module dfl.internal.winapi; 5 6 7 public import core.sys.windows.windows; 8 private import dfl.internal.wincom; 9 10 11 version(D_Version2) 12 { 13 version = DFL_D2; 14 version = DFL_D2_AND_ABOVE; 15 } 16 else version(D_Version3) 17 { 18 version = DFL_D3; 19 version = DFL_D3_AND_ABOVE; 20 version = DFL_D2_AND_ABOVE; 21 } 22 else version(D_Version4) 23 { 24 version = DFL_D4; 25 version = DFL_D4_AND_ABOVE; 26 version = DFL_D3_AND_ABOVE; 27 version = DFL_D2_AND_ABOVE; 28 } 29 else 30 { 31 static assert(0, "This environment is not supported."); 32 } 33 34 35 extern(Windows) nothrow: 36 37 struct SIZE 38 { 39 LONG cx; 40 LONG cy; 41 } 42 alias SIZE* LPSIZE; 43 44 45 struct POINTL 46 { 47 LONG x; 48 LONG y; 49 } 50 alias POINTL* LPPOINTL; 51 52 53 alias RECT* LPCRECT; 54 55 56 alias WORD LANGID; 57 58 59 alias size_t ULONG_PTR; 60 61 62 alias long LONGLONG; 63 64 alias ulong DWORDLONG; 65 66 67 alias HRESULT THEMEAPI; 68 69 70 union LARGE_INTEGER 71 { 72 struct 73 { 74 DWORD LowPart; 75 LONG HighPart; 76 } 77 private struct _U 78 { 79 DWORD LowPart; 80 LONG HighPart; 81 } 82 _U u; 83 LONGLONG QuadPart; 84 } 85 86 87 union ULARGE_INTEGER 88 { 89 struct 90 { 91 DWORD LowPart; 92 DWORD HighPart; 93 } 94 private struct _U 95 { 96 DWORD LowPart; 97 DWORD HighPart; 98 } 99 _U u; 100 DWORDLONG QuadPart; 101 } 102 103 104 enum: UINT 105 { 106 SWP_NOSIZE = 0x0001, 107 SWP_NOMOVE = 0x0002, 108 SWP_NOZORDER = 0x0004, 109 SWP_NOREDRAW = 0x0008, 110 SWP_NOACTIVATE = 0x0010, 111 SWP_FRAMECHANGED = 0x0020, 112 SWP_SHOWWINDOW = 0x0040, 113 SWP_HIDEWINDOW = 0x0080, 114 SWP_NOCOPYBITS = 0x0100, 115 SWP_NOOWNERZORDER = 0x0200, 116 SWP_NOSENDCHANGING = 0x0400, 117 SWP_DRAWFRAME = SWP_FRAMECHANGED, 118 SWP_NOREPOSITION = SWP_NOOWNERZORDER, 119 SWP_DEFERERASE = 0x2000, 120 SWP_ASYNCWINDOWPOS = 0x4000, 121 } 122 123 124 enum: UINT 125 { 126 GW_HWNDFIRST = 0, 127 GW_HWNDLAST = 1, 128 GW_HWNDNEXT = 2, 129 GW_HWNDPREV = 3, 130 GW_OWNER = 4, 131 GW_CHILD = 5, 132 } 133 134 135 enum: UINT 136 { 137 DI_MASK = 0x0001, 138 DI_IMAGE = 0x0002, 139 DI_COMPAT = 0x0004, 140 DI_DEFAULTSIZE = 0x0008, 141 DI_NORMAL = DI_IMAGE | DI_MASK, 142 } 143 144 145 enum: int 146 { 147 GCL_MENUNAME = -8, 148 GCL_HBRBACKGROUND = -10, 149 GCL_HCURSOR = -12, 150 GCL_HICON = -14, 151 GCL_HMODULE = -16, 152 GCL_CBWNDEXTRA = -18, 153 GCL_CBCLSEXTRA = -20, 154 GCL_WNDPROC = -24, 155 GCL_STYLE = -26, 156 GCW_ATOM = -32, 157 GCL_HICONSM = -34, 158 } 159 160 161 enum: UINT 162 { 163 SC_SIZE = 0xF000, 164 SC_MOVE = 0xF010, 165 SC_MINIMIZE = 0xF020, 166 SC_MAXIMIZE = 0xF030, 167 SC_CLOSE = 0xF060, 168 SC_VSCROLL = 0xF070, 169 SC_HSCROLL = 0xF080, 170 SC_RESTORE = 0xF120, 171 SC_SEPARATOR = 0xF00F, 172 } 173 174 175 enum: int 176 { 177 GWL_WNDPROC = -4, 178 GWL_HINSTANCE = -6, 179 GWL_HWNDPARENT = -8, 180 GWL_STYLE = -16, 181 GWL_EXSTYLE = -20, 182 GWL_USERDATA = -21, 183 GWL_ID = -12, 184 185 DWL_MSGRESULT = 0, 186 DWL_DLGPROC = 4, 187 DWL_USER = 8, 188 } 189 190 191 enum: UINT 192 { 193 WM_SETFONT = 0x0030, 194 WM_GETFONT = 0x0031, 195 WM_COMPACTING = 0x0041, 196 WM_USER = 0x0400, 197 WM_NEXTDLGCTL = 0x0028, 198 WM_CAPTURECHANGED = 0x0215, 199 WM_WINDOWPOSCHANGING = 0x0046, 200 WM_WINDOWPOSCHANGED = 0x0047, 201 WM_DRAWITEM = 0x002B, 202 WM_DROPFILES = 0x0233, 203 WM_PALETTECHANGED = 0x0311, 204 205 WM_CLEAR = 0x0303, 206 207 WM_CUT = 0x0300, 208 WM_COPY = 0x0301, 209 WM_PASTE = 0x0302, 210 211 WM_MDIACTIVATE = 0x0222, 212 WM_MDITILE = 0x0226, 213 WM_MDICASCADE = 0x0227, 214 WM_MDIICONARRANGE = 0x0228, 215 WM_MDIGETACTIVE = 0x0229, 216 217 WM_MOUSEWHEEL = 0x020A, 218 WM_MOUSEHOVER = 0x02A1, 219 WM_MOUSELEAVE = 0x02A3, 220 221 WM_HOTKEY = 0x0312, 222 223 WM_PRINT = 0x0317, 224 WM_PRINTCLIENT = 0x0318, 225 226 WM_MEASUREITEM = 0x002C, 227 228 DM_SETDEFID = WM_USER + 1, 229 } 230 231 232 enum: UINT 233 { 234 BFFM_INITIALIZED = 1, 235 BFFM_SETSELECTIONA = WM_USER + 102, 236 BFFM_SETSELECTIONW = WM_USER + 103, 237 } 238 239 240 enum: UINT 241 { 242 NM_FIRST = 0, 243 NM_CLICK = NM_FIRST - 2, 244 NM_CUSTOMDRAW = NM_FIRST - 12, 245 } 246 247 248 struct NMMOUSE 249 { 250 NMHDR hdr; 251 DWORD dwItemSpec; 252 DWORD dwItemData; 253 POINT pt; 254 LPARAM dwHitInfo; 255 } 256 alias NMMOUSE* LPNMMOUSE; 257 258 259 enum: UINT 260 { 261 TTM_ACTIVATE = WM_USER + 1, 262 TTM_SETDELAYTIME = WM_USER + 3, 263 TTM_ADDTOOLA = WM_USER + 4, 264 TTM_DELTOOLA = WM_USER + 5, 265 TTM_GETTOOLINFOA = WM_USER + 8, 266 TTM_GETTEXTA = WM_USER + 11, 267 TTM_UPDATETIPTEXTA = WM_USER + 12, 268 TTM_ENUMTOOLSA = WM_USER + 14, 269 TTM_GETCURRENTTOOLA = WM_USER + 15, 270 TTM_ADDTOOLW = WM_USER + 50, 271 TTM_GETTEXTW = WM_USER + 56, 272 TTM_UPDATETIPTEXTW = WM_USER + 57, 273 } 274 275 276 enum: WPARAM 277 { 278 TTDT_AUTOMATIC = 0, 279 TTDT_RESHOW = 1, 280 TTDT_AUTOPOP = 2, 281 TTDT_INITIAL = 3, 282 } 283 284 285 // Rich edit. 286 enum: UINT 287 { 288 ES_DISABLENOSCROLL = 0x00002000, 289 290 EM_CANPASTE = WM_USER + 50, 291 EM_EXGETSEL = WM_USER + 52, 292 EM_EXLIMITTEXT = WM_USER + 53, 293 EM_EXLINEFROMCHAR = WM_USER + 54, 294 EM_EXSETSEL = WM_USER + 55, 295 EM_GETCHARFORMAT = WM_USER + 58, 296 EM_GETSELTEXT = WM_USER + 62, 297 EM_PASTESPECIAL = WM_USER + 64, 298 EM_SETBKGNDCOLOR = WM_USER + 67, 299 EM_SETCHARFORMAT = WM_USER + 68, 300 EM_SETEVENTMASK = WM_USER + 69, 301 EM_STREAMIN = WM_USER + 73, 302 EM_STREAMOUT = WM_USER + 74, 303 EM_GETTEXTRANGE = WM_USER + 75, 304 305 // 2.0 306 EM_SETUNDOLIMIT = WM_USER + 82, 307 EM_REDO = WM_USER + 84, 308 EM_CANREDO = WM_USER + 85, 309 EM_GETUNDONAME = WM_USER + 86, 310 EM_GETREDONAME = WM_USER + 87, 311 EM_STOPGROUPTYPING = WM_USER + 88, 312 EM_SETTEXTMODE = WM_USER + 89, 313 EM_GETTEXTMODE = WM_USER + 90, 314 315 EM_AUTOURLDETECT = WM_USER + 91, 316 EM_GETAUTOURLDETECT = WM_USER + 92, 317 EM_SETPALETTE = WM_USER + 93, 318 EM_GETTEXTEX = WM_USER + 94, 319 EM_GETTEXTLENGTHEX = WM_USER + 95, 320 EM_SHOWSCROLLBAR = WM_USER + 96, 321 EM_SETTEXTEX = WM_USER + 97, 322 323 EN_LINK = 0x070B, 324 } 325 326 327 // Rich edit. 328 enum: UINT 329 { 330 SF_TEXT = 0x0001, 331 SF_RTF = 0x0002, 332 SF_RTFNOOBJS = 0x0003, 333 SF_TEXTIZED = 0x0004, 334 335 SFF_SELECTION = 0x8000, 336 SFF_PLAINRTF = 0x4000, 337 338 SCF_SELECTION = 0x0001, 339 SCF_WORD = 0x0002, 340 SCF_ALL = 0x0004, 341 342 CFM_BOLD = 0x00000001, 343 CFM_ITALIC = 0x00000002, 344 CFM_UNDERLINE = 0x00000004, 345 CFM_STRIKEOUT = 0x00000008, 346 CFM_PROTECTED = 0x00000010, 347 CFM_LINK = 0x00000020, 348 CFM_SIZE = 0x80000000, 349 CFM_COLOR = 0x40000000, 350 CFM_FACE = 0x20000000, 351 CFM_OFFSET = 0x10000000, 352 CFM_CHARSET = 0x08000000, 353 CFM_SMALLCAPS = 0x0040, 354 CFM_ALLCAPS = 0x0080, 355 CFM_HIDDEN = 0x0100, 356 CFM_OUTLINE = 0x0200, 357 CFM_SHADOW = 0x0400, 358 CFM_EMBOSS = 0x0800, 359 CFM_IMPRINT = 0x1000, 360 CFM_DISABLED = 0x2000, 361 CFM_REVISED = 0x4000, 362 CFM_BACKCOLOR = 0x04000000, 363 CFM_LCID = 0x02000000, 364 CFM_UNDERLINETYPE = 0x00800000, 365 CFM_WEIGHT = 0x00400000, 366 CFM_SPACING = 0x00200000, 367 CFM_KERNING = 0x00100000, 368 CFM_STYLE = 0x00080000, 369 CFM_ANIMATION = 0x00040000, 370 CFM_REVAUTHOR = 0x00008000, 371 372 CFE_BOLD = 0x0001, 373 CFE_ITALIC = 0x0002, 374 CFE_UNDERLINE = 0x0004, 375 CFE_STRIKEOUT = 0x0008, 376 CFE_PROTECTED = 0x0010, 377 CFE_LINK = 0x0020, 378 CFE_AUTOCOLOR = 0x40000000, 379 CFE_AUTOBACKCOLOR = CFM_BACKCOLOR, 380 CFE_SUBSCRIPT = 0x00010000, 381 CFE_SUPERSCRIPT = 0x00020000, 382 383 CFM_SUBSCRIPT = CFE_SUBSCRIPT | CFE_SUPERSCRIPT, 384 CFM_SUPERSCRIPT = CFM_SUBSCRIPT, 385 386 CFU_UNDERLINE = 1, 387 388 ENM_NONE = 0x00000000, 389 ENM_CHANGE = 0x00000001, 390 ENM_UPDATE = 0x00000002, 391 ENM_LINK = 0x04000000, 392 ENM_PROTECTED = 0x00200000, 393 } 394 395 396 enum: DWORD 397 { 398 PRF_CLIENT = 0x00000004, 399 } 400 401 402 enum: DWORD 403 { 404 STAP_ALLOW_NONCLIENT = 0x00000001, 405 STAP_ALLOW_CONTROLS = 0x00000002, 406 STAP_ALLOW_WEBCONTENT = 0x00000004, 407 } 408 409 410 enum: LPARAM 411 { 412 ENDSESSION_LOGOFF = 0x80000000, 413 } 414 415 416 enum: int 417 { 418 BLACKONWHITE = 1, 419 WHITEONBLACK = 2, 420 COLORONCOLOR = 3, 421 HALFTONE = 4, 422 } 423 424 425 enum: UINT 426 { 427 CDN_FIRST = cast(UINT)-601, 428 CDN_LAST = cast(UINT)-699, 429 CDN_INITDONE = CDN_FIRST - 0x0000, 430 CDN_SELCHANGE = CDN_FIRST - 0x0001, 431 CDN_FOLDERCHANGE = CDN_FIRST - 0x0002, 432 CDN_SHAREVIOLATION = CDN_FIRST - 0x0003, 433 CDN_HELP = CDN_FIRST - 0x0004, 434 CDN_FILEOK = CDN_FIRST - 0x0005, 435 CDN_TYPECHANGE = CDN_FIRST - 0x0006, 436 CDN_INCLUDEITEM = CDN_FIRST - 0x0007, 437 } 438 439 440 enum: DWORD 441 { 442 OFN_READONLY = 0x00000001, 443 OFN_OVERWRITEPROMPT = 0x00000002, 444 OFN_HIDEREADONLY = 0x00000004, 445 OFN_NOCHANGEDIR = 0x00000008, 446 OFN_SHOWHELP = 0x00000010, 447 OFN_ENABLEHOOK = 0x00000020, 448 OFN_ENABLETEMPLATE = 0x00000040, 449 OFN_ENABLETEMPLATEHANDLE = 0x00000080, 450 OFN_NOVALIDATE = 0x00000100, 451 OFN_ALLOWMULTISELECT = 0x00000200, 452 OFN_EXTENSIONDIFFERENT = 0x00000400, 453 OFN_PATHMUSTEXIST = 0x00000800, 454 OFN_FILEMUSTEXIST = 0x00001000, 455 OFN_CREATEPROMPT = 0x00002000, 456 OFN_SHAREAWARE = 0x00004000, 457 OFN_NOREADONLYRETURN = 0x00008000, 458 OFN_NOTESTFILECREATE = 0x00010000, 459 OFN_NONETWORKBUTTON = 0x00020000, 460 OFN_NOLONGNAMES = 0x00040000, 461 OFN_EXPLORER = 0x00080000, 462 OFN_NODEREFERENCELINKS = 0x00100000, 463 OFN_LONGNAMES = 0x00200000, 464 OFN_ENABLEINCLUDENOTIFY = 0x00400000, 465 OFN_ENABLESIZING = 0x00800000, 466 OFN_DONTADDTORECENT = 0x02000000, 467 OFN_FORCESHOWHIDDEN = 0x10000000, 468 } 469 470 471 enum: DWORD 472 { 473 CF_SCREENFONTS = 0x00000001, 474 CF_PRINTERFONTS = 0x00000002, 475 CF_BOTH = CF_SCREENFONTS | CF_PRINTERFONTS, 476 CF_SHOWHELP = 0x00000004, 477 CF_ENABLEHOOK = 0x00000008, 478 CF_ENABLETEMPLATE = 0x00000010, 479 CF_ENABLETEMPLATEHANDLE = 0x00000020, 480 CF_INITTOLOGFONTSTRUCT = 0x00000040, 481 CF_USESTYLE = 0x00000080, 482 CF_EFFECTS = 0x00000100, 483 CF_APPLY = 0x00000200, 484 CF_ANSIONLY = 0x00000400, 485 CF_SCRIPTSONLY = CF_ANSIONLY, 486 CF_NOVECTORFONTS = 0x00000800, 487 CF_NOOEMFONTS = CF_NOVECTORFONTS, 488 CF_NOSIMULATIONS = 0x00001000, 489 CF_LIMITSIZE = 0x00002000, 490 CF_FIXEDPITCHONLY = 0x00004000, 491 CF_WYSIWYG = 0x00008000, 492 CF_FORCEFONTEXIST = 0x00010000, 493 CF_SCALABLEONLY = 0x00020000, 494 CF_TTONLY = 0x00040000, 495 CF_NOFACESEL = 0x00080000, 496 CF_NOSTYLESEL = 0x00100000, 497 CF_NOSIZESEL = 0x00200000, 498 CF_SELECTSCRIPT = 0x00400000, 499 CF_NOSCRIPTSEL = 0x00800000, 500 CF_NOVERTFONTS = 0x01000000, 501 } 502 503 504 enum: UINT 505 { 506 ODT_MENU = 1, 507 ODT_LISTBOX = 2, 508 ODT_COMBOBOX = 3, 509 ODT_BUTTON = 4, 510 ODT_STATIC = 5, 511 } 512 513 514 enum: int 515 { 516 HC_ACTION = 0, 517 } 518 519 520 enum: int 521 { 522 WH_GETMESSAGE = 3, 523 WH_CALLWNDPROC = 4, 524 WH_CALLWNDPROCRET = 12, 525 } 526 527 528 struct CWPSTRUCT 529 { 530 LPARAM lParam; 531 WPARAM wParam; 532 UINT message; 533 HWND hwnd; 534 } 535 alias CWPSTRUCT* LPCWPSTRUCT; 536 537 538 struct CWPRETSTRUCT 539 { 540 LRESULT lResult; 541 LPARAM lParam; 542 WPARAM wParam; 543 DWORD message; 544 HWND hwnd; 545 } 546 alias CWPRETSTRUCT* LPCWPRETSTRUCT; 547 548 549 enum: UINT 550 { 551 MDITILE_VERTICAL = 0x0000, 552 MDITILE_HORIZONTAL = 0x0001, 553 MDITILE_SKIPDISABLED = 0x0002, 554 MDITILE_ZORDER = 0x0004, 555 } 556 557 558 enum: DWORD 559 { 560 WS_EX_NOPARENTNOTIFY = 0x00000004, 561 WS_EX_ACCEPTFILES = 0x00000010, 562 WS_EX_TRANSPARENT = 0x00000020, 563 WS_EX_RTLREADING = 0x00002000, 564 WS_EX_APPWINDOW = 0x00040000, 565 WS_EX_DLGMODALFRAME = 0x00000001, 566 WS_EX_CONTROLPARENT = 0x00010000, 567 WS_EX_WINDOWEDGE = 0x00000100, 568 WS_EX_CLIENTEDGE = 0x00000200, 569 WS_EX_TOOLWINDOW = 0x00000080, 570 WS_EX_STATICEDGE = 0x00020000, 571 WS_EX_CONTEXTHELP = 0x00000400, 572 WS_EX_MDICHILD = 0x00000040, 573 WS_EX_LAYERED = 0x00080000, 574 WS_EX_TOPMOST = 0x00000008, 575 } 576 577 578 enum: DWORD 579 { 580 TTS_ALWAYSTIP = 0x01, 581 TTS_NOPREFIX = 0x02, 582 TTS_NOANIMATE = 0x10, // IE5+ 583 TTS_NOFADE = 0x20, // IE5+ 584 TTS_BALLOON = 0x40, // IE5+ 585 } 586 587 588 enum 589 { 590 TTF_IDISHWND = 0x0001, 591 TTF_CENTERTIP = 0x0002, 592 TTF_RTLREADING = 0x0004, 593 TTF_SUBCLASS = 0x0010, 594 TTF_TRACK = 0x0020, // IE3+ 595 TTF_ABSOLUTE = 0x0080, // IE3+ 596 TTF_TRANSPARENT = 0x0100, // IE3+ 597 TTF_DI_SETITEM = 0x8000, // IE3+ 598 } 599 600 601 enum: WPARAM 602 { 603 SIZE_RESTORED = 0, 604 SIZE_MINIMIZED = 1, 605 SIZE_MAXIMIZED = 2, 606 SIZE_MAXSHOW = 3, 607 SIZE_MAXHIDE = 4, 608 } 609 610 611 enum: DWORD 612 { 613 LWA_COLORKEY = 1, 614 LWA_ALPHA = 2, 615 616 AW_HOR_POSITIVE = 0x00000001, 617 AW_HOR_NEGATIVE = 0x00000002, 618 AW_VER_POSITIVE = 0x00000004, 619 AW_VER_NEGATIVE = 0x00000008, 620 AW_CENTER = 0x00000010, 621 AW_HIDE = 0x00010000, 622 AW_ACTIVATE = 0x00020000, 623 AW_SLIDE = 0x00040000, 624 AW_BLEND = 0x00080000, 625 } 626 627 628 enum: UINT 629 { 630 MF_STRING = 0x00000000, 631 MF_UNCHECKED = 0x00000000, 632 MF_BYCOMMAND = 0x00000000, 633 MF_GRAYED = 0x00000001, 634 MF_CHECKED = 0x00000008, 635 MF_POPUP = 0x00000010, 636 MF_MENUBARBREAK = 0x00000020, 637 MF_MENUBREAK = 0x00000040, 638 MF_BYPOSITION = 0x00000400, 639 MF_SEPARATOR = 0x00000800, 640 MF_DEFAULT = 0x00001000, 641 MF_SYSMENU = 0x00002000, 642 643 MFT_STRING = MF_STRING, 644 MFT_MENUBARBREAK = MF_MENUBARBREAK, 645 MFT_MENUBREAK = MF_MENUBREAK, 646 MFT_RADIOCHECK = 0x00000200, 647 MFT_SEPARATOR = MF_SEPARATOR, 648 649 MFS_UNCHECKED = MF_UNCHECKED, 650 MFS_CHECKED = MF_CHECKED, 651 MFS_DEFAULT = MF_DEFAULT, 652 MFS_GRAYED = MF_GRAYED, 653 654 MIIM_STATE = 0x00000001, 655 MIIM_ID = 0x00000002, 656 MIIM_SUBMENU = 0x00000004, 657 MIIM_TYPE = 0x00000010, 658 } 659 660 661 enum: int 662 { 663 RGN_AND = 1, 664 RGN_OR = 2, 665 RGN_XOR = 3, 666 RGN_DIFF = 4, 667 RGN_COPY = 5, 668 } 669 670 671 //alias UINT CLIPFORMAT; // ? 672 alias WORD CLIPFORMAT; // ? 673 674 675 // enum can't derive from HWND. 676 enum HWND_TOP = cast(HWND)0; 677 enum HWND_BOTTOM = cast(HWND)1; 678 enum HWND_TOPMOST = cast(HWND)-1; 679 enum HWND_NOTOPMOST = cast(HWND)-2; 680 681 682 enum: UINT 683 { 684 BS_SOLID = 0, 685 BS_GROUPBOX = 0x00000007, 686 } 687 688 689 enum: UINT 690 { 691 CBS_SIMPLE = 0x0001, 692 CBS_DROPDOWN = 0x0002, 693 CBS_DROPDOWNLIST = 0x0003, 694 CBS_AUTOHSCROLL = 0x0040, 695 CBS_OWNERDRAWFIXED = 0x0010, 696 CBS_OWNERDRAWVARIABLE = 0x0020, 697 } 698 699 700 enum: DWORD 701 { 702 TME_HOVER = 1, 703 TME_LEAVE = 2, 704 TME_QUERY = 0x40000000, 705 TME_CANCEL = 0x80000000, 706 } 707 708 709 enum DWORD HOVER_DEFAULT = 0xFFFFFFFF; 710 711 712 enum: UINT 713 { 714 TPM_LEFTBUTTON = 0x0000, 715 TPM_RIGHTBUTTON = 0x0002, 716 TPM_LEFTALIGN = 0x0000, 717 TPM_CENTERALIGN = 0x0004, 718 TPM_RIGHTALIGN = 0x0008, 719 TPM_TOPALIGN = 0x0000, 720 TPM_VCENTERALIGN = 0x0010, 721 TPM_BOTTOMALIGN = 0x0020, 722 TPM_HORIZONTAL = 0x0000, 723 TPM_VERTICAL = 0x0040, 724 TPM_NONOTIFY = 0x0080, 725 TPM_RETURNCMD = 0x0100, 726 TPM_RECURSE = 0x0001, 727 } 728 729 730 enum 731 { 732 ICON_SMALL = 0, 733 ICON_BIG = 1, 734 } 735 736 737 enum 738 { 739 WAIT_TIMEOUT = 258, 740 } 741 742 743 enum: DWORD 744 { 745 INFINITE = 0xFFFFFFFF, 746 IGNORE = 0, 747 WAIT_FAILED = 0xFFFFFFFF, 748 STATUS_WAIT_0 = 0x00000000, 749 STATUS_ABANDONED_WAIT_0 = 0x00000080, 750 WAIT_OBJECT_0 = STATUS_WAIT_0, 751 WAIT_ABANDONED_0 = STATUS_ABANDONED_WAIT_0, 752 } 753 754 755 enum: UINT 756 { 757 SPI_GETNONCLIENTMETRICS = 41, 758 SPI_GETWORKAREA = 48, 759 SPI_GETANIMATION = 72, 760 SPI_GETWHEELSCROLLLINES = 104, 761 SPI_GETWHEELSCROLLCHARS = 108, 762 // ... 763 } 764 765 766 enum: DWORD 767 { 768 ABM_GETTASKBARPOS = 0x00000005, 769 // ... 770 } 771 772 773 enum: UINT 774 { 775 ABE_LEFT = 0, 776 ABE_TOP = 1, 777 ABE_RIGHT = 2, 778 ABE_BOTTOM = 3, 779 } 780 781 782 enum LPSTR IDC_APPSTARTING = cast(LPSTR)32650; 783 enum LPSTR IDC_HAND = cast(LPSTR)32649; // Windows 98+ 784 enum LPSTR IDC_HELP = cast(LPSTR)32651; 785 enum LPSTR IDC_IBEAM = cast(LPSTR)32513; 786 enum LPSTR IDC_NO = cast(LPSTR)32648; 787 enum LPSTR IDC_SIZEALL = cast(LPSTR)32646; 788 enum LPSTR IDC_SIZENESW = cast(LPSTR)32643; 789 enum LPSTR IDC_SIZENS = cast(LPSTR)32645; 790 enum LPSTR IDC_SIZENWSE = cast(LPSTR)32642; 791 enum LPSTR IDC_SIZEWE = cast(LPSTR)32644; 792 enum LPSTR IDC_WAIT = cast(LPSTR)32514; 793 794 795 enum: WORD 796 { 797 MK_LBUTTON = 0x0001, 798 MK_RBUTTON = 0x0002, 799 MK_SHIFT = 0x0004, 800 MK_CONTROL = 0x0008, 801 MK_MBUTTON = 0x0010, 802 } 803 804 805 enum: UINT 806 { 807 GMEM_MOVEABLE = 0x0002, 808 GMEM_DDESHARE = 0x2000, 809 GMEM_SHARE = 0x2000, 810 } 811 812 813 enum 814 { 815 LOGPIXELSX = 88, 816 LOGPIXELSY = 90, 817 } 818 819 820 enum 821 { 822 MB_SERVICE_NOTIFICATION = 0x00200000, 823 } 824 825 826 enum 827 { 828 DLGC_WANTARROWS = 0x0001, 829 DLGC_WANTTAB = 0x0002, 830 DLGC_WANTALLKEYS = 0x0004, 831 DLGC_HASSETSEL = 0x0008, 832 DLGC_RADIOBUTTON = 0x0040, 833 DLGC_WANTCHARS = 0x0080, 834 DLGC_STATIC = 0x0100, 835 } 836 837 838 enum 839 { 840 LB_OKAY = 0, 841 LB_ERR = -1, 842 LB_ERRSPACE = -2, 843 } 844 845 846 enum: UINT 847 { 848 LB_GETCOUNT = 0x018B, 849 LB_GETITEMDATA = 0x0199, 850 LB_ADDSTRING = 0x0180, 851 LB_SETITEMDATA = 0x019A, 852 LB_RESETCONTENT = 0x0184, 853 LB_INSERTSTRING = 0x0181, 854 LB_DELETESTRING = 0x0182, 855 LB_GETHORIZONTALEXTENT = 0x0193, 856 LB_SETHORIZONTALEXTENT = 0x0194, 857 LB_SETITEMHEIGHT = 0x01A0, 858 LB_GETITEMHEIGHT = 0x01A1, 859 LB_GETSELCOUNT = 0x0190, 860 LB_GETSELITEMS = 0x0191, 861 LB_SETCURSEL = 0x0186, 862 LB_GETCURSEL = 0x0188, 863 LB_SETTOPINDEX = 0x0197, 864 LB_GETTOPINDEX = 0x018E, 865 LB_SELITEMRANGE = 0x0183, 866 LB_SETSEL = 0x0185, 867 LB_FINDSTRING = 0x018F, 868 LB_FINDSTRINGEXACT = 0x01A2, 869 LB_GETITEMRECT = 0x0198, 870 LB_GETSEL = 0x0187, 871 LB_ITEMFROMPOINT = 0x01A9, 872 LB_ADDFILE = 0x0196, 873 LB_DIR = 0x018D, 874 } 875 876 877 enum: DWORD 878 { 879 LBS_NOINTEGRALHEIGHT = 0x0100, 880 LBS_MULTICOLUMN = 0x0200, 881 LBS_DISABLENOSCROLL = 0x1000, 882 LBS_NOSEL = 0x4000, 883 LBS_EXTENDEDSEL = 0x0800, 884 LBS_MULTIPLESEL = 0x0008, 885 LBS_SORT = 0x0002, 886 LBS_USETABSTOPS = 0x0080, 887 LBS_OWNERDRAWVARIABLE = 0x0020, 888 LBS_OWNERDRAWFIXED = 0x0010, 889 LBS_NOTIFY = 0x0001, 890 LBS_HASSTRINGS = 0x0040, 891 } 892 893 894 enum 895 { 896 LBN_ERRSPACE = -2, 897 LBN_SELCHANGE = 1, 898 LBN_DBLCLK = 2, 899 LBN_SELCANCEL = 3, 900 LBN_SETFOCUS = 4, 901 LBN_KILLFOCUS = 5, 902 } 903 904 905 enum 906 { 907 CB_OKAY = 0, 908 CB_ERR = -1, 909 CB_ERRSPACE = -2, 910 } 911 912 913 enum: UINT 914 { 915 CB_SETCURSEL = 0x014E, 916 CB_GETCURSEL = 0x0147, 917 CB_FINDSTRING = 0x014C, 918 CB_FINDSTRINGEXACT = 0x0158, 919 CB_SETITEMHEIGHT = 0x0153, 920 CB_GETITEMHEIGHT = 0x0154, 921 CB_ADDSTRING = 0x0143, 922 CB_DELETESTRING = 0x0144, 923 CB_DIR = 0x0145, 924 CB_INSERTSTRING = 0x014A, 925 CB_RESETCONTENT = 0x014B, 926 CB_SETITEMDATA = 0x0151, 927 CB_GETDROPPEDWIDTH = 0x015f, 928 CB_SETDROPPEDWIDTH = 0x0160, 929 CB_LIMITTEXT = 0x0141, 930 CB_GETEDITSEL = 0x0140, 931 CB_SETEDITSEL = 0x0142, 932 CB_SHOWDROPDOWN = 0x014F, 933 CB_GETDROPPEDSTATE = 0x0157, 934 } 935 936 937 enum: DWORD 938 { 939 CBS_SORT = 0x0100, 940 CBS_HASSTRINGS = 0x0200, 941 CBS_NOINTEGRALHEIGHT = 0x0400, 942 } 943 944 945 enum 946 { 947 CBN_SELCHANGE = 1, 948 CBN_SETFOCUS = 3, 949 CBN_KILLFOCUS = 4, 950 CBN_EDITCHANGE = 5, 951 } 952 953 954 enum: UINT 955 { 956 TVE_COLLAPSE = 0x0001, 957 TVE_EXPAND = 0x0002, 958 TVE_TOGGLE = 0x0003, 959 } 960 961 962 enum: UINT 963 { 964 TVIS_SELECTED = 0x0002, 965 TVIS_EXPANDED = 0x0020, 966 } 967 968 969 enum: UINT 970 { 971 TVIF_TEXT = 0x0001, 972 TVIF_IMAGE = 0x0002, 973 TVIF_PARAM = 0x0004, 974 TVIF_STATE = 0x0008, 975 TVIF_HANDLE = 0x0010, 976 TVIF_SELECTEDIMAGE = 0x0020, 977 TVIF_CHILDREN = 0x0040, 978 TVIF_INTEGRAL = 0x0080, // IE4+ 979 } 980 981 982 enum int I_CHILDRENCALLBACK = -1; 983 984 985 enum: UINT 986 { 987 TVGN_FIRSTVISIBLE = 0x0005, 988 TVGN_CARET = 0x0009, 989 } 990 991 992 enum: UINT 993 { 994 TV_FIRST = 0x1100, 995 996 TVM_INSERTITEMA = TV_FIRST + 0, 997 TVM_DELETEITEM = TV_FIRST + 1, 998 TVM_EXPAND = TV_FIRST + 2, 999 TVM_GETITEMRECT = TV_FIRST + 4, 1000 TVM_GETINDENT = TV_FIRST + 6, 1001 TVM_SETINDENT = TV_FIRST + 7, 1002 TVM_SETIMAGELIST = TV_FIRST + 9, 1003 TVM_GETNEXTITEM = TV_FIRST + 10, 1004 TVM_SELECTITEM = TV_FIRST + 11, 1005 TVM_GETITEMA = TV_FIRST + 12, 1006 TVM_SETITEMA = TV_FIRST + 13, 1007 TVM_EDITLABELA = TV_FIRST + 14, 1008 TVM_GETVISIBLECOUNT = TV_FIRST + 16, 1009 TVM_HITTEST = TV_FIRST + 17, 1010 TVM_ENSUREVISIBLE = TV_FIRST + 20, 1011 TVM_SETITEMHEIGHT = TV_FIRST + 27, // IE4+ 1012 TVM_GETITEMHEIGHT = TV_FIRST + 28, // IE4+ 1013 TVM_INSERTITEMW = TV_FIRST + 50, 1014 TVM_SETITEMW = TV_FIRST + 63, 1015 1016 TVN_FIRST = cast(UINT)-400, 1017 1018 TVN_SELCHANGINGA = TVN_FIRST - 1, 1019 TVN_SELCHANGEDA = TVN_FIRST - 2, 1020 TVN_GETDISPINFOA = TVN_FIRST - 3, 1021 TVN_ITEMEXPANDINGA = TVN_FIRST - 5, 1022 TVN_ITEMEXPANDEDA = TVN_FIRST - 6, 1023 TVN_BEGINLABELEDITA = TVN_FIRST - 10, 1024 TVN_ENDLABELEDITA = TVN_FIRST - 11, 1025 1026 TVN_SELCHANGINGW = TVN_FIRST - 50, 1027 TVN_SELCHANGEDW = TVN_FIRST - 51, 1028 TVN_GETDISPINFOW = TVN_FIRST - 52, 1029 TVN_ITEMEXPANDINGW = TVN_FIRST - 54, 1030 TVN_ITEMEXPANDEDW = TVN_FIRST - 55, 1031 TVN_BEGINLABELEDITW = TVN_FIRST - 59, 1032 TVN_ENDLABELEDITW = TVN_FIRST - 60, 1033 } 1034 1035 1036 enum: DWORD 1037 { 1038 TVS_HASBUTTONS = 0x0001, 1039 TVS_HASLINES = 0x0002, 1040 TVS_LINESATROOT = 0x0004, 1041 TVS_EDITLABELS = 0x0008, 1042 TVS_SHOWSELALWAYS = 0x0020, 1043 TVS_CHECKBOXES = 0x0100, // IE3+ 1044 TVS_TRACKSELECT = 0x0200, // IE3+ 1045 TVS_FULLROWSELECT = 0x1000, // IE4+ 1046 TVS_NOSCROLL = 0x2000, // IE4+ 1047 TVS_SINGLEEXPAND = 0x0400, // IE4+ 1048 } 1049 1050 1051 version(DFL_D2_AND_ABOVE) 1052 { 1053 /+ // DMD 2.012: Error: cannot implicitly convert expression (cast(HANDLE)cast(void*)-65536u) of type const(HANDLE) to int 1054 const HTREEITEM TVI_ROOT = cast(HTREEITEM)-0x10000; 1055 const HTREEITEM TVI_FIRST = cast(HTREEITEM)-0x0FFFF; 1056 const HTREEITEM TVI_LAST = cast(HTREEITEM)-0x0FFFE; 1057 const HTREEITEM TVI_SORT = cast(HTREEITEM)-0x0FFFD; 1058 +/ 1059 enum: HTREEITEM 1060 { 1061 TVI_ROOT = cast(HTREEITEM)-0x10000, 1062 TVI_FIRST = cast(HTREEITEM)-0x0FFFF, 1063 TVI_LAST = cast(HTREEITEM)-0x0FFFE, 1064 TVI_SORT = cast(HTREEITEM)-0x0FFFD, 1065 } 1066 } 1067 else 1068 { 1069 const HTREEITEM TVI_ROOT = cast(HTREEITEM)-0x10000; 1070 const HTREEITEM TVI_FIRST = cast(HTREEITEM)-0x0FFFF; 1071 const HTREEITEM TVI_LAST = cast(HTREEITEM)-0x0FFFE; 1072 const HTREEITEM TVI_SORT = cast(HTREEITEM)-0x0FFFD; 1073 } 1074 1075 1076 enum: UINT 1077 { 1078 TVC_UNKNOWN = 0x0000, 1079 TVC_BYMOUSE = 0x0001, 1080 TVC_BYKEYBOARD = 0x0002, 1081 } 1082 1083 1084 enum: WPARAM 1085 { 1086 TVSIL_NORMAL = 0, 1087 TVSIL_STATE = 2, 1088 } 1089 1090 1091 enum: UINT 1092 { 1093 SB_SETTEXTA = WM_USER + 1, 1094 SB_SETPARTS = WM_USER + 4, 1095 SB_SIMPLE = WM_USER + 9, 1096 SB_SETTEXTW = WM_USER + 11, 1097 } 1098 1099 1100 enum: DWORD 1101 { 1102 SBARS_SIZEGRIP = 0x0100, 1103 } 1104 1105 1106 enum: WPARAM 1107 { 1108 SBT_NOBORDERS = 0x0100, 1109 SBT_POPOUT = 0x0200, 1110 SBT_RTLREADING = 0x0400, 1111 SBT_OWNERDRAW = 0x1000, 1112 } 1113 1114 1115 enum: LRESULT 1116 { 1117 CDRF_DODEFAULT = 0x0, 1118 CDRF_NEWFONT = 0x2, 1119 CDRF_NOTIFYITEMDRAW = 0x20, 1120 CDRF_NOTIFYITEMERASE = 0x80, 1121 } 1122 1123 1124 enum: DWORD 1125 { 1126 CDDS_ITEM = 0x00010000, 1127 } 1128 1129 1130 enum: UINT 1131 { 1132 CDIS_SELECTED = 0x0001, 1133 } 1134 1135 1136 enum LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR)-1L; 1137 enum LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR)-1L; 1138 1139 1140 enum: UINT 1141 { 1142 CCM_FIRST = 0x2000, 1143 CCM_SETVERSION = CCM_FIRST + 0x7, 1144 } 1145 1146 1147 enum: UINT 1148 { 1149 LVM_FIRST = 0x1000, 1150 1151 LVM_SETBKCOLOR = LVM_FIRST + 1, 1152 LVM_SETIMAGELIST = LVM_FIRST + 3, 1153 LVM_SETITEMA = LVM_FIRST + 6, 1154 LVM_INSERTITEMA = LVM_FIRST + 7, 1155 LVM_DELETEITEM = LVM_FIRST + 8, 1156 LVM_DELETEALLITEMS = LVM_FIRST + 9, 1157 LVM_SETCALLBACKMASK = LVM_FIRST + 11, 1158 LVM_GETNEXTITEM = LVM_FIRST + 12, 1159 LVM_GETITEMRECT = LVM_FIRST + 14, 1160 LVM_ENSUREVISIBLE = LVM_FIRST + 19, 1161 LVM_REDRAWITEMS = LVM_FIRST + 21, 1162 LVM_ARRANGE = LVM_FIRST + 22, 1163 LVM_EDITLABELA = LVM_FIRST + 23, 1164 LVM_GETCOLUMNA = LVM_FIRST + 25, 1165 LVM_SETCOLUMNA = LVM_FIRST + 26, 1166 LVM_INSERTCOLUMNA = LVM_FIRST + 27, 1167 LVM_DELETECOLUMN = LVM_FIRST + 28, 1168 LVM_SETCOLUMNWIDTH = LVM_FIRST + 30, 1169 LVM_SETTEXTCOLOR = LVM_FIRST + 36, 1170 LVM_SETTEXTBKCOLOR = LVM_FIRST + 38, 1171 LVM_SETITEMSTATE = LVM_FIRST + 43, 1172 LVM_GETITEMSTATE = LVM_FIRST + 44, 1173 LVM_SETITEMTEXTA = LVM_FIRST + 46, 1174 LVM_SORTITEMS = LVM_FIRST + 48, 1175 LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54, 1176 LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55, 1177 LVM_INSERTITEMW = LVM_FIRST + 77, 1178 LVM_SETCOLUMNW = LVM_FIRST + 96, 1179 LVM_INSERTCOLUMNW = LVM_FIRST + 97, 1180 LVM_SETITEMTEXTW = LVM_FIRST + 116, 1181 LVM_EDITLABELW = LVM_FIRST + 118, 1182 } 1183 1184 1185 enum: UINT 1186 { 1187 LVIS_OVERLAYMASK = 0x0F00, 1188 LVIS_STATEIMAGEMASK = 0xF000, 1189 } 1190 1191 1192 enum: int 1193 { 1194 LVSCW_AUTOSIZE = -1, 1195 LVSCW_AUTOSIZE_USEHEADER = -2, 1196 } 1197 1198 1199 enum: UINT 1200 { 1201 LVNI_ALL = 0x0000, 1202 LVNI_FOCUSED = 0x0001, 1203 LVNI_SELECTED = 0x0002, 1204 LVNI_CUT = 0x0004, 1205 LVNI_DROPHILITED = 0x0008, 1206 1207 LVNI_ABOVE = 0x0100, 1208 LVNI_BELOW = 0x0200, 1209 LVNI_TOLEFT = 0x0400, 1210 LVNI_TORIGHT = 0x0800, 1211 } 1212 1213 1214 enum: UINT 1215 { 1216 LVN_FIRST = cast(UINT)-100, 1217 1218 LVN_ITEMCHANGING = (LVN_FIRST - 0), 1219 LVN_ITEMCHANGED = (LVN_FIRST - 1), 1220 1221 LVN_BEGINLABELEDITA = LVN_FIRST - 5, 1222 LVN_BEGINLABELEDITW = LVN_FIRST - 75, 1223 1224 LVN_ENDLABELEDITA = LVN_FIRST - 6, 1225 LVN_ENDLABELEDITW = LVN_FIRST - 76, 1226 1227 LVN_COLUMNCLICK = LVN_FIRST - 8, 1228 1229 LVN_GETDISPINFOA = LVN_FIRST - 50, 1230 LVN_GETDISPINFOW = LVN_FIRST - 77, 1231 } 1232 1233 1234 enum: UINT 1235 { 1236 LVCF_FMT = 0x0001, 1237 LVCF_WIDTH = 0x0002, 1238 LVCF_TEXT = 0x0004, 1239 LVCF_SUBITEM = 0x0008, 1240 } 1241 1242 1243 enum: int 1244 { 1245 LVCFMT_LEFT = 0x0000, 1246 LVCFMT_RIGHT = 0x0001, 1247 LVCFMT_CENTER = 0x0002, 1248 LVCFMT_JUSTIFYMASK = 0x0003, 1249 } 1250 1251 1252 enum: UINT 1253 { 1254 LVIF_TEXT = 0x0001, 1255 LVIF_IMAGE = 0x0002, 1256 LVIF_PARAM = 0x0004, 1257 LVIF_STATE = 0x0008, 1258 } 1259 1260 1261 enum: UINT 1262 { 1263 LVIS_FOCUSED = 0x0001, 1264 LVIS_SELECTED = 0x0002, 1265 LVIS_CUT = 0x0004, 1266 LVIS_DROPHILITED = 0x0008, 1267 } 1268 1269 1270 enum: int 1271 { 1272 LVA_DEFAULT = 0x0000, 1273 LVA_ALIGNLEFT = 0x0001, 1274 LVA_ALIGNTOP = 0x0002, 1275 LVA_SNAPTOGRID = 0x0005, 1276 } 1277 1278 1279 enum: int 1280 { 1281 LVIR_BOUNDS = 0, 1282 LVIR_ICON = 1, 1283 LVIR_LABEL = 2, 1284 LVIR_SELECTBOUNDS = 3, 1285 } 1286 1287 1288 enum: UINT 1289 { 1290 LVS_ALIGNTOP = 0x0000, 1291 LVS_ALIGNLEFT = 0x0800, 1292 1293 LVS_ICON = 0x0000, 1294 LVS_REPORT = 0x0001, 1295 LVS_SMALLICON = 0x0002, 1296 LVS_LIST = 0x0003, 1297 LVS_SINGLESEL = 0x0004, 1298 LVS_SHOWSELALWAYS = 0x0008, 1299 LVS_SORTASCENDING = 0x0010, 1300 LVS_SORTDESCENDING = 0x0020, 1301 LVS_SHAREIMAGELISTS = 0x0040, 1302 LVS_NOLABELWRAP = 0x0080, 1303 LVS_AUTOARRANGE = 0x0100, 1304 LVS_EDITLABELS = 0x0200, 1305 LVS_OWNERDATA = 0x1000, 1306 LVS_NOSCROLL = 0x2000, 1307 } 1308 1309 1310 enum: DWORD 1311 { 1312 LVS_EX_GRIDLINES = 0x00000001, 1313 LVS_EX_SUBITEMIMAGES = 0x00000002, 1314 LVS_EX_CHECKBOXES = 0x00000004, 1315 LVS_EX_TRACKSELECT = 0x00000008, 1316 LVS_EX_HEADERDRAGDROP = 0x00000010, 1317 LVS_EX_FULLROWSELECT = 0x00000020, 1318 LVS_EX_ONECLICKACTIVATE = 0x00000040, 1319 LVS_EX_TWOCLICKACTIVATE = 0x00000080, 1320 1321 // IE4+ 1322 LVS_EX_FLATSB = 0x00000100, 1323 LVS_EX_REGIONAL = 0x00000200, 1324 LVS_EX_INFOTIP = 0x00000400, 1325 LVS_EX_UNDERLINEHOT = 0x00000800, 1326 LVS_EX_UNDERLINECOLD = 0x00001000, 1327 LVS_EX_MULTIWORKAREAS = 0x00002000, 1328 } 1329 1330 1331 enum 1332 { 1333 LVSIL_NORMAL = 0, 1334 LVSIL_SMALL = 1, 1335 LVSIL_STATE = 2, 1336 } 1337 1338 1339 enum 1340 { 1341 I_IMAGECALLBACK = -1, 1342 } 1343 1344 1345 enum: UINT 1346 { 1347 TCM_FIRST = 0x1300, 1348 1349 TCM_SETITEMA = TCM_FIRST + 6, 1350 TCM_INSERTITEMA = TCM_FIRST + 7, 1351 TCM_DELETEITEM = TCM_FIRST + 8, 1352 TCM_DELETEALLITEMS = TCM_FIRST + 9, 1353 TCM_GETITEMRECT = TCM_FIRST + 10, 1354 TCM_GETCURSEL = TCM_FIRST + 11, 1355 TCM_SETCURSEL = TCM_FIRST + 12, 1356 TCM_SETITEMEXTRA = TCM_FIRST + 14, 1357 TCM_ADJUSTRECT = TCM_FIRST + 40, 1358 TCM_SETITEMSIZE = TCM_FIRST + 41, 1359 TCM_SETPADDING = TCM_FIRST + 43, 1360 TCM_GETROWCOUNT = TCM_FIRST + 44, 1361 TCM_SETTOOLTIPS = TCM_FIRST + 46, 1362 TCM_SETITEMW = TCM_FIRST + 61, 1363 TCM_INSERTITEMW = TCM_FIRST + 62, 1364 } 1365 1366 1367 enum: UINT 1368 { 1369 TCIF_TEXT = 0x0001, 1370 TCIF_IMAGE = 0x0002, 1371 TCIF_RTLREADING = 0x0004, 1372 TCIF_PARAM = 0x0008, 1373 } 1374 1375 1376 enum: DWORD 1377 { 1378 TCS_FORCEICONLEFT = 0x0010, 1379 TCS_FORCELABELLEFT = 0x0020, 1380 TCS_TABS = 0x0000, 1381 TCS_BUTTONS = 0x0100, 1382 TCS_SINGLELINE = 0x0000, 1383 TCS_MULTILINE = 0x0200, 1384 TCS_RIGHTJUSTIFY = 0x0000, 1385 TCS_FIXEDWIDTH = 0x0400, 1386 TCS_RAGGEDRIGHT = 0x0800, 1387 TCS_FOCUSONBUTTONDOWN = 0x1000, 1388 TCS_OWNERDRAWFIXED = 0x2000, 1389 TCS_TOOLTIPS = 0x4000, 1390 TCS_FOCUSNEVER = 0x8000, 1391 1392 // IE3+ 1393 TCS_SCROLLOPPOSITE = 0x0001, 1394 TCS_BOTTOM = 0x0002, 1395 TCS_RIGHT = 0x0002, 1396 TCS_MULTISELECT = 0x0004, 1397 TCS_HOTTRACK = 0x0040, 1398 TCS_VERTICAL = 0x0080, 1399 1400 // IE4+ 1401 TCS_FLATBUTTONS = 0x0008, 1402 } 1403 1404 1405 enum: UINT 1406 { 1407 TCN_FIRST = cast(UINT)-550, 1408 1409 TCN_SELCHANGE = TCN_FIRST - 1, 1410 TCN_SELCHANGING = TCN_FIRST - 2, 1411 } 1412 1413 1414 enum 1415 { 1416 HTERROR = -2, 1417 HTTRANSPARENT = -1, 1418 HTNOWHERE = 0, 1419 HTCLIENT = 1, 1420 HTCAPTION = 2, 1421 HTSYSMENU = 3, 1422 HTGROWBOX = 4, 1423 HTMENU = 5, 1424 HTHSCROLL = 6, 1425 HTVSCROLL = 7, 1426 HTMINBUTTON = 8, 1427 HTMAXBUTTON = 9, 1428 HTLEFT = 10, 1429 HTRIGHT = 11, 1430 HTTOP = 12, 1431 HTTOPLEFT = 13, 1432 HTTOPRIGHT = 14, 1433 HTBOTTOM = 15, 1434 HTBOTTOMLEFT = 16, 1435 HTBOTTOMRIGHT = 17, 1436 HTBORDER = 18, 1437 HTOBJECT = 19, 1438 HTCLOSE = 20, 1439 HTHELP = 21, 1440 HTSIZE = HTGROWBOX, 1441 HTREDUCE = HTMINBUTTON, 1442 HTZOOM = HTMAXBUTTON, 1443 HTSIZEFIRST = HTLEFT, 1444 HTSIZELAST = HTBOTTOMRIGHT, 1445 } 1446 1447 1448 enum 1449 { 1450 WVR_VALIDRECTS = 0x0400, 1451 } 1452 1453 1454 enum: UINT 1455 { 1456 NIF_MESSAGE = 0x00000001, 1457 NIF_ICON = 0x00000002, 1458 NIF_TIP = 0x00000004, 1459 } 1460 1461 1462 enum: DWORD 1463 { 1464 NIM_ADD = 0x00000000, 1465 NIM_MODIFY = 0x00000001, 1466 NIM_DELETE = 0x00000002, 1467 } 1468 1469 1470 enum: DWORD 1471 { 1472 VER_PLATFORM_WIN32s = 0, 1473 VER_PLATFORM_WIN32_WINDOWS = 1, 1474 VER_PLATFORM_WIN32_NT = 2, 1475 VER_PLATFORM_X64_WINDOWS = 3 1476 } 1477 1478 1479 enum: UINT 1480 { 1481 SIF_RANGE = 0x0001, 1482 SIF_PAGE = 0x0002, 1483 SIF_POS = 0x0004, 1484 SIF_DISABLENOSCROLL = 0x0008, 1485 SIF_ALL = 23, 1486 } 1487 1488 1489 enum: int 1490 { 1491 SM_SWAPBUTTON = 23, 1492 1493 SM_CXFRAME = 32, 1494 SM_CYFRAME = 33, 1495 1496 SM_CXSMICON = 49, 1497 SM_CYSMICON = 50, 1498 1499 SM_CYSMCAPTION = 51, 1500 1501 SM_CXSIZEFRAME = SM_CXFRAME, 1502 SM_CYSIZEFRAME = SM_CYFRAME, 1503 1504 SM_CYMENU = 15, 1505 1506 SM_CXVSCROLL = 2, 1507 SM_CYHSCROLL = 3, 1508 } 1509 1510 1511 enum: UINT 1512 { 1513 DFC_SCROLL = 3, 1514 } 1515 1516 1517 enum: UINT 1518 { 1519 DFCS_SCROLLSIZEGRIP = 0x0008, 1520 } 1521 1522 1523 enum: UINT 1524 { 1525 LR_LOADFROMFILE = 0x0010, 1526 LR_DEFAULTSIZE = 0x0040, 1527 LR_COPYFROMRESOURCE = 0x4000, 1528 LR_SHARED = 0x8000, 1529 } 1530 1531 1532 enum: COLORREF 1533 { 1534 CLR_INVALID = 0xFFFFFFFF, 1535 CLR_NONE = CLR_INVALID, 1536 } 1537 1538 1539 enum: UINT 1540 { 1541 DT_TOP = 0x00000000, 1542 DT_LEFT = 0x00000000, 1543 DT_CENTER = 0x00000001, 1544 DT_RIGHT = 0x00000002, 1545 DT_VCENTER = 0x00000004, 1546 DT_BOTTOM = 0x00000008, 1547 DT_WORDBREAK = 0x00000010, 1548 DT_SINGLELINE = 0x00000020, 1549 DT_EXPANDTABS = 0x00000040, 1550 DT_TABSTOP = 0x00000080, 1551 DT_NOCLIP = 0x00000100, 1552 DT_EXTERNALLEADING = 0x00000200, 1553 DT_CALCRECT = 0x00000400, 1554 DT_NOPREFIX = 0x00000800, 1555 DT_INTERNAL = 0x00001000, 1556 DT_EDITCONTROL = 0x00002000, 1557 DT_PATH_ELLIPSIS = 0x00004000, 1558 DT_END_ELLIPSIS = 0x00008000, 1559 DT_MODIFYSTRING = 0x00010000, 1560 DT_RTLREADING = 0x00020000, 1561 DT_WORD_ELLIPSIS = 0x00040000, 1562 } 1563 1564 1565 enum: UINT 1566 { 1567 CF_TEXT = 1, 1568 CF_BITMAP = 2, 1569 CF_METAFILEPICT = 3, 1570 CF_SYLK = 4, 1571 CF_DIF = 5, 1572 CF_TIFF = 6, 1573 CF_OEMTEXT = 7, 1574 CF_DIB = 8, 1575 CF_PALETTE = 9, 1576 CF_PENDATA = 10, 1577 CF_RIFF = 11, 1578 CF_WAVE = 12, 1579 CF_UNICODETEXT = 13, 1580 CF_ENHMETAFILE = 14, 1581 CF_HDROP = 15, 1582 CF_LOCALE = 16, 1583 } 1584 1585 1586 enum: UINT 1587 { 1588 BIF_RETURNONLYFSDIRS = 0x0001, 1589 BIF_NEWDIALOGSTYLE = 0x0040, 1590 BIF_NONEWFOLDERBUTTON = 0x0200, // shell32.dll 6.0+ 1591 } 1592 1593 1594 enum 1595 { 1596 TRANSPARENT = 1, 1597 OPAQUE = 2, 1598 } 1599 1600 1601 enum: UINT 1602 { 1603 ETO_OPAQUE = 0x0002, 1604 ETO_CLIPPED = 0x0004, 1605 } 1606 1607 1608 enum: UINT 1609 { 1610 PS_SOLID = 0, 1611 PS_DASH = 1, 1612 PS_DOT = 2, 1613 PS_DASHDOT = 3, 1614 PS_DASHDOTDOT = 4, 1615 PS_NULL = 5, 1616 PS_INSIDEFRAME = 6, 1617 } 1618 1619 1620 enum: UINT 1621 { 1622 IMAGE_BITMAP = 0, 1623 IMAGE_ICON = 1, 1624 IMAGE_CURSOR = 2, 1625 } 1626 1627 1628 enum LPCSTR IDI_HAND = cast(LPCSTR)32513; 1629 enum LPCSTR IDI_QUESTION = cast(LPCSTR)32514; 1630 enum LPCSTR IDI_EXCLAMATION = cast(LPCSTR)32515; 1631 enum LPCSTR IDI_ASTERISK = cast(LPCSTR)32516; 1632 enum LPCSTR IDI_INFORMATION = IDI_ASTERISK; 1633 1634 1635 enum LPCSTR RT_STRING = cast(LPCSTR)6; 1636 1637 1638 enum: LONG 1639 { 1640 HS_HORIZONTAL = 0, 1641 HS_VERTICAL = 1, 1642 HS_FDIAGONAL = 2, 1643 HS_BDIAGONAL = 3, 1644 HS_CROSS = 4, 1645 HS_DIAGCROSS = 5, 1646 } 1647 1648 1649 enum: DWORD 1650 { 1651 LOAD_LIBRARY_AS_DATAFILE = 0x00000002, 1652 } 1653 1654 1655 enum: DWORD 1656 { 1657 // IE3+ 1658 ICC_LISTVIEW_CLASSES = 0x00000001, 1659 ICC_TREEVIEW_CLASSES = 0x00000002, 1660 ICC_BAR_CLASSES = 0x00000004, // tool/status/track 1661 ICC_TAB_CLASSES = 0x00000008, 1662 ICC_UPDOWN_CLASS = 0x00000010, 1663 ICC_PROGRESS_CLASS = 0x00000020, 1664 ICC_HOTKEY_CLASS = 0x00000040, 1665 ICC_ANIMATE_CLASS = 0x00000080, 1666 ICC_WIN95_CLASSES = 0x000000FF, 1667 ICC_DATE_CLASSES = 0x00000100, 1668 ICC_USEREX_CLASSES = 0x00000200, 1669 ICC_COOL_CLASSES = 0x00000400, 1670 1671 ICC_STANDARD_CLASSES = 0x00004000, 1672 1673 // IE4+ 1674 ICC_INTERNET_CLASSES = 0x00000800, 1675 ICC_PAGESCROLLER_CLASS = 0x00001000, 1676 ICC_NATIVEFNTCTL_CLASS = 0x00002000, 1677 } 1678 1679 1680 enum: UINT 1681 { 1682 PBM_SETRANGE = WM_USER + 1, 1683 PBM_SETPOS = WM_USER + 2, 1684 PBM_DELTAPOS = WM_USER + 3, 1685 PBM_SETSTEP = WM_USER + 4, 1686 PBM_STEPIT = WM_USER + 5, 1687 } 1688 1689 1690 enum DWORD MAX_COMPUTERNAME_LENGTH = 15; 1691 1692 enum DWORD LF_FACESIZE = 32; 1693 1694 1695 alias HANDLE HIMAGELIST; 1696 1697 1698 enum: UINT 1699 { 1700 ILD_NORMAL = 0, 1701 } 1702 1703 1704 enum: UINT 1705 { 1706 //ILC_COLOR = , 1707 ILC_COLOR4 = 0x0004, 1708 ILC_COLOR8 = 0x0008, 1709 ILC_COLOR16 = 0x0010, 1710 ILC_COLOR24 = 0x0018, 1711 ILC_COLOR32 = 0x0020, 1712 1713 ILC_MASK = 0x0001, 1714 } 1715 1716 1717 // Rich edit. 1718 alias DWORD function(/+ DWORD_PTR +/ DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG* pcb) EDITSTREAMCALLBACK; 1719 1720 1721 alias DWORD LCID; 1722 1723 1724 struct WINDOWPOS 1725 { 1726 HWND hwnd; 1727 HWND hwndInsertAfter; 1728 int x; 1729 int y; 1730 int cx; 1731 int cy; 1732 UINT flags; 1733 } 1734 alias WINDOWPOS* LPWINDOWPOS; 1735 alias WINDOWPOS* PWINDOWPOS; 1736 1737 1738 struct WNDCLASSW 1739 { 1740 UINT style; 1741 WNDPROC lpfnWndProc; 1742 int cbClsExtra; 1743 int cbWndExtra; 1744 HANDLE hInstance; 1745 HICON hIcon; 1746 HCURSOR hCursor; 1747 HBRUSH hbrBackground; 1748 LPCWSTR lpszMenuName; 1749 LPCWSTR lpszClassName; 1750 } 1751 alias WNDCLASSW* LPWNDCLASSW; 1752 1753 1754 struct OSVERSIONINFOA 1755 { 1756 DWORD dwOSVersionInfoSize; 1757 DWORD dwMajorVersion; 1758 DWORD dwMinorVersion; 1759 DWORD dwBuildNumber; 1760 DWORD dwPlatformId; 1761 CHAR[128] szCSDVersion; 1762 } 1763 alias OSVERSIONINFOA* LPOSVERSIONINFOA; 1764 1765 1766 const HWND HWND_MESSAGE = cast(HWND)-3; // Win2000/XP only. 1767 1768 1769 struct NOTIFYICONDATA 1770 { 1771 DWORD cbSize; 1772 HWND hWnd; 1773 UINT uID; 1774 UINT uFlags; 1775 UINT uCallbackMessage; 1776 HICON hIcon; 1777 char[64] szTip; 1778 } 1779 alias NOTIFYICONDATA* PNOTIFYICONDATA; 1780 1781 1782 // Unaligned! 1783 struct SHITEMID 1784 { 1785 align(1): 1786 USHORT cb; // Size including cb. 1787 BYTE[1] abID; 1788 } 1789 alias SHITEMID* PSHITEMID; 1790 alias SHITEMID* LPSHITEMID; 1791 alias SHITEMID* LPCSHITEMID; 1792 1793 1794 struct ITEMIDLIST 1795 { 1796 SHITEMID mkid; 1797 } 1798 alias ITEMIDLIST* PITEMIDLIST; 1799 alias ITEMIDLIST* LPITEMIDLIST; 1800 alias ITEMIDLIST* LPCITEMIDLIST; 1801 1802 1803 alias int function(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData) BFFCALLBACK; 1804 1805 1806 struct BROWSEINFOA 1807 { 1808 HWND hwndOwner; 1809 LPCITEMIDLIST pidlRoot; 1810 LPSTR pszDisplayName; 1811 LPCSTR lpszTitle; 1812 UINT ulFlags; 1813 BFFCALLBACK lpfn; 1814 LPARAM lParam; 1815 int iImage; 1816 } 1817 alias BROWSEINFOA* PBROWSEINFOA; 1818 alias BROWSEINFOA* LPBROWSEINFOA; 1819 1820 1821 struct BROWSEINFOW 1822 { 1823 HWND hwndOwner; 1824 LPCITEMIDLIST pidlRoot; 1825 LPWSTR pszDisplayName; 1826 LPCWSTR lpszTitle; 1827 UINT ulFlags; 1828 BFFCALLBACK lpfn; 1829 LPARAM lParam; 1830 int iImage; 1831 } 1832 alias BROWSEINFOW* PBROWSEINFOW; 1833 alias BROWSEINFOW* LPBROWSEINFOW; 1834 1835 1836 struct LOGBRUSH 1837 { 1838 UINT lbStyle; 1839 COLORREF lbColor; 1840 LONG lbHatch; 1841 } 1842 alias LOGBRUSH* LPLOGBRUSH; 1843 1844 1845 struct DRAWTEXTPARAMS 1846 { 1847 UINT cbSize; 1848 int iTabLength; 1849 int iLeftMargin; 1850 int iRightMargin; 1851 UINT uiLengthDrawn; 1852 } 1853 alias DRAWTEXTPARAMS* LPDRAWTEXTPARAMS; 1854 1855 1856 struct NMHDR 1857 { 1858 HWND hwndFrom; 1859 UINT idFrom; 1860 UINT code; 1861 } 1862 alias NMHDR* LPNMHDR; 1863 1864 1865 struct NMCUSTOMDRAW 1866 { 1867 NMHDR hdr; 1868 DWORD dwDrawStage; 1869 HDC hdc; 1870 RECT rc; 1871 /+ DWORD_PTR +/ DWORD dwItemSpec; 1872 UINT uItemState; 1873 LPARAM lItemlParam; 1874 } 1875 alias NMCUSTOMDRAW* LPNMCUSTOMDRAW; 1876 1877 1878 struct NMTVCUSTOMDRAW 1879 { 1880 NMCUSTOMDRAW nmcd; 1881 COLORREF clrText; 1882 COLORREF clrTextBk; 1883 int iLevel; // IE4+ 1884 } 1885 alias NMTVCUSTOMDRAW* LPNMTVCUSTOMDRAW; 1886 1887 1888 struct NM_LISTVIEW 1889 { 1890 NMHDR hdr; 1891 int iItem; 1892 int iSubItem; 1893 UINT uNewState; 1894 UINT uOldState; 1895 UINT uChanged; 1896 POINT ptAction; 1897 LPARAM lParam; 1898 } 1899 1900 1901 struct LVITEMA 1902 { 1903 UINT mask; 1904 int iItem; 1905 int iSubItem; 1906 UINT state; 1907 UINT stateMask; 1908 LPSTR pszText; 1909 int cchTextMax; 1910 int iImage; 1911 LPARAM lParam; 1912 } 1913 alias LVITEMA* LPLVITEMA; 1914 alias LVITEMA* PLVITEMA; 1915 alias LVITEMA LV_ITEMA; 1916 alias LVITEMA* LPLV_ITEMA; 1917 alias LVITEMA* PLV_ITEMA; 1918 1919 1920 struct LVITEMW 1921 { 1922 UINT mask; 1923 int iItem; 1924 int iSubItem; 1925 UINT state; 1926 UINT stateMask; 1927 LPWSTR pszText; 1928 int cchTextMax; 1929 int iImage; 1930 LPARAM lParam; 1931 } 1932 alias LVITEMW* LPLVITEMW; 1933 alias LVITEMW* PLVITEMW; 1934 alias LVITEMW LV_ITEMW; 1935 alias LVITEMW* LPLV_ITEMW; 1936 alias LVITEMW* PLV_ITEMW; 1937 1938 1939 struct LVDISPINFOA 1940 { 1941 NMHDR hdr; 1942 LVITEMA item; 1943 } 1944 alias LVDISPINFOA* LPLVDISPINFOA; 1945 alias LVDISPINFOA* PLVDISPINFOA; 1946 alias LVDISPINFOA LV_DISPINFOA; 1947 alias LVDISPINFOA* LPLV_DISPINFOA; 1948 alias LVDISPINFOA* PLV_DISPINFOA; 1949 1950 1951 struct LVDISPINFOW 1952 { 1953 NMHDR hdr; 1954 LVITEMW item; 1955 } 1956 alias LVDISPINFOW* LPLVDISPINFOW; 1957 alias LVDISPINFOW* PLVDISPINFOW; 1958 alias LVDISPINFOW LV_DISPINFOW; 1959 alias LVDISPINFOW* LPLV_DISPINFOW; 1960 alias LVDISPINFOW* PLV_DISPINFOW; 1961 1962 1963 struct LVCOLUMNA 1964 { 1965 UINT mask; 1966 int fmt; 1967 int cx; 1968 LPSTR pszText; 1969 int cchTextMax; 1970 int iSubItem; 1971 } 1972 alias LVCOLUMNA* LPLVCOLUMNA; 1973 alias LVCOLUMNA* PLVCOLUMNA; 1974 alias LVCOLUMNA LV_COLUMNA; 1975 alias LVCOLUMNA* LPLV_COLUMNA; 1976 alias LVCOLUMNA* PLV_COLUMNA; 1977 1978 1979 struct LVCOLUMNW 1980 { 1981 UINT mask; 1982 int fmt; 1983 int cx; 1984 LPWSTR pszText; 1985 int cchTextMax; 1986 int iSubItem; 1987 } 1988 alias LVCOLUMNW* LPLVCOLUMNW; 1989 alias LVCOLUMNW* PLVCOLUMNW; 1990 alias LVCOLUMNW LV_COLUMNW; 1991 alias LVCOLUMNW* LPLV_COLUMNW; 1992 alias LVCOLUMNW* PLV_COLUMNW; 1993 1994 1995 struct TBBUTTON 1996 { 1997 int iBitmap; 1998 int idCommand; 1999 BYTE fsState; 2000 BYTE fsStyle; 2001 BYTE[2] bReserved; 2002 DWORD dwData; 2003 int iString; 2004 } 2005 alias TBBUTTON* PTBBUTTON, LPTBBUTTON, LPCTBBUTTON; 2006 2007 2008 struct NMTOOLBARA 2009 { 2010 NMHDR hdr; 2011 int iItem; 2012 TBBUTTON tbButton; 2013 int cchText; 2014 LPSTR pszText; 2015 RECT rcButton; 2016 } 2017 alias NMTOOLBARA* LPNMTOOLBARA; 2018 2019 2020 struct NMTOOLBARW 2021 { 2022 NMHDR hdr; 2023 int iItem; 2024 TBBUTTON tbButton; 2025 int cchText; 2026 LPWSTR pszText; 2027 RECT rcButton; 2028 } 2029 alias NMTOOLBARW* LPNMTOOLBARW; 2030 2031 2032 enum: BYTE 2033 { 2034 TBSTYLE_BUTTON = 0x00, 2035 TBSTYLE_SEP = 0x01, 2036 TBSTYLE_CHECK = 0x02, 2037 TBSTYLE_GROUP = 0x04, 2038 TBSTYLE_DROPDOWN = 0x08, 2039 TBSTYLE_AUTOSIZE = 0x10, 2040 2041 /+ 2042 // The following are too big for TBBUTTON.fsStyle 2043 TBSTYLE_TOOLTIPS = 0x0100, 2044 TBSTYLE_WRAPABLE = 0x0200, 2045 TBSTYLE_ALTDRAG = 0x0400, 2046 +/ 2047 } 2048 2049 2050 enum: BYTE 2051 { 2052 //BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE, 2053 2054 BTNS_WHOLEDROPDOWN = 0x80, 2055 } 2056 2057 2058 enum: BYTE 2059 { 2060 TBSTATE_CHECKED = 0x01, 2061 TBSTATE_PRESSED = 0x02, 2062 TBSTATE_ENABLED = 0x04, 2063 TBSTATE_HIDDEN = 0x08, 2064 TBSTATE_INDETERMINATE = 0x10, 2065 TBSTATE_WRAP = 0x20, 2066 TBSTATE_ELLIPSES = 0x40, 2067 TBSTATE_MARKED = 0x80, 2068 } 2069 2070 2071 enum: LRESULT 2072 { 2073 TBDDRET_DEFAULT = 0, 2074 TBDDRET_NODEFAULT = 1, 2075 TBDDRET_TREATPRESSED = 2, 2076 } 2077 2078 2079 enum: UINT 2080 { 2081 TB_SETSTATE = WM_USER + 17, 2082 TB_ADDBUTTONSA = WM_USER + 20, 2083 TB_INSERTBUTTONA = WM_USER + 21, 2084 TB_DELETEBUTTON = WM_USER + 22, 2085 TB_GETITEMRECT = WM_USER + 29, 2086 TB_BUTTONSTRUCTSIZE = WM_USER + 30, 2087 TB_SETBUTTONSIZE = WM_USER + 31, 2088 TB_AUTOSIZE = WM_USER + 33, 2089 TB_SETIMAGELIST = WM_USER + 48, 2090 TB_INSERTBUTTONW = WM_USER + 67, 2091 TB_ADDBUTTONSW = WM_USER + 68, 2092 TB_SETPADDING = WM_USER + 87, 2093 } 2094 2095 2096 enum: UINT 2097 { 2098 TBN_FIRST = cast(UINT)-700, 2099 TBN_DROPDOWN = TBN_FIRST - 10, 2100 } 2101 2102 2103 struct TVITEMA 2104 { 2105 UINT mask; 2106 HTREEITEM hItem; 2107 UINT state; 2108 UINT stateMask; 2109 LPSTR pszText; 2110 int cchTextMax; 2111 int iImage; 2112 int iSelectedImage; 2113 int cChildren; 2114 LPARAM lParam; 2115 } 2116 alias TVITEMA* LPTVITEMA; 2117 alias TVITEMA* PTVITEMA; 2118 alias TVITEMA TV_ITEMA; 2119 alias TVITEMA* LPTV_ITEMA; 2120 alias TVITEMA* PTV_ITEMA; 2121 2122 2123 struct TVITEMW 2124 { 2125 UINT mask; 2126 HTREEITEM hItem; 2127 UINT state; 2128 UINT stateMask; 2129 LPWSTR pszText; 2130 int cchTextMax; 2131 int iImage; 2132 int iSelectedImage; 2133 int cChildren; 2134 LPARAM lParam; 2135 } 2136 alias TVITEMW* LPTVITEMW; 2137 alias TVITEMW* PTVITEMW; 2138 alias TVITEMW TV_ITEMW; 2139 alias TVITEMW* LPTV_ITEMW; 2140 alias TVITEMW* PTV_ITEMW; 2141 2142 2143 struct TVHITTESTINFO 2144 { 2145 POINT pt; 2146 UINT flags; 2147 HTREEITEM hItem; 2148 } 2149 alias TVHITTESTINFO* LPTVHITTESTINFO; 2150 2151 2152 struct TVINSERTSTRUCTA 2153 { 2154 HTREEITEM hParent; 2155 HTREEITEM hInsertAfter; 2156 TV_ITEMA item; 2157 } 2158 alias TVINSERTSTRUCTA* LPTVINSERTSTRUCTA; 2159 alias TVINSERTSTRUCTA TV_INSERTSTRUCTA; 2160 alias TVINSERTSTRUCTA* LPTV_INSERTSTRUCTA; 2161 2162 2163 struct NMTREEVIEWA 2164 { 2165 NMHDR hdr; 2166 UINT action; 2167 TVITEMA itemOld; 2168 TVITEMA itemNew; 2169 POINT ptDrag; 2170 } 2171 alias NMTREEVIEWA* LPNMTREEVIEWA; 2172 alias NMTREEVIEWA NM_TREEVIEW; 2173 alias NMTREEVIEWA* LPNM_TREEVIEW; 2174 2175 2176 struct NMTVDISPINFOA 2177 { 2178 NMHDR hdr; 2179 TVITEMA item; 2180 } 2181 alias NMTVDISPINFOA* LPNMTVDISPINFOA; 2182 alias NMTVDISPINFOA TV_DISPINFOA; 2183 alias NMTVDISPINFOA* LPTV_DISPINFOA; 2184 2185 2186 struct NMTVDISPINFOW 2187 { 2188 NMHDR hdr; 2189 TVITEMW item; 2190 } 2191 alias NMTVDISPINFOW* LPNMTVDISPINFOW; 2192 alias NMTVDISPINFOW TV_DISPINFOW; 2193 alias NMTVDISPINFOW* LPTV_DISPINFOW; 2194 2195 2196 struct TCITEMA 2197 { 2198 UINT mask; 2199 UINT lpReserved1; 2200 UINT lpReserved2; 2201 LPSTR pszText; 2202 int cchTextMax; 2203 int iImage; 2204 LPARAM lParam; 2205 } 2206 alias TCITEMA* LPTCITEMA; 2207 alias TCITEMA TC_ITEMA; 2208 alias TCITEMA* LPTC_ITEMA; 2209 2210 2211 struct TCITEMW 2212 { 2213 UINT mask; 2214 UINT lpReserved1; 2215 UINT lpReserved2; 2216 LPWSTR pszText; 2217 int cchTextMax; 2218 int iImage; 2219 LPARAM lParam; 2220 } 2221 alias TCITEMW* LPTCITEMW; 2222 alias TCITEMW TC_ITEMW; 2223 alias TCITEMW* LPTC_ITEMW; 2224 2225 2226 // Rich edit. 2227 struct CHARRANGE 2228 { 2229 LONG cpMin; 2230 LONG cpMax; 2231 } 2232 2233 2234 // Rich edit. 2235 struct EDITSTREAM 2236 { 2237 /+ DWORD_PTR +/ DWORD dwCookie; 2238 DWORD dwError; 2239 EDITSTREAMCALLBACK pfnCallback; 2240 } 2241 2242 2243 // Rich edit. 2244 struct CHARFORMAT2A 2245 { 2246 UINT cbSize; 2247 DWORD dwMask; 2248 DWORD dwEffects; 2249 LONG yHeight; 2250 LONG yOffset; 2251 COLORREF crTextColor; 2252 BYTE bCharSet; 2253 BYTE bPitchAndFamily; 2254 char[LF_FACESIZE] szFaceName; 2255 WORD wWeight; 2256 SHORT sSpacing; 2257 COLORREF crBackColor; 2258 LCID lcid; 2259 DWORD dwReserved; 2260 SHORT sStyle; 2261 WORD wKerning; 2262 BYTE bUnderlineType; 2263 BYTE bAnimation; 2264 BYTE bRevAuthor; 2265 BYTE bReserved1; 2266 } 2267 static assert(CHARFORMAT2A.sizeof == 84); 2268 2269 2270 // Rich edit. 2271 struct ENLINK 2272 { 2273 NMHDR nmhdr; 2274 UINT msg; 2275 WPARAM wParam; 2276 LPARAM lParam; 2277 CHARRANGE chrg; 2278 } 2279 2280 2281 struct TEXTRANGEA 2282 { 2283 CHARRANGE chrg; 2284 LPSTR lpstrText; 2285 } 2286 2287 2288 struct MENUITEMINFOA 2289 { 2290 UINT cbSize; 2291 UINT fMask; 2292 UINT fType; 2293 UINT fState; 2294 UINT wID; 2295 HMENU hSubMenu; 2296 HBITMAP hbmpChecked; 2297 HBITMAP hbmpUnchecked; 2298 DWORD dwItemData; 2299 LPSTR dwTypeData; 2300 UINT cch; 2301 //HBITMAP hbmpItem; 2302 } 2303 alias MENUITEMINFOA* LPMENUITEMINFOA; 2304 2305 2306 struct MENUITEMINFOW 2307 { 2308 UINT cbSize; 2309 UINT fMask; 2310 UINT fType; 2311 UINT fState; 2312 UINT wID; 2313 HMENU hSubMenu; 2314 HBITMAP hbmpChecked; 2315 HBITMAP hbmpUnchecked; 2316 DWORD dwItemData; 2317 LPWSTR dwTypeData; 2318 UINT cch; 2319 //HBITMAP hbmpItem; 2320 } 2321 alias MENUITEMINFOW* LPMENUITEMINFOW; 2322 2323 2324 struct SCROLLINFO 2325 { 2326 UINT cbSize; 2327 UINT fMask; 2328 int nMin; 2329 int nMax; 2330 UINT nPage; 2331 int nPos; 2332 int nTrackPos; 2333 } 2334 alias SCROLLINFO* LPSCROLLINFO; 2335 2336 2337 struct OPENFILENAMEW 2338 { 2339 DWORD lStructSize; 2340 HWND hwndOwner; 2341 HINSTANCE hInstance; 2342 LPCWSTR lpstrFilter; 2343 LPWSTR lpstrCustomFilter; 2344 DWORD nMaxCustFilter; 2345 DWORD nFilterIndex; 2346 LPWSTR lpstrFile; 2347 DWORD nMaxFile; 2348 LPWSTR lpstrFileTitle; 2349 DWORD nMaxFileTitle; 2350 LPCWSTR lpstrInitialDir; 2351 LPCWSTR lpstrTitle; 2352 DWORD Flags; 2353 WORD nFileOffset; 2354 WORD nFileExtension; 2355 LPCWSTR lpstrDefExt; 2356 LPARAM lCustData; 2357 LPOFNHOOKPROC lpfnHook; 2358 LPCWSTR lpTemplateName; 2359 } 2360 alias OPENFILENAMEW* LPOPENFILENAMEW; 2361 2362 2363 alias UINT function(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) LPCCHOOKPROC; 2364 2365 2366 alias UINT function(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) LPCFHOOKPROC; 2367 2368 2369 alias BOOL function(HDC hdc, LPARAM lpData, int cchData) GRAYSTRINGPROC; 2370 2371 2372 enum: DWORD 2373 { 2374 CC_RGBINIT = 0x00000001, 2375 CC_FULLOPEN = 0x00000002, 2376 CC_PREVENTFULLOPEN = 0x00000004, 2377 CC_SHOWHELP = 0x00000008, 2378 CC_ENABLEHOOK = 0x00000010, 2379 CC_ENABLETEMPLATE = 0x00000020, 2380 CC_ENABLETEMPLATEHANDLE = 0x00000040, 2381 CC_SOLIDCOLOR = 0x00000080, 2382 CC_ANYCOLOR = 0x00000100, 2383 } 2384 2385 2386 struct CHOOSECOLORA 2387 { 2388 DWORD lStructSize; 2389 HWND hwndOwner; 2390 HWND hInstance; 2391 COLORREF rgbResult; 2392 COLORREF* lpCustColors; 2393 DWORD Flags; 2394 LPARAM lCustData; 2395 LPCCHOOKPROC lpfnHook; 2396 LPCSTR lpTemplateName; 2397 } 2398 alias CHOOSECOLORA* PCHOOSECOLORA; 2399 alias CHOOSECOLORA* LPCHOOSECOLORA; 2400 2401 2402 struct LOGFONTW 2403 { 2404 LONG lfHeight; 2405 LONG lfWidth; 2406 LONG lfEscapement; 2407 LONG lfOrientation; 2408 LONG lfWeight; 2409 BYTE lfItalic; 2410 BYTE lfUnderline; 2411 BYTE lfStrikeOut; 2412 BYTE lfCharSet; 2413 BYTE lfOutPrecision; 2414 BYTE lfClipPrecision; 2415 BYTE lfQuality; 2416 BYTE lfPitchAndFamily; 2417 WCHAR[32] lfFaceName; 2418 } 2419 alias LOGFONTW* PLOGFONTW; 2420 alias LOGFONTW* LPLOGFONTW; 2421 2422 2423 struct NONCLIENTMETRICSA 2424 { 2425 UINT cbSize; 2426 int iBorderWidth; 2427 int iScrollWidth; 2428 int iScrollHeight; 2429 int iCaptionWidth; 2430 int iCaptionHeight; 2431 LOGFONTA lfCaptionFont; 2432 int iSmCaptionWidth; 2433 int iSmCaptionHeight; 2434 LOGFONTA lfSmCaptionFont; 2435 int iMenuWidth; 2436 int iMenuHeight; 2437 LOGFONTA lfMenuFont; 2438 LOGFONTA lfStatusFont; 2439 LOGFONTA lfMessageFont; 2440 } 2441 alias NONCLIENTMETRICSA LPNONCLIENTMETRICSA; 2442 2443 2444 struct CHOOSEFONTW 2445 { 2446 align(1): 2447 DWORD lStructSize; 2448 HWND hwndOwner; 2449 HDC hDC; 2450 LPLOGFONTW lpLogFont; 2451 INT iPointSize; 2452 DWORD Flags; 2453 DWORD rgbColors; 2454 LPARAM lCustData; 2455 LPCFHOOKPROC lpfnHook; 2456 LPCWSTR lpTemplateName; 2457 HINSTANCE hInstance; 2458 LPWSTR lpszStyle; 2459 WORD nFontType; 2460 WORD ___MISSING_ALIGNMENT__; 2461 INT nSizeMin; 2462 INT nSizeMax; 2463 } 2464 alias CHOOSEFONTW* PCHOOSEFONTW; 2465 alias CHOOSEFONTW* LPCHOOSEFONTW; 2466 2467 2468 struct CHOOSEFONTA 2469 { 2470 align(1): 2471 DWORD lStructSize; 2472 HWND hwndOwner; 2473 HDC hDC; 2474 LPLOGFONTA lpLogFont; 2475 INT iPointSize; 2476 DWORD Flags; 2477 DWORD rgbColors; 2478 LPARAM lCustData; 2479 LPCFHOOKPROC lpfnHook; 2480 LPCSTR lpTemplateName; 2481 HINSTANCE hInstance; 2482 LPSTR lpszStyle; 2483 WORD nFontType; 2484 WORD ___MISSING_ALIGNMENT__; 2485 INT nSizeMin; 2486 INT nSizeMax; 2487 } 2488 alias CHOOSEFONTA* PCHOOSEFONTA; 2489 alias CHOOSEFONTA* LPCHOOSEFONTA; 2490 2491 2492 struct ICONINFO 2493 { 2494 BOOL fIcon; 2495 DWORD xHotspot; 2496 DWORD yHotspot; 2497 HBITMAP hbmMask; 2498 HBITMAP hbmColor; 2499 } 2500 alias ICONINFO* LPICONINFO; 2501 alias ICONINFO* PICONINFO; 2502 2503 2504 struct MINMAXINFO 2505 { 2506 POINT ptReserved; 2507 POINT ptMaxSize; 2508 POINT ptMaxPosition; 2509 POINT ptMinTrackSize; 2510 POINT ptMaxTrackSize; 2511 } 2512 alias MINMAXINFO* LPMINMAXINFO; 2513 alias MINMAXINFO* PMINMAXINFO; 2514 2515 2516 struct NCCALCSIZE_PARAMS 2517 { 2518 RECT[3] rgrc; 2519 PWINDOWPOS lppos; 2520 } 2521 alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; 2522 2523 2524 struct CREATESTRUCTA 2525 { 2526 LPVOID lpCreateParams; 2527 HINSTANCE hInstance; 2528 HMENU hMenu; 2529 HWND hwndParent; 2530 int cy; 2531 int cx; 2532 int y; 2533 int x; 2534 LONG style; 2535 LPCSTR lpszName; 2536 LPCSTR lpszClass; 2537 DWORD dwExStyle; 2538 } 2539 alias CREATESTRUCTA* LPCREATESTRUCTA; 2540 2541 2542 struct ACTCTXW 2543 { 2544 ULONG cbSize; 2545 DWORD dwFlags; 2546 LPCWSTR lpSource; 2547 USHORT wProcessorArchitecture; 2548 LANGID wLangId; 2549 LPCWSTR lpAssemblyDirectory; 2550 LPCWSTR lpResourceName; 2551 LPCWSTR lpApplicationName; 2552 HMODULE hModule; 2553 } 2554 alias ACTCTXW* PACTCTXW; 2555 alias ACTCTXW* LPACTCTXW; 2556 2557 2558 struct HELPINFO 2559 { 2560 UINT cbSize; 2561 int iContextType; 2562 int iCtrlId; 2563 HANDLE hItemHandle; 2564 DWORD dwContextId; 2565 POINT MousePos; 2566 } 2567 alias HELPINFO* LPHELPINFO; 2568 2569 2570 struct TOOLINFOA 2571 { 2572 UINT cbSize; 2573 UINT uFlags; 2574 HWND hwnd; 2575 UINT uId; 2576 RECT rect; 2577 HINSTANCE hinst; 2578 LPSTR lpszText; 2579 } 2580 alias TOOLINFOA* PTOOLINFOA; 2581 alias TOOLINFOA* LPTOOLINFOA; 2582 2583 2584 struct TRACKMOUSEEVENT 2585 { 2586 DWORD cbSize; 2587 DWORD dwFlags; 2588 HWND hwndTrack; 2589 DWORD dwHoverTime; 2590 } 2591 alias TRACKMOUSEEVENT* LPTRACKMOUSEEVENT; 2592 2593 2594 struct STYLESTRUCT 2595 { 2596 DWORD styleOld; 2597 DWORD styleNew; 2598 } 2599 alias STYLESTRUCT* LPSTYLESTRUCT; 2600 2601 2602 //extern(C) DWORD MAKELONG(WORD wLow, WORD wHigh) 2603 extern(C) DWORD MAKELONG(int wLow, int wHigh) 2604 { 2605 return cast(DWORD)cast(WORD)wLow | (cast(DWORD)cast(WORD)wHigh << 16); 2606 } 2607 2608 alias MAKELONG MAKELPARAM; 2609 alias MAKELONG MAKEWPARAM; 2610 alias MAKELONG MAKELRESULT; 2611 2612 2613 enum int DLGWINDOWEXTRA = 30; 2614 2615 2616 extern(C) COLORREF RGB(int r, int g , int b) 2617 { 2618 return cast(COLORREF)(cast(BYTE)r | 2619 cast(WORD)(cast(BYTE)g << 8) | 2620 cast(DWORD)(cast(BYTE)b << 16)); 2621 } 2622 2623 2624 struct DRAWITEMSTRUCT 2625 { 2626 UINT CtlType; 2627 UINT CtlID; 2628 UINT itemID; 2629 UINT itemAction; 2630 UINT itemState; 2631 HWND hwndItem; 2632 HDC hDC; 2633 RECT rcItem; 2634 DWORD itemData; 2635 } 2636 alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT; 2637 2638 2639 struct MEASUREITEMSTRUCT 2640 { 2641 UINT CtlType; 2642 UINT CtlID; 2643 UINT itemID; 2644 UINT itemWidth; 2645 UINT itemHeight; 2646 DWORD itemData; 2647 } 2648 alias MEASUREITEMSTRUCT* LPMEASUREITEMSTRUCT; 2649 2650 2651 struct ANIMATIONINFO 2652 { 2653 UINT cbSize; 2654 int iMinAnimate; 2655 } 2656 2657 2658 struct APPBARDATA 2659 { 2660 DWORD cbSize; 2661 HWND hWnd; 2662 UINT uCallbackMessage; 2663 UINT uEdge; 2664 RECT rc; 2665 LPARAM lParam; // message specific 2666 } 2667 alias APPBARDATA* PAPPBARDATA; 2668 2669 2670 struct CLIENTCREATESTRUCT 2671 { 2672 HANDLE hWindowMenu; 2673 UINT idFirstChild; 2674 } 2675 alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; 2676 2677 2678 struct MDICREATESTRUCTA 2679 { 2680 LPCSTR szClass; 2681 LPCSTR szTitle; 2682 HANDLE hOwner; 2683 int x; 2684 int y; 2685 int cx; 2686 int cy; 2687 DWORD style; 2688 LPARAM lParam; 2689 } 2690 alias MDICREATESTRUCTA* LPMDICREATESTRUCTA; 2691 2692 2693 struct INITCOMMONCONTROLSEX 2694 { 2695 DWORD dwSize; 2696 DWORD dwICC; 2697 } 2698 alias INITCOMMONCONTROLSEX* LPINITCOMMONCONTROLSEX; 2699 alias INITCOMMONCONTROLSEX* PINITCOMMONCONTROLSEX; 2700 2701 2702 struct DROPFILES 2703 { 2704 DWORD pFiles; 2705 POINT pt; 2706 BOOL fNC; 2707 BOOL fWide; 2708 } 2709 alias DROPFILES* LPDROPFILES; 2710 2711 2712 alias HANDLE HHOOK; 2713 alias HANDLE HTHEME; 2714 alias HANDLE HTREEITEM; 2715 alias HANDLE HDROP; 2716 alias HANDLE HMONITOR; 2717 2718 2719 HCURSOR CopyCursor(HCURSOR pcur) 2720 { 2721 return cast(HCURSOR)CopyIcon(cast(HICON)pcur); 2722 } 2723 2724 2725 alias BOOL function(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) MONITORENUMPROC; 2726 2727 2728 struct MONITORINFO 2729 { 2730 DWORD cbSize; 2731 RECT rcMonitor; 2732 RECT rcWork; 2733 DWORD dwFlags; 2734 } 2735 alias MONITORINFO* LPMONITORINFO; 2736 2737 2738 enum: DWORD 2739 { 2740 MONITORINFOF_PRIMARY = 1, 2741 } 2742 2743 2744 enum: DWORD 2745 { 2746 MONITOR_DEFAULTTONULL = 0x00000000, 2747 MONITOR_DEFAULTTOPRIMARY = 0x00000001, 2748 MONITOR_DEFAULTTONEAREST = 0x00000002, 2749 } 2750 2751 2752 BOOL DrawIconEx(HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); 2753 BOOL DrawIcon(HDC hDC, int X, int Y, HICON hIcon); 2754 BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); 2755 HWND GetCapture(); 2756 HWND SetCapture(HWND hWnd); 2757 BOOL ReleaseCapture(); 2758 HMENU GetMenu(HWND hWnd); 2759 BOOL IsChild(HWND hWndParent, HWND hWnd); 2760 BOOL IsWindow(HWND hWnd); 2761 HWND CreateWindowExW(DWORD dwExStyle, LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam); 2762 LRESULT SendMessageW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2763 int MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType); 2764 DWORD SetClassLongA(HWND hWnd, int nIndex, LONG dwNewLong); 2765 DWORD GetClassLongA(HWND hWnd, int nIndex); 2766 LONG SetWindowLongA(HWND hWnd, int nIndex, LONG dwNewLong); 2767 LONG GetWindowLongA(HWND hWnd, int nIndex); 2768 DWORD GetSysColor(int nIndex); 2769 BOOL EnableWindow(HWND hWnd, BOOL bEnable); 2770 BOOL IsWindowEnabled(HWND hWnd); 2771 COLORREF GetTextColor(HDC hdc); 2772 COLORREF SetTextColor(HDC hdc, COLORREF crColor); 2773 HWND GetWindow(HWND hWnd, UINT uCmd); 2774 DWORD GetWindowThreadProcessId(HWND hWnd, LPDWORD lpdwProcessId); 2775 SHORT GetKeyState(int nVirtKey); 2776 SHORT GetAsyncKeyState(int vKey); 2777 HWND SetParent(HWND hWndChild, HWND hWndNewParent); 2778 int CombineRgn(HRGN hrgnDest, HRGN hrgnSrc1, HRGN hrgnSrc2, int fnCombineMode); 2779 BOOL EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam); 2780 BOOL EnumChildWindows(HWND hWndParent, WNDENUMPROC lpEnumFunc, LPARAM lParam); 2781 BOOL SetWindowTextA(HWND hWnd, LPCSTR lpString); 2782 BOOL SetWindowTextW(HWND hWnd, LPCWSTR lpString); 2783 int GetWindowTextLengthA(HWND hWnd); 2784 int GetWindowTextLengthW(HWND hWnd); 2785 int GetWindowTextA(HWND hWnd, LPSTR lpString, int nMaxCount); 2786 int GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount); 2787 BOOL IsWindowVisible(HWND hWnd); 2788 BOOL WaitMessage(); 2789 DWORD TlsAlloc(); 2790 BOOL TlsFree(DWORD dwTlsIndex); 2791 LPVOID TlsGetValue(DWORD dwTlsIndex); 2792 BOOL TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue); 2793 BOOL BringWindowToTop(HWND hWnd); 2794 UINT RegisterWindowMessageA(LPCSTR lpString); 2795 HWND GetParent(HWND hWnd); 2796 HWND GetDesktopWindow(); 2797 HWND GetNextDlgTabItem(HWND hDlg, HWND hCtl, BOOL bPrevious); 2798 HBRUSH CreateSolidBrush(COLORREF crColor); 2799 HBRUSH CreateHatchBrush(int fnStyle, COLORREF clrref); 2800 int GetObjectA(HGDIOBJ hgdiobj, int cbBuffer, LPVOID lpvObject); 2801 void InitCommonControls(); 2802 BOOL DestroyWindow(HWND hwnd); 2803 ATOM RegisterClassExA(WNDCLASSEXA* lpwcx); 2804 ATOM RegisterClassW(WNDCLASSW* lpWndClass); 2805 HWND GetActiveWindow(); 2806 LRESULT DefDlgProcA(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); 2807 LRESULT DefDlgProcW(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); 2808 BOOL IsDialogMessageA(HWND hDlg, LPMSG lpMsg); 2809 BOOL IsDialogMessageW(HWND hDlg, LPMSG lpMsg); 2810 HBRUSH GetSysColorBrush(int nIndex); 2811 BOOL PostMessageA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2812 UINT SetTimer(HWND hWnd, UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc); 2813 BOOL KillTimer(HWND hWnd, UINT uIDEvent); 2814 LPSTR GetCommandLineA(); 2815 LPWSTR GetCommandLineW(); 2816 BOOL SetCurrentDirectoryW(LPCWSTR lpPathName); 2817 DWORD GetCurrentDirectoryW(DWORD nBufferLength, LPWSTR lpBuffer); 2818 BOOL GetComputerNameA(LPSTR lpBuffer, LPDWORD nSize); 2819 BOOL GetComputerNameW(LPWSTR lpBuffer, LPDWORD nSize); 2820 BOOL GetVersionExA(LPOSVERSIONINFOA lpVersionInformation); 2821 UINT GetSystemDirectoryA(LPSTR lpBuffer, UINT uSize); 2822 UINT GetSystemDirectoryW(LPWSTR lpBuffer, UINT uSize); 2823 BOOL GetUserNameA(LPSTR lpBuffer, LPDWORD nSize); // advapi32.lib 2824 BOOL GetUserNameW(LPWSTR lpBuffer, LPDWORD nSize); // advapi32.lib 2825 DWORD GetEnvironmentVariableA(LPCSTR lpName, LPSTR lpBuffer, DWORD nSize); 2826 DWORD GetEnvironmentVariableW(LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize); 2827 DWORD ExpandEnvironmentStringsW(LPCWSTR lpSrc, LPWSTR lpDst, DWORD nSize); 2828 DWORD GetLogicalDrives(); 2829 BOOL SetMenu(HWND hWnd, HMENU hMenu); 2830 BOOL SetLayeredWindowAttributes(HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags); 2831 BOOL SystemParametersInfoA(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); 2832 BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack); 2833 BOOL GetClassInfoA(HINSTANCE hInstance, LPCSTR lpClassName, LPWNDCLASSA lpWndClass); 2834 BOOL GetClassInfoW(HINSTANCE hInstance, LPCWSTR lpClassName, LPWNDCLASSW lpWndClass); 2835 LRESULT CallWindowProcA(WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2836 LRESULT CallWindowProcW(WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2837 BOOL OpenClipboard(HWND hWndNewOwner); 2838 BOOL EmptyClipboard(); 2839 HGLOBAL GlobalAlloc(UINT uFlags, DWORD dwBytes); 2840 BOOL CloseClipboard(); 2841 HANDLE SetClipboardData(UINT uFormat, HANDLE hMem); 2842 HANDLE GetClipboardData(UINT uFormat); 2843 HGLOBAL GlobalFree(HGLOBAL hMem); 2844 LPVOID GlobalLock(HGLOBAL hMem); 2845 BOOL GlobalUnlock(HGLOBAL hMem); 2846 BOOL DrawFocusRect(HDC hDC, RECT* lprc); 2847 LRESULT CallNextHookEx(HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam); 2848 HHOOK SetWindowsHookExA(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId); 2849 BOOL UnhookWindowsHookEx(HHOOK hhk); 2850 int GetSystemMetrics(int nIndex); 2851 BOOL DestroyMenu(HMENU hMenu); 2852 BOOL SetMenuItemInfoA(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFOA lpmii); 2853 BOOL SetMenuItemInfoW(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFOW lpmii); 2854 BOOL InsertMenuItemA(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFOA lpmii); 2855 BOOL InsertMenuItemW(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFOW lpmii); 2856 BOOL RemoveMenu(HMENU hMenu, UINT uPosition, UINT uFlags ); 2857 UINT GetMenuItemID(HMENU hMenu, int nPos); 2858 BOOL DrawMenuBar(HWND hWnd); 2859 HMENU CreatePopupMenu(); 2860 HMENU CreateMenu(); 2861 BOOL Shell_NotifyIconA(DWORD dwMessage, NOTIFYICONDATA* pnid); 2862 LONG RegQueryValueExA(HKEY hKey, LPCSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); 2863 LONG RegQueryValueExW(HKEY hKey, LPCWSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); 2864 LONG RegConnectRegistryA(LPCSTR lpMachineName, HKEY hKey, PHKEY phkResult); 2865 UINT RegisterClipboardFormatA(LPCSTR lpszFormat); 2866 UINT RegisterClipboardFormatW(LPCWSTR lpszFormat); 2867 int GetClipboardFormatNameA(UINT format, LPSTR lpszFormatName, int cchMaxCount); 2868 int GetClipboardFormatNameW(UINT format, LPWSTR lpszFormatName, int cchMaxCount); 2869 DWORD GlobalSize(HGLOBAL hMem); 2870 VOID ExitProcess(UINT uExitCode); 2871 BOOL DrawAnimatedRects(HWND hwnd, int idAni, RECT* lprcFrom, RECT* lprcTo); 2872 HWND FindWindowExA(HWND hwndParent, HWND hwndChildAfter, LPCSTR lpszClass, LPCSTR lpszWindow); 2873 UINT SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pData); 2874 BOOL SetPropA(HWND hWnd, LPCSTR lpString, HANDLE hData); 2875 HANDLE GetPropA(HWND hWnd, LPCSTR lpString); 2876 HANDLE RemovePropA(HWND hWnd, LPCSTR lpString); 2877 DWORD CommDlgExtendedError(); 2878 LRESULT DefFrameProcA(HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam); 2879 LRESULT DefFrameProcW(HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam); 2880 LRESULT DefMDIChildProcA(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); 2881 LRESULT DefMDIChildProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); 2882 VOID SetLastError(DWORD dwErrCode); 2883 HWND CreateMDIWindowA(LPSTR lpClassName, LPSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam); 2884 int MulDiv(int nNumber, int nNumerator, int nDenominator); 2885 BOOL FillRgn(HDC hdc, HRGN hrgn, HBRUSH hbr); 2886 COLORREF GetNearestColor(HDC hdc,COLORREF crColor); 2887 int DrawTextA(HDC hDC, LPCSTR lpString, int nCount, LPRECT lpRect, UINT uFormat); 2888 int DrawTextExA(HDC hdc, LPSTR lpchText, int cchText, LPRECT lprc, UINT dwDTFormat, LPDRAWTEXTPARAMS lpDTParams); 2889 int DrawTextExW(HDC hdc, LPWSTR lpchText, int cchText, LPRECT lprc, UINT dwDTFormat, LPDRAWTEXTPARAMS lpDTParams); 2890 HANDLE LoadImageA(HINSTANCE hinst, LPCSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad); 2891 HANDLE LoadImageW(HINSTANCE hinst, LPCWSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad); 2892 HANDLE CopyImage(HANDLE hImage, UINT uType, int cxDesired, int cyDesired, UINT fuFlags); 2893 int WSACancelAsyncRequest(HANDLE hAsyncTaskHandle); 2894 HANDLE WSAAsyncGetHostByName(HWND hWnd, uint wMsg, PCSTR name, char* buf, int buflen); 2895 HANDLE WSAAsyncGetHostByAddr(HWND hWnd, uint wMsg, PCSTR addr, int len, int type, char* buf, int buflen); 2896 BOOL ExtTextOutA(HDC hdc, int X, int Y, UINT fuOptions, RECT* lprc, LPCSTR lpString, UINT cbCount, INT* lpDx); 2897 BOOL Arc(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc); 2898 BOOL PolyBezier(HDC hdc, POINT* lppt,DWORD cPoints); 2899 BOOL Ellipse(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 2900 BOOL Polygon(HDC hdc, POINT* lpPoints,int nCount); 2901 BOOL Rectangle(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 2902 BOOL GdiFlush(); 2903 LONG RegSetValueExW(HKEY hKey, LPCWSTR lpValueName, DWORD Reserved, DWORD dwType, BYTE* lpData, DWORD cbData); 2904 LONG RegCreateKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPWSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition); 2905 LONG RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult); 2906 LONG RegDeleteKeyW(HKEY hKey, LPCWSTR lpSubKey); 2907 LONG RegEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpName, LPDWORD lpcbName, LPDWORD lpReserved, LPWSTR lpClass, LPDWORD lpcbClass, PFILETIME lpftLastWriteTime); 2908 LONG RegEnumValueW(HKEY hKey, DWORD dwIndex, LPTSTR lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); 2909 BOOL DrawFrameControl(HDC hdc, LPRECT lprc, UINT uType, UINT uState); 2910 BOOL GetTextExtentPoint32A(HDC hdc, LPCSTR lpString, int cbString, LPSIZE lpSize); 2911 BOOL GetTextExtentPoint32W(HDC hdc, LPCWSTR lpString, int cbString, LPSIZE lpSize); 2912 HINSTANCE ShellExecuteA(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd); 2913 HANDLE CreateActCtxW(PACTCTXW pActCtx); 2914 BOOL ActivateActCtx(HANDLE hActCtx, ULONG** lpCookie); 2915 UINT GetTempFileNameW(LPCWSTR lpPathName, LPCWSTR lpPrefixString, UINT uUnique, LPWSTR lpTempFileName); 2916 DWORD GetTempPathW(DWORD nBufferLength, LPWSTR lpBuffer); 2917 VOID OutputDebugStringA(LPCSTR lpOutputString); 2918 VOID DebugBreak(); 2919 BOOL BitBlt(HDC hdcDest, int nXDest,int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop); 2920 BOOL GetIconInfo(HICON hIcon, PICONINFO piconinfo); 2921 BOOL DestroyIcon(HICON hIcon); 2922 BOOL DestroyCursor(HCURSOR hCursor); 2923 LPITEMIDLIST SHBrowseForFolderA(LPBROWSEINFOA lpbi); 2924 LPITEMIDLIST SHBrowseForFolderW(LPBROWSEINFOW lpbi); 2925 HRESULT SHGetMalloc(LPMALLOC* ppMalloc); 2926 BOOL SHGetPathFromIDListA(LPCITEMIDLIST pidl, LPSTR pszPath); 2927 BOOL SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath); 2928 BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX lpInitCtrls); 2929 int GetDlgCtrlID(HWND hwndCtl); 2930 HWND GetDlgItem(HWND hDlg, int nIDDlgItem); 2931 BOOL ShowOwnedPopups(HWND hWnd, BOOL fShow); 2932 UINT GetWindowsDirectoryA(LPSTR lpBuffer, UINT uSize); 2933 UINT GetWindowsDirectoryW(LPWSTR lpBuffer, UINT uSize); 2934 //HCURSOR CopyCursor(HCURSOR pcur); 2935 HINSTANCE LoadLibraryExA(LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags); 2936 HINSTANCE LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags); 2937 HICON CopyIcon(HICON hIcon); 2938 BOOL ChooseColorA(LPCHOOSECOLORA lpcc); 2939 UINT DragQueryFileA(HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch); 2940 UINT DragQueryFileW(HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch); 2941 VOID DragFinish(HDROP hDrop); 2942 BOOL DragQueryPoint(HDROP hDrop, LPPOINT lppt); 2943 BOOL GrayStringA(HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight); 2944 BOOL IsWindowUnicode(HWND hWnd); 2945 BOOL ChooseFontA(LPCHOOSEFONTA lpcf); 2946 BOOL ChooseFontW(LPCHOOSEFONTW lpcf); 2947 HBITMAP CreateCompatibleBitmap(HDC hdc, int nWidth, int nHeight); 2948 LONG DispatchMessageW(MSG* lpmsg); 2949 BOOL PeekMessageW(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg); 2950 LRESULT DefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2951 HWND GetNextDlgGroupItem(HWND hDlg, HWND hCtl, BOOL bPrevious); 2952 HANDLE FindFirstChangeNotificationA(LPCSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter); 2953 HANDLE FindFirstChangeNotificationW(LPCWSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter); 2954 BOOL FindCloseChangeNotification(HANDLE hChangeHandle); 2955 BOOL FindNextChangeNotification(HANDLE hChangeHandle); 2956 DWORD GetFullPathNameA(LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart); 2957 DWORD GetFullPathNameW(LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart); 2958 SHORT VkKeyScanA(char ch); 2959 SHORT VkKeyScanW(wchar ch); 2960 HRSRC FindResourceExA(HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage); 2961 HRSRC FindResourceExW(HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage); 2962 HGLOBAL LoadResource(HMODULE hModule, HRSRC hResInfo); 2963 DWORD SizeofResource(HMODULE hModule, HRSRC hResInfo); 2964 BOOL EnableMenuItem(HMENU hMenu, UINT uIDEnableItem, UINT uEnable); 2965 BOOL IsMenu(HMENU hMenu); 2966 HMENU GetSystemMenu(HWND hWnd, BOOL bRevert); 2967 DWORD GetModuleFileNameW(HMODULE hModule, LPWSTR lpFilename, DWORD nSize); 2968 HBITMAP CreateBitmap(int nWidth, int nHeight, UINT cPlanes, UINT cBitsPerPel, VOID *lpvBits); 2969 BOOL SetBrushOrgEx(HDC hdc, int nXOrg, int nYOrg, LPPOINT lppt); 2970 BOOL PatBlt(HDC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD dwRop); 2971 HTHEME GetWindowTheme(HWND hWnd); 2972 THEMEAPI SetWindowTheme(HWND hwnd, LPCWSTR pszSubAppName, LPCWSTR pszSubIdList); 2973 int SetScrollInfo(HWND hwnd, int fnBar, LPSCROLLINFO lpsi, BOOL fRedraw); 2974 BOOL GetScrollInfo(HWND hwnd, int fnBar, LPSCROLLINFO lpsi); 2975 BOOL DragDetect(HWND hwnd, POINT pt); 2976 HFONT CreateFontIndirectW(LOGFONTW *lplf); 2977 DWORD GetThemeAppProperties(); 2978 BOOL IsAppThemed(); 2979 HTHEME OpenThemeData(HWND hwnd, LPCWSTR pszClassList); 2980 HRESULT CloseThemeData(HTHEME hTheme); 2981 HRESULT GetThemeColor(HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor); 2982 HIMAGELIST ImageList_Create(int cx, int cy, UINT flags, int cInitial, int cGrow); 2983 BOOL ImageList_Destroy(HIMAGELIST himl); 2984 BOOL ImageList_Draw(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle); 2985 BOOL ImageList_DrawEx(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle); 2986 int ImageList_Add(HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask); 2987 int ImageList_AddIcon(HIMAGELIST himl, HICON hicon); 2988 int ImageList_AddMasked(HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask); 2989 BOOL ImageList_Remove(HIMAGELIST himl, int i); 2990 BOOL EnumDisplayMonitors(HDC hdc, LPCRECT lprcClip, MONITORENUMPROC lpfnEnum, LPARAM dwData); 2991 BOOL GetMonitorInfoA(HMONITOR hMonitor, LPMONITORINFO lpmi); 2992 HMONITOR MonitorFromWindow(HWND hwnd, DWORD dwFlags); 2993 HMONITOR MonitorFromPoint(POINT pt, DWORD dwFlags); 2994 HMONITOR MonitorFromRect(LPCRECT lprc, DWORD dwFlags); 2995 BOOL RegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk); 2996 BOOL UnregisterHotKey(HWND hWnd, int id); 2997 //} // Temporary. 2998