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 } 1476 1477 1478 enum: UINT 1479 { 1480 SIF_RANGE = 0x0001, 1481 SIF_PAGE = 0x0002, 1482 SIF_POS = 0x0004, 1483 SIF_DISABLENOSCROLL = 0x0008, 1484 SIF_ALL = 23, 1485 } 1486 1487 1488 enum: int 1489 { 1490 SM_SWAPBUTTON = 23, 1491 1492 SM_CXFRAME = 32, 1493 SM_CYFRAME = 33, 1494 1495 SM_CXSMICON = 49, 1496 SM_CYSMICON = 50, 1497 1498 SM_CYSMCAPTION = 51, 1499 1500 SM_CXSIZEFRAME = SM_CXFRAME, 1501 SM_CYSIZEFRAME = SM_CYFRAME, 1502 1503 SM_CYMENU = 15, 1504 1505 SM_CXVSCROLL = 2, 1506 SM_CYHSCROLL = 3, 1507 } 1508 1509 1510 enum: UINT 1511 { 1512 DFC_SCROLL = 3, 1513 } 1514 1515 1516 enum: UINT 1517 { 1518 DFCS_SCROLLSIZEGRIP = 0x0008, 1519 } 1520 1521 1522 enum: UINT 1523 { 1524 LR_LOADFROMFILE = 0x0010, 1525 LR_DEFAULTSIZE = 0x0040, 1526 LR_COPYFROMRESOURCE = 0x4000, 1527 LR_SHARED = 0x8000, 1528 } 1529 1530 1531 enum: COLORREF 1532 { 1533 CLR_INVALID = 0xFFFFFFFF, 1534 CLR_NONE = CLR_INVALID, 1535 } 1536 1537 1538 enum: UINT 1539 { 1540 DT_TOP = 0x00000000, 1541 DT_LEFT = 0x00000000, 1542 DT_CENTER = 0x00000001, 1543 DT_RIGHT = 0x00000002, 1544 DT_VCENTER = 0x00000004, 1545 DT_BOTTOM = 0x00000008, 1546 DT_WORDBREAK = 0x00000010, 1547 DT_SINGLELINE = 0x00000020, 1548 DT_EXPANDTABS = 0x00000040, 1549 DT_TABSTOP = 0x00000080, 1550 DT_NOCLIP = 0x00000100, 1551 DT_EXTERNALLEADING = 0x00000200, 1552 DT_CALCRECT = 0x00000400, 1553 DT_NOPREFIX = 0x00000800, 1554 DT_INTERNAL = 0x00001000, 1555 DT_EDITCONTROL = 0x00002000, 1556 DT_PATH_ELLIPSIS = 0x00004000, 1557 DT_END_ELLIPSIS = 0x00008000, 1558 DT_MODIFYSTRING = 0x00010000, 1559 DT_RTLREADING = 0x00020000, 1560 DT_WORD_ELLIPSIS = 0x00040000, 1561 } 1562 1563 1564 enum: UINT 1565 { 1566 CF_TEXT = 1, 1567 CF_BITMAP = 2, 1568 CF_METAFILEPICT = 3, 1569 CF_SYLK = 4, 1570 CF_DIF = 5, 1571 CF_TIFF = 6, 1572 CF_OEMTEXT = 7, 1573 CF_DIB = 8, 1574 CF_PALETTE = 9, 1575 CF_PENDATA = 10, 1576 CF_RIFF = 11, 1577 CF_WAVE = 12, 1578 CF_UNICODETEXT = 13, 1579 CF_ENHMETAFILE = 14, 1580 CF_HDROP = 15, 1581 CF_LOCALE = 16, 1582 } 1583 1584 1585 enum: UINT 1586 { 1587 BIF_RETURNONLYFSDIRS = 0x0001, 1588 BIF_NEWDIALOGSTYLE = 0x0040, 1589 BIF_NONEWFOLDERBUTTON = 0x0200, // shell32.dll 6.0+ 1590 } 1591 1592 1593 enum 1594 { 1595 TRANSPARENT = 1, 1596 OPAQUE = 2, 1597 } 1598 1599 1600 enum: UINT 1601 { 1602 ETO_OPAQUE = 0x0002, 1603 ETO_CLIPPED = 0x0004, 1604 } 1605 1606 1607 enum: UINT 1608 { 1609 PS_SOLID = 0, 1610 PS_DASH = 1, 1611 PS_DOT = 2, 1612 PS_DASHDOT = 3, 1613 PS_DASHDOTDOT = 4, 1614 PS_NULL = 5, 1615 PS_INSIDEFRAME = 6, 1616 } 1617 1618 1619 enum: UINT 1620 { 1621 IMAGE_BITMAP = 0, 1622 IMAGE_ICON = 1, 1623 IMAGE_CURSOR = 2, 1624 } 1625 1626 1627 enum LPCSTR IDI_HAND = cast(LPCSTR)32513; 1628 enum LPCSTR IDI_QUESTION = cast(LPCSTR)32514; 1629 enum LPCSTR IDI_EXCLAMATION = cast(LPCSTR)32515; 1630 enum LPCSTR IDI_ASTERISK = cast(LPCSTR)32516; 1631 enum LPCSTR IDI_INFORMATION = IDI_ASTERISK; 1632 1633 1634 enum LPCSTR RT_STRING = cast(LPCSTR)6; 1635 1636 1637 enum: LONG 1638 { 1639 HS_HORIZONTAL = 0, 1640 HS_VERTICAL = 1, 1641 HS_FDIAGONAL = 2, 1642 HS_BDIAGONAL = 3, 1643 HS_CROSS = 4, 1644 HS_DIAGCROSS = 5, 1645 } 1646 1647 1648 enum: DWORD 1649 { 1650 LOAD_LIBRARY_AS_DATAFILE = 0x00000002, 1651 } 1652 1653 1654 enum: DWORD 1655 { 1656 // IE3+ 1657 ICC_LISTVIEW_CLASSES = 0x00000001, 1658 ICC_TREEVIEW_CLASSES = 0x00000002, 1659 ICC_BAR_CLASSES = 0x00000004, // tool/status/track 1660 ICC_TAB_CLASSES = 0x00000008, 1661 ICC_UPDOWN_CLASS = 0x00000010, 1662 ICC_PROGRESS_CLASS = 0x00000020, 1663 ICC_HOTKEY_CLASS = 0x00000040, 1664 ICC_ANIMATE_CLASS = 0x00000080, 1665 ICC_WIN95_CLASSES = 0x000000FF, 1666 ICC_DATE_CLASSES = 0x00000100, 1667 ICC_USEREX_CLASSES = 0x00000200, 1668 ICC_COOL_CLASSES = 0x00000400, 1669 1670 ICC_STANDARD_CLASSES = 0x00004000, 1671 1672 // IE4+ 1673 ICC_INTERNET_CLASSES = 0x00000800, 1674 ICC_PAGESCROLLER_CLASS = 0x00001000, 1675 ICC_NATIVEFNTCTL_CLASS = 0x00002000, 1676 } 1677 1678 1679 enum: UINT 1680 { 1681 PBM_SETRANGE = WM_USER + 1, 1682 PBM_SETPOS = WM_USER + 2, 1683 PBM_DELTAPOS = WM_USER + 3, 1684 PBM_SETSTEP = WM_USER + 4, 1685 PBM_STEPIT = WM_USER + 5, 1686 } 1687 1688 1689 enum DWORD MAX_COMPUTERNAME_LENGTH = 15; 1690 1691 enum DWORD LF_FACESIZE = 32; 1692 1693 1694 alias HANDLE HIMAGELIST; 1695 1696 1697 enum: UINT 1698 { 1699 ILD_NORMAL = 0, 1700 } 1701 1702 1703 enum: UINT 1704 { 1705 //ILC_COLOR = , 1706 ILC_COLOR4 = 0x0004, 1707 ILC_COLOR8 = 0x0008, 1708 ILC_COLOR16 = 0x0010, 1709 ILC_COLOR24 = 0x0018, 1710 ILC_COLOR32 = 0x0020, 1711 1712 ILC_MASK = 0x0001, 1713 } 1714 1715 1716 // Rich edit. 1717 alias DWORD function(/+ DWORD_PTR +/ DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG* pcb) EDITSTREAMCALLBACK; 1718 1719 1720 alias DWORD LCID; 1721 1722 1723 struct WINDOWPOS 1724 { 1725 HWND hwnd; 1726 HWND hwndInsertAfter; 1727 int x; 1728 int y; 1729 int cx; 1730 int cy; 1731 UINT flags; 1732 } 1733 alias WINDOWPOS* LPWINDOWPOS; 1734 alias WINDOWPOS* PWINDOWPOS; 1735 1736 1737 struct WNDCLASSW 1738 { 1739 UINT style; 1740 WNDPROC lpfnWndProc; 1741 int cbClsExtra; 1742 int cbWndExtra; 1743 HANDLE hInstance; 1744 HICON hIcon; 1745 HCURSOR hCursor; 1746 HBRUSH hbrBackground; 1747 LPCWSTR lpszMenuName; 1748 LPCWSTR lpszClassName; 1749 } 1750 alias WNDCLASSW* LPWNDCLASSW; 1751 1752 1753 struct OSVERSIONINFOA 1754 { 1755 DWORD dwOSVersionInfoSize; 1756 DWORD dwMajorVersion; 1757 DWORD dwMinorVersion; 1758 DWORD dwBuildNumber; 1759 DWORD dwPlatformId; 1760 CHAR[128] szCSDVersion; 1761 } 1762 alias OSVERSIONINFOA* LPOSVERSIONINFOA; 1763 1764 1765 const HWND HWND_MESSAGE = cast(HWND)-3; // Win2000/XP only. 1766 1767 1768 struct NOTIFYICONDATA 1769 { 1770 DWORD cbSize; 1771 HWND hWnd; 1772 UINT uID; 1773 UINT uFlags; 1774 UINT uCallbackMessage; 1775 HICON hIcon; 1776 char[64] szTip; 1777 } 1778 alias NOTIFYICONDATA* PNOTIFYICONDATA; 1779 1780 1781 // Unaligned! 1782 struct SHITEMID 1783 { 1784 align(1): 1785 USHORT cb; // Size including cb. 1786 BYTE[1] abID; 1787 } 1788 alias SHITEMID* PSHITEMID; 1789 alias SHITEMID* LPSHITEMID; 1790 alias SHITEMID* LPCSHITEMID; 1791 1792 1793 struct ITEMIDLIST 1794 { 1795 SHITEMID mkid; 1796 } 1797 alias ITEMIDLIST* PITEMIDLIST; 1798 alias ITEMIDLIST* LPITEMIDLIST; 1799 alias ITEMIDLIST* LPCITEMIDLIST; 1800 1801 1802 alias int function(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData) BFFCALLBACK; 1803 1804 1805 struct BROWSEINFOA 1806 { 1807 HWND hwndOwner; 1808 LPCITEMIDLIST pidlRoot; 1809 LPSTR pszDisplayName; 1810 LPCSTR lpszTitle; 1811 UINT ulFlags; 1812 BFFCALLBACK lpfn; 1813 LPARAM lParam; 1814 int iImage; 1815 } 1816 alias BROWSEINFOA* PBROWSEINFOA; 1817 alias BROWSEINFOA* LPBROWSEINFOA; 1818 1819 1820 struct BROWSEINFOW 1821 { 1822 HWND hwndOwner; 1823 LPCITEMIDLIST pidlRoot; 1824 LPWSTR pszDisplayName; 1825 LPCWSTR lpszTitle; 1826 UINT ulFlags; 1827 BFFCALLBACK lpfn; 1828 LPARAM lParam; 1829 int iImage; 1830 } 1831 alias BROWSEINFOW* PBROWSEINFOW; 1832 alias BROWSEINFOW* LPBROWSEINFOW; 1833 1834 1835 struct LOGBRUSH 1836 { 1837 UINT lbStyle; 1838 COLORREF lbColor; 1839 LONG lbHatch; 1840 } 1841 alias LOGBRUSH* LPLOGBRUSH; 1842 1843 1844 struct DRAWTEXTPARAMS 1845 { 1846 UINT cbSize; 1847 int iTabLength; 1848 int iLeftMargin; 1849 int iRightMargin; 1850 UINT uiLengthDrawn; 1851 } 1852 alias DRAWTEXTPARAMS* LPDRAWTEXTPARAMS; 1853 1854 1855 struct NMHDR 1856 { 1857 HWND hwndFrom; 1858 UINT idFrom; 1859 UINT code; 1860 } 1861 alias NMHDR* LPNMHDR; 1862 1863 1864 struct NMCUSTOMDRAW 1865 { 1866 NMHDR hdr; 1867 DWORD dwDrawStage; 1868 HDC hdc; 1869 RECT rc; 1870 /+ DWORD_PTR +/ DWORD dwItemSpec; 1871 UINT uItemState; 1872 LPARAM lItemlParam; 1873 } 1874 alias NMCUSTOMDRAW* LPNMCUSTOMDRAW; 1875 1876 1877 struct NMTVCUSTOMDRAW 1878 { 1879 NMCUSTOMDRAW nmcd; 1880 COLORREF clrText; 1881 COLORREF clrTextBk; 1882 int iLevel; // IE4+ 1883 } 1884 alias NMTVCUSTOMDRAW* LPNMTVCUSTOMDRAW; 1885 1886 1887 struct NM_LISTVIEW 1888 { 1889 NMHDR hdr; 1890 int iItem; 1891 int iSubItem; 1892 UINT uNewState; 1893 UINT uOldState; 1894 UINT uChanged; 1895 POINT ptAction; 1896 LPARAM lParam; 1897 } 1898 1899 1900 struct LVITEMA 1901 { 1902 UINT mask; 1903 int iItem; 1904 int iSubItem; 1905 UINT state; 1906 UINT stateMask; 1907 LPSTR pszText; 1908 int cchTextMax; 1909 int iImage; 1910 LPARAM lParam; 1911 } 1912 alias LVITEMA* LPLVITEMA; 1913 alias LVITEMA* PLVITEMA; 1914 alias LVITEMA LV_ITEMA; 1915 alias LVITEMA* LPLV_ITEMA; 1916 alias LVITEMA* PLV_ITEMA; 1917 1918 1919 struct LVITEMW 1920 { 1921 UINT mask; 1922 int iItem; 1923 int iSubItem; 1924 UINT state; 1925 UINT stateMask; 1926 LPWSTR pszText; 1927 int cchTextMax; 1928 int iImage; 1929 LPARAM lParam; 1930 } 1931 alias LVITEMW* LPLVITEMW; 1932 alias LVITEMW* PLVITEMW; 1933 alias LVITEMW LV_ITEMW; 1934 alias LVITEMW* LPLV_ITEMW; 1935 alias LVITEMW* PLV_ITEMW; 1936 1937 1938 struct LVDISPINFOA 1939 { 1940 NMHDR hdr; 1941 LVITEMA item; 1942 } 1943 alias LVDISPINFOA* LPLVDISPINFOA; 1944 alias LVDISPINFOA* PLVDISPINFOA; 1945 alias LVDISPINFOA LV_DISPINFOA; 1946 alias LVDISPINFOA* LPLV_DISPINFOA; 1947 alias LVDISPINFOA* PLV_DISPINFOA; 1948 1949 1950 struct LVDISPINFOW 1951 { 1952 NMHDR hdr; 1953 LVITEMW item; 1954 } 1955 alias LVDISPINFOW* LPLVDISPINFOW; 1956 alias LVDISPINFOW* PLVDISPINFOW; 1957 alias LVDISPINFOW LV_DISPINFOW; 1958 alias LVDISPINFOW* LPLV_DISPINFOW; 1959 alias LVDISPINFOW* PLV_DISPINFOW; 1960 1961 1962 struct LVCOLUMNA 1963 { 1964 UINT mask; 1965 int fmt; 1966 int cx; 1967 LPSTR pszText; 1968 int cchTextMax; 1969 int iSubItem; 1970 } 1971 alias LVCOLUMNA* LPLVCOLUMNA; 1972 alias LVCOLUMNA* PLVCOLUMNA; 1973 alias LVCOLUMNA LV_COLUMNA; 1974 alias LVCOLUMNA* LPLV_COLUMNA; 1975 alias LVCOLUMNA* PLV_COLUMNA; 1976 1977 1978 struct LVCOLUMNW 1979 { 1980 UINT mask; 1981 int fmt; 1982 int cx; 1983 LPWSTR pszText; 1984 int cchTextMax; 1985 int iSubItem; 1986 } 1987 alias LVCOLUMNW* LPLVCOLUMNW; 1988 alias LVCOLUMNW* PLVCOLUMNW; 1989 alias LVCOLUMNW LV_COLUMNW; 1990 alias LVCOLUMNW* LPLV_COLUMNW; 1991 alias LVCOLUMNW* PLV_COLUMNW; 1992 1993 1994 struct TBBUTTON 1995 { 1996 int iBitmap; 1997 int idCommand; 1998 BYTE fsState; 1999 BYTE fsStyle; 2000 BYTE[2] bReserved; 2001 DWORD dwData; 2002 int iString; 2003 } 2004 alias TBBUTTON* PTBBUTTON, LPTBBUTTON, LPCTBBUTTON; 2005 2006 2007 struct NMTOOLBARA 2008 { 2009 NMHDR hdr; 2010 int iItem; 2011 TBBUTTON tbButton; 2012 int cchText; 2013 LPSTR pszText; 2014 RECT rcButton; 2015 } 2016 alias NMTOOLBARA* LPNMTOOLBARA; 2017 2018 2019 struct NMTOOLBARW 2020 { 2021 NMHDR hdr; 2022 int iItem; 2023 TBBUTTON tbButton; 2024 int cchText; 2025 LPWSTR pszText; 2026 RECT rcButton; 2027 } 2028 alias NMTOOLBARW* LPNMTOOLBARW; 2029 2030 2031 enum: BYTE 2032 { 2033 TBSTYLE_BUTTON = 0x00, 2034 TBSTYLE_SEP = 0x01, 2035 TBSTYLE_CHECK = 0x02, 2036 TBSTYLE_GROUP = 0x04, 2037 TBSTYLE_DROPDOWN = 0x08, 2038 TBSTYLE_AUTOSIZE = 0x10, 2039 2040 /+ 2041 // The following are too big for TBBUTTON.fsStyle 2042 TBSTYLE_TOOLTIPS = 0x0100, 2043 TBSTYLE_WRAPABLE = 0x0200, 2044 TBSTYLE_ALTDRAG = 0x0400, 2045 +/ 2046 } 2047 2048 2049 enum: BYTE 2050 { 2051 //BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE, 2052 2053 BTNS_WHOLEDROPDOWN = 0x80, 2054 } 2055 2056 2057 enum: BYTE 2058 { 2059 TBSTATE_CHECKED = 0x01, 2060 TBSTATE_PRESSED = 0x02, 2061 TBSTATE_ENABLED = 0x04, 2062 TBSTATE_HIDDEN = 0x08, 2063 TBSTATE_INDETERMINATE = 0x10, 2064 TBSTATE_WRAP = 0x20, 2065 TBSTATE_ELLIPSES = 0x40, 2066 TBSTATE_MARKED = 0x80, 2067 } 2068 2069 2070 enum: LRESULT 2071 { 2072 TBDDRET_DEFAULT = 0, 2073 TBDDRET_NODEFAULT = 1, 2074 TBDDRET_TREATPRESSED = 2, 2075 } 2076 2077 2078 enum: UINT 2079 { 2080 TB_SETSTATE = WM_USER + 17, 2081 TB_ADDBUTTONSA = WM_USER + 20, 2082 TB_INSERTBUTTONA = WM_USER + 21, 2083 TB_DELETEBUTTON = WM_USER + 22, 2084 TB_GETITEMRECT = WM_USER + 29, 2085 TB_BUTTONSTRUCTSIZE = WM_USER + 30, 2086 TB_SETBUTTONSIZE = WM_USER + 31, 2087 TB_AUTOSIZE = WM_USER + 33, 2088 TB_SETIMAGELIST = WM_USER + 48, 2089 TB_INSERTBUTTONW = WM_USER + 67, 2090 TB_ADDBUTTONSW = WM_USER + 68, 2091 TB_SETPADDING = WM_USER + 87, 2092 } 2093 2094 2095 enum: UINT 2096 { 2097 TBN_FIRST = cast(UINT)-700, 2098 TBN_DROPDOWN = TBN_FIRST - 10, 2099 } 2100 2101 2102 struct TVITEMA 2103 { 2104 UINT mask; 2105 HTREEITEM hItem; 2106 UINT state; 2107 UINT stateMask; 2108 LPSTR pszText; 2109 int cchTextMax; 2110 int iImage; 2111 int iSelectedImage; 2112 int cChildren; 2113 LPARAM lParam; 2114 } 2115 alias TVITEMA* LPTVITEMA; 2116 alias TVITEMA* PTVITEMA; 2117 alias TVITEMA TV_ITEMA; 2118 alias TVITEMA* LPTV_ITEMA; 2119 alias TVITEMA* PTV_ITEMA; 2120 2121 2122 struct TVITEMW 2123 { 2124 UINT mask; 2125 HTREEITEM hItem; 2126 UINT state; 2127 UINT stateMask; 2128 LPWSTR pszText; 2129 int cchTextMax; 2130 int iImage; 2131 int iSelectedImage; 2132 int cChildren; 2133 LPARAM lParam; 2134 } 2135 alias TVITEMW* LPTVITEMW; 2136 alias TVITEMW* PTVITEMW; 2137 alias TVITEMW TV_ITEMW; 2138 alias TVITEMW* LPTV_ITEMW; 2139 alias TVITEMW* PTV_ITEMW; 2140 2141 2142 struct TVHITTESTINFO 2143 { 2144 POINT pt; 2145 UINT flags; 2146 HTREEITEM hItem; 2147 } 2148 alias TVHITTESTINFO* LPTVHITTESTINFO; 2149 2150 2151 struct TVINSERTSTRUCTA 2152 { 2153 HTREEITEM hParent; 2154 HTREEITEM hInsertAfter; 2155 TV_ITEMA item; 2156 } 2157 alias TVINSERTSTRUCTA* LPTVINSERTSTRUCTA; 2158 alias TVINSERTSTRUCTA TV_INSERTSTRUCTA; 2159 alias TVINSERTSTRUCTA* LPTV_INSERTSTRUCTA; 2160 2161 2162 struct NMTREEVIEWA 2163 { 2164 NMHDR hdr; 2165 UINT action; 2166 TVITEMA itemOld; 2167 TVITEMA itemNew; 2168 POINT ptDrag; 2169 } 2170 alias NMTREEVIEWA* LPNMTREEVIEWA; 2171 alias NMTREEVIEWA NM_TREEVIEW; 2172 alias NMTREEVIEWA* LPNM_TREEVIEW; 2173 2174 2175 struct NMTVDISPINFOA 2176 { 2177 NMHDR hdr; 2178 TVITEMA item; 2179 } 2180 alias NMTVDISPINFOA* LPNMTVDISPINFOA; 2181 alias NMTVDISPINFOA TV_DISPINFOA; 2182 alias NMTVDISPINFOA* LPTV_DISPINFOA; 2183 2184 2185 struct NMTVDISPINFOW 2186 { 2187 NMHDR hdr; 2188 TVITEMW item; 2189 } 2190 alias NMTVDISPINFOW* LPNMTVDISPINFOW; 2191 alias NMTVDISPINFOW TV_DISPINFOW; 2192 alias NMTVDISPINFOW* LPTV_DISPINFOW; 2193 2194 2195 struct TCITEMA 2196 { 2197 UINT mask; 2198 UINT lpReserved1; 2199 UINT lpReserved2; 2200 LPSTR pszText; 2201 int cchTextMax; 2202 int iImage; 2203 LPARAM lParam; 2204 } 2205 alias TCITEMA* LPTCITEMA; 2206 alias TCITEMA TC_ITEMA; 2207 alias TCITEMA* LPTC_ITEMA; 2208 2209 2210 struct TCITEMW 2211 { 2212 UINT mask; 2213 UINT lpReserved1; 2214 UINT lpReserved2; 2215 LPWSTR pszText; 2216 int cchTextMax; 2217 int iImage; 2218 LPARAM lParam; 2219 } 2220 alias TCITEMW* LPTCITEMW; 2221 alias TCITEMW TC_ITEMW; 2222 alias TCITEMW* LPTC_ITEMW; 2223 2224 2225 // Rich edit. 2226 struct CHARRANGE 2227 { 2228 LONG cpMin; 2229 LONG cpMax; 2230 } 2231 2232 2233 // Rich edit. 2234 struct EDITSTREAM 2235 { 2236 /+ DWORD_PTR +/ DWORD dwCookie; 2237 DWORD dwError; 2238 EDITSTREAMCALLBACK pfnCallback; 2239 } 2240 2241 2242 // Rich edit. 2243 struct CHARFORMAT2A 2244 { 2245 UINT cbSize; 2246 DWORD dwMask; 2247 DWORD dwEffects; 2248 LONG yHeight; 2249 LONG yOffset; 2250 COLORREF crTextColor; 2251 BYTE bCharSet; 2252 BYTE bPitchAndFamily; 2253 char[LF_FACESIZE] szFaceName; 2254 WORD wWeight; 2255 SHORT sSpacing; 2256 COLORREF crBackColor; 2257 LCID lcid; 2258 DWORD dwReserved; 2259 SHORT sStyle; 2260 WORD wKerning; 2261 BYTE bUnderlineType; 2262 BYTE bAnimation; 2263 BYTE bRevAuthor; 2264 BYTE bReserved1; 2265 } 2266 static assert(CHARFORMAT2A.sizeof == 84); 2267 2268 2269 // Rich edit. 2270 struct ENLINK 2271 { 2272 NMHDR nmhdr; 2273 UINT msg; 2274 WPARAM wParam; 2275 LPARAM lParam; 2276 CHARRANGE chrg; 2277 } 2278 2279 2280 struct TEXTRANGEA 2281 { 2282 CHARRANGE chrg; 2283 LPSTR lpstrText; 2284 } 2285 2286 2287 struct MENUITEMINFOA 2288 { 2289 UINT cbSize; 2290 UINT fMask; 2291 UINT fType; 2292 UINT fState; 2293 UINT wID; 2294 HMENU hSubMenu; 2295 HBITMAP hbmpChecked; 2296 HBITMAP hbmpUnchecked; 2297 DWORD dwItemData; 2298 LPSTR dwTypeData; 2299 UINT cch; 2300 //HBITMAP hbmpItem; 2301 } 2302 alias MENUITEMINFOA* LPMENUITEMINFOA; 2303 2304 2305 struct MENUITEMINFOW 2306 { 2307 UINT cbSize; 2308 UINT fMask; 2309 UINT fType; 2310 UINT fState; 2311 UINT wID; 2312 HMENU hSubMenu; 2313 HBITMAP hbmpChecked; 2314 HBITMAP hbmpUnchecked; 2315 DWORD dwItemData; 2316 LPWSTR dwTypeData; 2317 UINT cch; 2318 //HBITMAP hbmpItem; 2319 } 2320 alias MENUITEMINFOW* LPMENUITEMINFOW; 2321 2322 2323 struct SCROLLINFO 2324 { 2325 UINT cbSize; 2326 UINT fMask; 2327 int nMin; 2328 int nMax; 2329 UINT nPage; 2330 int nPos; 2331 int nTrackPos; 2332 } 2333 alias SCROLLINFO* LPSCROLLINFO; 2334 2335 2336 struct OPENFILENAMEW 2337 { 2338 DWORD lStructSize; 2339 HWND hwndOwner; 2340 HINSTANCE hInstance; 2341 LPCWSTR lpstrFilter; 2342 LPWSTR lpstrCustomFilter; 2343 DWORD nMaxCustFilter; 2344 DWORD nFilterIndex; 2345 LPWSTR lpstrFile; 2346 DWORD nMaxFile; 2347 LPWSTR lpstrFileTitle; 2348 DWORD nMaxFileTitle; 2349 LPCWSTR lpstrInitialDir; 2350 LPCWSTR lpstrTitle; 2351 DWORD Flags; 2352 WORD nFileOffset; 2353 WORD nFileExtension; 2354 LPCWSTR lpstrDefExt; 2355 LPARAM lCustData; 2356 LPOFNHOOKPROC lpfnHook; 2357 LPCWSTR lpTemplateName; 2358 } 2359 alias OPENFILENAMEW* LPOPENFILENAMEW; 2360 2361 2362 alias UINT function(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) LPCCHOOKPROC; 2363 2364 2365 alias UINT function(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) LPCFHOOKPROC; 2366 2367 2368 alias BOOL function(HDC hdc, LPARAM lpData, int cchData) GRAYSTRINGPROC; 2369 2370 2371 enum: DWORD 2372 { 2373 CC_RGBINIT = 0x00000001, 2374 CC_FULLOPEN = 0x00000002, 2375 CC_PREVENTFULLOPEN = 0x00000004, 2376 CC_SHOWHELP = 0x00000008, 2377 CC_ENABLEHOOK = 0x00000010, 2378 CC_ENABLETEMPLATE = 0x00000020, 2379 CC_ENABLETEMPLATEHANDLE = 0x00000040, 2380 CC_SOLIDCOLOR = 0x00000080, 2381 CC_ANYCOLOR = 0x00000100, 2382 } 2383 2384 2385 struct CHOOSECOLORA 2386 { 2387 DWORD lStructSize; 2388 HWND hwndOwner; 2389 HWND hInstance; 2390 COLORREF rgbResult; 2391 COLORREF* lpCustColors; 2392 DWORD Flags; 2393 LPARAM lCustData; 2394 LPCCHOOKPROC lpfnHook; 2395 LPCSTR lpTemplateName; 2396 } 2397 alias CHOOSECOLORA* PCHOOSECOLORA; 2398 alias CHOOSECOLORA* LPCHOOSECOLORA; 2399 2400 2401 struct LOGFONTW 2402 { 2403 LONG lfHeight; 2404 LONG lfWidth; 2405 LONG lfEscapement; 2406 LONG lfOrientation; 2407 LONG lfWeight; 2408 BYTE lfItalic; 2409 BYTE lfUnderline; 2410 BYTE lfStrikeOut; 2411 BYTE lfCharSet; 2412 BYTE lfOutPrecision; 2413 BYTE lfClipPrecision; 2414 BYTE lfQuality; 2415 BYTE lfPitchAndFamily; 2416 WCHAR[32] lfFaceName; 2417 } 2418 alias LOGFONTW* PLOGFONTW; 2419 alias LOGFONTW* LPLOGFONTW; 2420 2421 2422 struct NONCLIENTMETRICSA 2423 { 2424 UINT cbSize; 2425 int iBorderWidth; 2426 int iScrollWidth; 2427 int iScrollHeight; 2428 int iCaptionWidth; 2429 int iCaptionHeight; 2430 LOGFONTA lfCaptionFont; 2431 int iSmCaptionWidth; 2432 int iSmCaptionHeight; 2433 LOGFONTA lfSmCaptionFont; 2434 int iMenuWidth; 2435 int iMenuHeight; 2436 LOGFONTA lfMenuFont; 2437 LOGFONTA lfStatusFont; 2438 LOGFONTA lfMessageFont; 2439 } 2440 alias NONCLIENTMETRICSA LPNONCLIENTMETRICSA; 2441 2442 2443 struct CHOOSEFONTW 2444 { 2445 align(1): 2446 DWORD lStructSize; 2447 HWND hwndOwner; 2448 HDC hDC; 2449 LPLOGFONTW lpLogFont; 2450 INT iPointSize; 2451 DWORD Flags; 2452 DWORD rgbColors; 2453 LPARAM lCustData; 2454 LPCFHOOKPROC lpfnHook; 2455 LPCWSTR lpTemplateName; 2456 HINSTANCE hInstance; 2457 LPWSTR lpszStyle; 2458 WORD nFontType; 2459 WORD ___MISSING_ALIGNMENT__; 2460 INT nSizeMin; 2461 INT nSizeMax; 2462 } 2463 alias CHOOSEFONTW* PCHOOSEFONTW; 2464 alias CHOOSEFONTW* LPCHOOSEFONTW; 2465 2466 2467 struct CHOOSEFONTA 2468 { 2469 align(1): 2470 DWORD lStructSize; 2471 HWND hwndOwner; 2472 HDC hDC; 2473 LPLOGFONTA lpLogFont; 2474 INT iPointSize; 2475 DWORD Flags; 2476 DWORD rgbColors; 2477 LPARAM lCustData; 2478 LPCFHOOKPROC lpfnHook; 2479 LPCSTR lpTemplateName; 2480 HINSTANCE hInstance; 2481 LPSTR lpszStyle; 2482 WORD nFontType; 2483 WORD ___MISSING_ALIGNMENT__; 2484 INT nSizeMin; 2485 INT nSizeMax; 2486 } 2487 alias CHOOSEFONTA* PCHOOSEFONTA; 2488 alias CHOOSEFONTA* LPCHOOSEFONTA; 2489 2490 2491 struct ICONINFO 2492 { 2493 BOOL fIcon; 2494 DWORD xHotspot; 2495 DWORD yHotspot; 2496 HBITMAP hbmMask; 2497 HBITMAP hbmColor; 2498 } 2499 alias ICONINFO* LPICONINFO; 2500 alias ICONINFO* PICONINFO; 2501 2502 2503 struct MINMAXINFO 2504 { 2505 POINT ptReserved; 2506 POINT ptMaxSize; 2507 POINT ptMaxPosition; 2508 POINT ptMinTrackSize; 2509 POINT ptMaxTrackSize; 2510 } 2511 alias MINMAXINFO* LPMINMAXINFO; 2512 alias MINMAXINFO* PMINMAXINFO; 2513 2514 2515 struct NCCALCSIZE_PARAMS 2516 { 2517 RECT[3] rgrc; 2518 PWINDOWPOS lppos; 2519 } 2520 alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; 2521 2522 2523 struct CREATESTRUCTA 2524 { 2525 LPVOID lpCreateParams; 2526 HINSTANCE hInstance; 2527 HMENU hMenu; 2528 HWND hwndParent; 2529 int cy; 2530 int cx; 2531 int y; 2532 int x; 2533 LONG style; 2534 LPCSTR lpszName; 2535 LPCSTR lpszClass; 2536 DWORD dwExStyle; 2537 } 2538 alias CREATESTRUCTA* LPCREATESTRUCTA; 2539 2540 2541 struct ACTCTXW 2542 { 2543 ULONG cbSize; 2544 DWORD dwFlags; 2545 LPCWSTR lpSource; 2546 USHORT wProcessorArchitecture; 2547 LANGID wLangId; 2548 LPCWSTR lpAssemblyDirectory; 2549 LPCWSTR lpResourceName; 2550 LPCWSTR lpApplicationName; 2551 HMODULE hModule; 2552 } 2553 alias ACTCTXW* PACTCTXW; 2554 alias ACTCTXW* LPACTCTXW; 2555 2556 2557 struct HELPINFO 2558 { 2559 UINT cbSize; 2560 int iContextType; 2561 int iCtrlId; 2562 HANDLE hItemHandle; 2563 DWORD dwContextId; 2564 POINT MousePos; 2565 } 2566 alias HELPINFO* LPHELPINFO; 2567 2568 2569 struct TOOLINFOA 2570 { 2571 UINT cbSize; 2572 UINT uFlags; 2573 HWND hwnd; 2574 UINT uId; 2575 RECT rect; 2576 HINSTANCE hinst; 2577 LPSTR lpszText; 2578 } 2579 alias TOOLINFOA* PTOOLINFOA; 2580 alias TOOLINFOA* LPTOOLINFOA; 2581 2582 2583 struct TRACKMOUSEEVENT 2584 { 2585 DWORD cbSize; 2586 DWORD dwFlags; 2587 HWND hwndTrack; 2588 DWORD dwHoverTime; 2589 } 2590 alias TRACKMOUSEEVENT* LPTRACKMOUSEEVENT; 2591 2592 2593 struct STYLESTRUCT 2594 { 2595 DWORD styleOld; 2596 DWORD styleNew; 2597 } 2598 alias STYLESTRUCT* LPSTYLESTRUCT; 2599 2600 2601 //extern(C) DWORD MAKELONG(WORD wLow, WORD wHigh) 2602 extern(C) DWORD MAKELONG(int wLow, int wHigh) 2603 { 2604 return cast(DWORD)cast(WORD)wLow | (cast(DWORD)cast(WORD)wHigh << 16); 2605 } 2606 2607 alias MAKELONG MAKELPARAM; 2608 alias MAKELONG MAKEWPARAM; 2609 alias MAKELONG MAKELRESULT; 2610 2611 2612 enum int DLGWINDOWEXTRA = 30; 2613 2614 2615 extern(C) COLORREF RGB(int r, int g , int b) 2616 { 2617 return cast(COLORREF)(cast(BYTE)r | 2618 cast(WORD)(cast(BYTE)g << 8) | 2619 cast(DWORD)(cast(BYTE)b << 16)); 2620 } 2621 2622 2623 struct DRAWITEMSTRUCT 2624 { 2625 UINT CtlType; 2626 UINT CtlID; 2627 UINT itemID; 2628 UINT itemAction; 2629 UINT itemState; 2630 HWND hwndItem; 2631 HDC hDC; 2632 RECT rcItem; 2633 DWORD itemData; 2634 } 2635 alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT; 2636 2637 2638 struct MEASUREITEMSTRUCT 2639 { 2640 UINT CtlType; 2641 UINT CtlID; 2642 UINT itemID; 2643 UINT itemWidth; 2644 UINT itemHeight; 2645 DWORD itemData; 2646 } 2647 alias MEASUREITEMSTRUCT* LPMEASUREITEMSTRUCT; 2648 2649 2650 struct ANIMATIONINFO 2651 { 2652 UINT cbSize; 2653 int iMinAnimate; 2654 } 2655 2656 2657 struct APPBARDATA 2658 { 2659 DWORD cbSize; 2660 HWND hWnd; 2661 UINT uCallbackMessage; 2662 UINT uEdge; 2663 RECT rc; 2664 LPARAM lParam; // message specific 2665 } 2666 alias APPBARDATA* PAPPBARDATA; 2667 2668 2669 struct CLIENTCREATESTRUCT 2670 { 2671 HANDLE hWindowMenu; 2672 UINT idFirstChild; 2673 } 2674 alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; 2675 2676 2677 struct MDICREATESTRUCTA 2678 { 2679 LPCSTR szClass; 2680 LPCSTR szTitle; 2681 HANDLE hOwner; 2682 int x; 2683 int y; 2684 int cx; 2685 int cy; 2686 DWORD style; 2687 LPARAM lParam; 2688 } 2689 alias MDICREATESTRUCTA* LPMDICREATESTRUCTA; 2690 2691 2692 struct INITCOMMONCONTROLSEX 2693 { 2694 DWORD dwSize; 2695 DWORD dwICC; 2696 } 2697 alias INITCOMMONCONTROLSEX* LPINITCOMMONCONTROLSEX; 2698 alias INITCOMMONCONTROLSEX* PINITCOMMONCONTROLSEX; 2699 2700 2701 struct DROPFILES 2702 { 2703 DWORD pFiles; 2704 POINT pt; 2705 BOOL fNC; 2706 BOOL fWide; 2707 } 2708 alias DROPFILES* LPDROPFILES; 2709 2710 2711 alias HANDLE HHOOK; 2712 alias HANDLE HTHEME; 2713 alias HANDLE HTREEITEM; 2714 alias HANDLE HDROP; 2715 alias HANDLE HMONITOR; 2716 2717 2718 HCURSOR CopyCursor(HCURSOR pcur) 2719 { 2720 return cast(HCURSOR)CopyIcon(cast(HICON)pcur); 2721 } 2722 2723 2724 alias BOOL function(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) MONITORENUMPROC; 2725 2726 2727 struct MONITORINFO 2728 { 2729 DWORD cbSize; 2730 RECT rcMonitor; 2731 RECT rcWork; 2732 DWORD dwFlags; 2733 } 2734 alias MONITORINFO* LPMONITORINFO; 2735 2736 2737 enum: DWORD 2738 { 2739 MONITORINFOF_PRIMARY = 1, 2740 } 2741 2742 2743 enum: DWORD 2744 { 2745 MONITOR_DEFAULTTONULL = 0x00000000, 2746 MONITOR_DEFAULTTOPRIMARY = 0x00000001, 2747 MONITOR_DEFAULTTONEAREST = 0x00000002, 2748 } 2749 2750 2751 BOOL DrawIconEx(HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); 2752 BOOL DrawIcon(HDC hDC, int X, int Y, HICON hIcon); 2753 BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); 2754 HWND GetCapture(); 2755 HWND SetCapture(HWND hWnd); 2756 BOOL ReleaseCapture(); 2757 HMENU GetMenu(HWND hWnd); 2758 BOOL IsChild(HWND hWndParent, HWND hWnd); 2759 BOOL IsWindow(HWND hWnd); 2760 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); 2761 LRESULT SendMessageW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2762 int MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType); 2763 DWORD SetClassLongA(HWND hWnd, int nIndex, LONG dwNewLong); 2764 DWORD GetClassLongA(HWND hWnd, int nIndex); 2765 LONG SetWindowLongA(HWND hWnd, int nIndex, LONG dwNewLong); 2766 LONG GetWindowLongA(HWND hWnd, int nIndex); 2767 DWORD GetSysColor(int nIndex); 2768 BOOL EnableWindow(HWND hWnd, BOOL bEnable); 2769 BOOL IsWindowEnabled(HWND hWnd); 2770 COLORREF GetTextColor(HDC hdc); 2771 COLORREF SetTextColor(HDC hdc, COLORREF crColor); 2772 HWND GetWindow(HWND hWnd, UINT uCmd); 2773 DWORD GetWindowThreadProcessId(HWND hWnd, LPDWORD lpdwProcessId); 2774 SHORT GetKeyState(int nVirtKey); 2775 SHORT GetAsyncKeyState(int vKey); 2776 HWND SetParent(HWND hWndChild, HWND hWndNewParent); 2777 int CombineRgn(HRGN hrgnDest, HRGN hrgnSrc1, HRGN hrgnSrc2, int fnCombineMode); 2778 BOOL EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam); 2779 BOOL EnumChildWindows(HWND hWndParent, WNDENUMPROC lpEnumFunc, LPARAM lParam); 2780 BOOL SetWindowTextA(HWND hWnd, LPCSTR lpString); 2781 BOOL SetWindowTextW(HWND hWnd, LPCWSTR lpString); 2782 int GetWindowTextLengthA(HWND hWnd); 2783 int GetWindowTextLengthW(HWND hWnd); 2784 int GetWindowTextA(HWND hWnd, LPSTR lpString, int nMaxCount); 2785 int GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount); 2786 BOOL IsWindowVisible(HWND hWnd); 2787 BOOL WaitMessage(); 2788 DWORD TlsAlloc(); 2789 BOOL TlsFree(DWORD dwTlsIndex); 2790 LPVOID TlsGetValue(DWORD dwTlsIndex); 2791 BOOL TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue); 2792 BOOL BringWindowToTop(HWND hWnd); 2793 UINT RegisterWindowMessageA(LPCSTR lpString); 2794 HWND GetParent(HWND hWnd); 2795 HWND GetDesktopWindow(); 2796 HWND GetNextDlgTabItem(HWND hDlg, HWND hCtl, BOOL bPrevious); 2797 HBRUSH CreateSolidBrush(COLORREF crColor); 2798 HBRUSH CreateHatchBrush(int fnStyle, COLORREF clrref); 2799 int GetObjectA(HGDIOBJ hgdiobj, int cbBuffer, LPVOID lpvObject); 2800 void InitCommonControls(); 2801 BOOL DestroyWindow(HWND hwnd); 2802 ATOM RegisterClassExA(WNDCLASSEXA* lpwcx); 2803 ATOM RegisterClassW(WNDCLASSW* lpWndClass); 2804 HWND GetActiveWindow(); 2805 LRESULT DefDlgProcA(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); 2806 LRESULT DefDlgProcW(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); 2807 BOOL IsDialogMessageA(HWND hDlg, LPMSG lpMsg); 2808 BOOL IsDialogMessageW(HWND hDlg, LPMSG lpMsg); 2809 HBRUSH GetSysColorBrush(int nIndex); 2810 BOOL PostMessageA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2811 UINT SetTimer(HWND hWnd, UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc); 2812 BOOL KillTimer(HWND hWnd, UINT uIDEvent); 2813 LPSTR GetCommandLineA(); 2814 LPWSTR GetCommandLineW(); 2815 BOOL SetCurrentDirectoryW(LPCWSTR lpPathName); 2816 DWORD GetCurrentDirectoryW(DWORD nBufferLength, LPWSTR lpBuffer); 2817 BOOL GetComputerNameA(LPSTR lpBuffer, LPDWORD nSize); 2818 BOOL GetComputerNameW(LPWSTR lpBuffer, LPDWORD nSize); 2819 BOOL GetVersionExA(LPOSVERSIONINFOA lpVersionInformation); 2820 UINT GetSystemDirectoryA(LPSTR lpBuffer, UINT uSize); 2821 UINT GetSystemDirectoryW(LPWSTR lpBuffer, UINT uSize); 2822 BOOL GetUserNameA(LPSTR lpBuffer, LPDWORD nSize); // advapi32.lib 2823 BOOL GetUserNameW(LPWSTR lpBuffer, LPDWORD nSize); // advapi32.lib 2824 DWORD GetEnvironmentVariableA(LPCSTR lpName, LPSTR lpBuffer, DWORD nSize); 2825 DWORD GetEnvironmentVariableW(LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize); 2826 DWORD ExpandEnvironmentStringsW(LPCWSTR lpSrc, LPWSTR lpDst, DWORD nSize); 2827 DWORD GetLogicalDrives(); 2828 BOOL SetMenu(HWND hWnd, HMENU hMenu); 2829 BOOL SetLayeredWindowAttributes(HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags); 2830 BOOL SystemParametersInfoA(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); 2831 BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack); 2832 BOOL GetClassInfoA(HINSTANCE hInstance, LPCSTR lpClassName, LPWNDCLASSA lpWndClass); 2833 BOOL GetClassInfoW(HINSTANCE hInstance, LPCWSTR lpClassName, LPWNDCLASSW lpWndClass); 2834 LRESULT CallWindowProcA(WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2835 LRESULT CallWindowProcW(WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2836 BOOL OpenClipboard(HWND hWndNewOwner); 2837 BOOL EmptyClipboard(); 2838 HGLOBAL GlobalAlloc(UINT uFlags, DWORD dwBytes); 2839 BOOL CloseClipboard(); 2840 HANDLE SetClipboardData(UINT uFormat, HANDLE hMem); 2841 HANDLE GetClipboardData(UINT uFormat); 2842 HGLOBAL GlobalFree(HGLOBAL hMem); 2843 LPVOID GlobalLock(HGLOBAL hMem); 2844 BOOL GlobalUnlock(HGLOBAL hMem); 2845 BOOL DrawFocusRect(HDC hDC, RECT* lprc); 2846 LRESULT CallNextHookEx(HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam); 2847 HHOOK SetWindowsHookExA(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId); 2848 BOOL UnhookWindowsHookEx(HHOOK hhk); 2849 int GetSystemMetrics(int nIndex); 2850 BOOL DestroyMenu(HMENU hMenu); 2851 BOOL SetMenuItemInfoA(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFOA lpmii); 2852 BOOL SetMenuItemInfoW(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFOW lpmii); 2853 BOOL InsertMenuItemA(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFOA lpmii); 2854 BOOL InsertMenuItemW(HMENU hMenu, UINT uItem, BOOL fByPosition, LPMENUITEMINFOW lpmii); 2855 BOOL RemoveMenu(HMENU hMenu, UINT uPosition, UINT uFlags ); 2856 UINT GetMenuItemID(HMENU hMenu, int nPos); 2857 BOOL DrawMenuBar(HWND hWnd); 2858 HMENU CreatePopupMenu(); 2859 HMENU CreateMenu(); 2860 BOOL Shell_NotifyIconA(DWORD dwMessage, NOTIFYICONDATA* pnid); 2861 LONG RegQueryValueExA(HKEY hKey, LPCSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); 2862 LONG RegQueryValueExW(HKEY hKey, LPCWSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); 2863 LONG RegConnectRegistryA(LPCSTR lpMachineName, HKEY hKey, PHKEY phkResult); 2864 UINT RegisterClipboardFormatA(LPCSTR lpszFormat); 2865 UINT RegisterClipboardFormatW(LPCWSTR lpszFormat); 2866 int GetClipboardFormatNameA(UINT format, LPSTR lpszFormatName, int cchMaxCount); 2867 int GetClipboardFormatNameW(UINT format, LPWSTR lpszFormatName, int cchMaxCount); 2868 DWORD GlobalSize(HGLOBAL hMem); 2869 VOID ExitProcess(UINT uExitCode); 2870 BOOL DrawAnimatedRects(HWND hwnd, int idAni, RECT* lprcFrom, RECT* lprcTo); 2871 HWND FindWindowExA(HWND hwndParent, HWND hwndChildAfter, LPCSTR lpszClass, LPCSTR lpszWindow); 2872 UINT SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pData); 2873 BOOL SetPropA(HWND hWnd, LPCSTR lpString, HANDLE hData); 2874 HANDLE GetPropA(HWND hWnd, LPCSTR lpString); 2875 HANDLE RemovePropA(HWND hWnd, LPCSTR lpString); 2876 DWORD CommDlgExtendedError(); 2877 LRESULT DefFrameProcA(HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam); 2878 LRESULT DefFrameProcW(HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam); 2879 LRESULT DefMDIChildProcA(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); 2880 LRESULT DefMDIChildProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); 2881 VOID SetLastError(DWORD dwErrCode); 2882 HWND CreateMDIWindowA(LPSTR lpClassName, LPSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam); 2883 int MulDiv(int nNumber, int nNumerator, int nDenominator); 2884 BOOL FillRgn(HDC hdc, HRGN hrgn, HBRUSH hbr); 2885 COLORREF GetNearestColor(HDC hdc,COLORREF crColor); 2886 int DrawTextA(HDC hDC, LPCSTR lpString, int nCount, LPRECT lpRect, UINT uFormat); 2887 int DrawTextExA(HDC hdc, LPSTR lpchText, int cchText, LPRECT lprc, UINT dwDTFormat, LPDRAWTEXTPARAMS lpDTParams); 2888 int DrawTextExW(HDC hdc, LPWSTR lpchText, int cchText, LPRECT lprc, UINT dwDTFormat, LPDRAWTEXTPARAMS lpDTParams); 2889 HANDLE LoadImageA(HINSTANCE hinst, LPCSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad); 2890 HANDLE LoadImageW(HINSTANCE hinst, LPCWSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad); 2891 HANDLE CopyImage(HANDLE hImage, UINT uType, int cxDesired, int cyDesired, UINT fuFlags); 2892 int WSACancelAsyncRequest(HANDLE hAsyncTaskHandle); 2893 HANDLE WSAAsyncGetHostByName(HWND hWnd, uint wMsg, PCSTR name, char* buf, int buflen); 2894 HANDLE WSAAsyncGetHostByAddr(HWND hWnd, uint wMsg, PCSTR addr, int len, int type, char* buf, int buflen); 2895 BOOL ExtTextOutA(HDC hdc, int X, int Y, UINT fuOptions, RECT* lprc, LPCSTR lpString, UINT cbCount, INT* lpDx); 2896 BOOL Arc(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc); 2897 BOOL PolyBezier(HDC hdc, POINT* lppt,DWORD cPoints); 2898 BOOL Ellipse(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 2899 BOOL Polygon(HDC hdc, POINT* lpPoints,int nCount); 2900 BOOL Rectangle(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 2901 BOOL GdiFlush(); 2902 LONG RegSetValueExW(HKEY hKey, LPCWSTR lpValueName, DWORD Reserved, DWORD dwType, BYTE* lpData, DWORD cbData); 2903 LONG RegCreateKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPWSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition); 2904 LONG RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult); 2905 LONG RegDeleteKeyW(HKEY hKey, LPCWSTR lpSubKey); 2906 LONG RegEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpName, LPDWORD lpcbName, LPDWORD lpReserved, LPWSTR lpClass, LPDWORD lpcbClass, PFILETIME lpftLastWriteTime); 2907 LONG RegEnumValueW(HKEY hKey, DWORD dwIndex, LPTSTR lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); 2908 BOOL DrawFrameControl(HDC hdc, LPRECT lprc, UINT uType, UINT uState); 2909 BOOL GetTextExtentPoint32A(HDC hdc, LPCSTR lpString, int cbString, LPSIZE lpSize); 2910 BOOL GetTextExtentPoint32W(HDC hdc, LPCWSTR lpString, int cbString, LPSIZE lpSize); 2911 HINSTANCE ShellExecuteA(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd); 2912 HANDLE CreateActCtxW(PACTCTXW pActCtx); 2913 BOOL ActivateActCtx(HANDLE hActCtx, ULONG** lpCookie); 2914 UINT GetTempFileNameW(LPCWSTR lpPathName, LPCWSTR lpPrefixString, UINT uUnique, LPWSTR lpTempFileName); 2915 DWORD GetTempPathW(DWORD nBufferLength, LPWSTR lpBuffer); 2916 VOID OutputDebugStringA(LPCSTR lpOutputString); 2917 VOID DebugBreak(); 2918 BOOL BitBlt(HDC hdcDest, int nXDest,int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop); 2919 BOOL GetIconInfo(HICON hIcon, PICONINFO piconinfo); 2920 BOOL DestroyIcon(HICON hIcon); 2921 BOOL DestroyCursor(HCURSOR hCursor); 2922 LPITEMIDLIST SHBrowseForFolderA(LPBROWSEINFOA lpbi); 2923 LPITEMIDLIST SHBrowseForFolderW(LPBROWSEINFOW lpbi); 2924 HRESULT SHGetMalloc(LPMALLOC* ppMalloc); 2925 BOOL SHGetPathFromIDListA(LPCITEMIDLIST pidl, LPSTR pszPath); 2926 BOOL SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath); 2927 BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX lpInitCtrls); 2928 int GetDlgCtrlID(HWND hwndCtl); 2929 HWND GetDlgItem(HWND hDlg, int nIDDlgItem); 2930 BOOL ShowOwnedPopups(HWND hWnd, BOOL fShow); 2931 UINT GetWindowsDirectoryA(LPSTR lpBuffer, UINT uSize); 2932 UINT GetWindowsDirectoryW(LPWSTR lpBuffer, UINT uSize); 2933 //HCURSOR CopyCursor(HCURSOR pcur); 2934 HINSTANCE LoadLibraryExA(LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags); 2935 HINSTANCE LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags); 2936 HICON CopyIcon(HICON hIcon); 2937 BOOL ChooseColorA(LPCHOOSECOLORA lpcc); 2938 UINT DragQueryFileA(HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch); 2939 UINT DragQueryFileW(HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch); 2940 VOID DragFinish(HDROP hDrop); 2941 BOOL DragQueryPoint(HDROP hDrop, LPPOINT lppt); 2942 BOOL GrayStringA(HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight); 2943 BOOL IsWindowUnicode(HWND hWnd); 2944 BOOL ChooseFontA(LPCHOOSEFONTA lpcf); 2945 BOOL ChooseFontW(LPCHOOSEFONTW lpcf); 2946 HBITMAP CreateCompatibleBitmap(HDC hdc, int nWidth, int nHeight); 2947 LONG DispatchMessageW(MSG* lpmsg); 2948 BOOL PeekMessageW(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg); 2949 LRESULT DefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2950 HWND GetNextDlgGroupItem(HWND hDlg, HWND hCtl, BOOL bPrevious); 2951 HANDLE FindFirstChangeNotificationA(LPCSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter); 2952 HANDLE FindFirstChangeNotificationW(LPCWSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter); 2953 BOOL FindCloseChangeNotification(HANDLE hChangeHandle); 2954 BOOL FindNextChangeNotification(HANDLE hChangeHandle); 2955 DWORD GetFullPathNameA(LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart); 2956 DWORD GetFullPathNameW(LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart); 2957 SHORT VkKeyScanA(char ch); 2958 SHORT VkKeyScanW(wchar ch); 2959 HRSRC FindResourceExA(HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage); 2960 HRSRC FindResourceExW(HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage); 2961 HGLOBAL LoadResource(HMODULE hModule, HRSRC hResInfo); 2962 DWORD SizeofResource(HMODULE hModule, HRSRC hResInfo); 2963 BOOL EnableMenuItem(HMENU hMenu, UINT uIDEnableItem, UINT uEnable); 2964 BOOL IsMenu(HMENU hMenu); 2965 HMENU GetSystemMenu(HWND hWnd, BOOL bRevert); 2966 DWORD GetModuleFileNameW(HMODULE hModule, LPWSTR lpFilename, DWORD nSize); 2967 HBITMAP CreateBitmap(int nWidth, int nHeight, UINT cPlanes, UINT cBitsPerPel, VOID *lpvBits); 2968 BOOL SetBrushOrgEx(HDC hdc, int nXOrg, int nYOrg, LPPOINT lppt); 2969 BOOL PatBlt(HDC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD dwRop); 2970 HTHEME GetWindowTheme(HWND hWnd); 2971 THEMEAPI SetWindowTheme(HWND hwnd, LPCWSTR pszSubAppName, LPCWSTR pszSubIdList); 2972 int SetScrollInfo(HWND hwnd, int fnBar, LPSCROLLINFO lpsi, BOOL fRedraw); 2973 BOOL GetScrollInfo(HWND hwnd, int fnBar, LPSCROLLINFO lpsi); 2974 BOOL DragDetect(HWND hwnd, POINT pt); 2975 HFONT CreateFontIndirectW(LOGFONTW *lplf); 2976 DWORD GetThemeAppProperties(); 2977 BOOL IsAppThemed(); 2978 HTHEME OpenThemeData(HWND hwnd, LPCWSTR pszClassList); 2979 HRESULT CloseThemeData(HTHEME hTheme); 2980 HRESULT GetThemeColor(HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor); 2981 HIMAGELIST ImageList_Create(int cx, int cy, UINT flags, int cInitial, int cGrow); 2982 BOOL ImageList_Destroy(HIMAGELIST himl); 2983 BOOL ImageList_Draw(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle); 2984 BOOL ImageList_DrawEx(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle); 2985 int ImageList_Add(HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask); 2986 int ImageList_AddIcon(HIMAGELIST himl, HICON hicon); 2987 int ImageList_AddMasked(HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask); 2988 BOOL ImageList_Remove(HIMAGELIST himl, int i); 2989 BOOL EnumDisplayMonitors(HDC hdc, LPCRECT lprcClip, MONITORENUMPROC lpfnEnum, LPARAM dwData); 2990 BOOL GetMonitorInfoA(HMONITOR hMonitor, LPMONITORINFO lpmi); 2991 HMONITOR MonitorFromWindow(HWND hwnd, DWORD dwFlags); 2992 HMONITOR MonitorFromPoint(POINT pt, DWORD dwFlags); 2993 HMONITOR MonitorFromRect(LPCRECT lprc, DWORD dwFlags); 2994 BOOL RegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk); 2995 BOOL UnregisterHotKey(HWND hWnd, int id); 2996 //} // Temporary. 2997