1 /** DGui project file. 2 3 Copyright: Trogu Antonio Davide 2011-2013 4 5 License: $(HTTP boost.org/LICENSE_1_0.txt, Boost License 1.0). 6 7 Authors: Trogu Antonio Davide 8 */ 9 10 /* 11 * Notes: 12 * - ToolTip Messages are Commented. 13 * - RichEdit Text Styles are Commented. 14 */ 15 16 module dgui.core.winapi; 17 18 public import std.c.windows.windows; 19 public import std.c.windows.com; 20 21 extern(Windows) 22 { 23 enum: int 24 { 25 I_CHILDRENCALLBACK = -1, 26 LPSTR_TEXTCALLBACKW = -1, 27 } 28 29 enum 30 { 31 SW_INVALIDATE = 2, 32 } 33 34 /* Dialog codes */ 35 enum: uint 36 { 37 DLGC_WANTARROWS = 1, 38 DLGC_WANTTAB = 2, 39 DLGC_WANTALLKEYS = 4, 40 DLGC_WANTMESSAGE = 4, 41 DLGC_HASSETSEL = 8, 42 DLGC_DEFPUSHBUTTON = 16, 43 DLGC_UNDEFPUSHBUTTON = 32, 44 DLGC_RADIOBUTTON = 64, 45 DLGC_WANTCHARS = 128, 46 DLGC_STATIC = 256, 47 DLGC_BUTTON = 0x2000, 48 } 49 50 /* Frame Control Constants */ 51 enum: uint 52 { 53 DFC_CAPTION = 1, 54 DFC_MENU = 2, 55 DFC_SCROLL = 3, 56 DFC_BUTTON = 4, 57 DFC_POPUPMENU = 5, 58 } 59 60 enum: uint 61 { 62 DFCS_CAPTIONCLOSE = 0, 63 DFCS_CAPTIONMIN = 1, 64 DFCS_CAPTIONMAX = 2, 65 DFCS_CAPTIONRESTORE = 3, 66 DFCS_CAPTIONHELP = 4, 67 } 68 69 enum: uint 70 { 71 DFCS_SCROLLUP = 0, 72 DFCS_SCROLLDOWN = 1, 73 DFCS_SCROLLLEFT = 2, 74 DFCS_SCROLLRIGHT = 3, 75 DFCS_SCROLLCOMBOBOX = 5, 76 DFCS_SCROLLSIZEGRIP = 8, 77 DFCS_SCROLLSIZEGRIPRIGHT = 16, 78 } 79 80 enum: uint 81 { 82 DFCS_MENUARROW = 0, 83 DFCS_MENUCHECK = 1, 84 DFCS_MENUBULLET = 2, 85 DFCS_MENUARROWRIGHT = 4, 86 } 87 88 enum: uint 89 { 90 DFCS_BUTTONCHECK = 0, 91 DFCS_BUTTONRADIOIMAGE = 1, 92 DFCS_BUTTONRADIOMASK = 2, 93 DFCS_BUTTONRADIO = 4, 94 DFCS_BUTTON3STATE = 8, 95 DFCS_BUTTONPUSH = 16, 96 DFCS_INACTIVE = 256, 97 DFCS_PUSHED = 512, 98 DFCS_CHECKED = 1024, 99 } 100 101 enum: uint 102 { 103 DFCS_TRANSPARENT = 0x800, 104 DFCS_HOT = 0x1000, 105 DFCS_ADJUSTRECT = 0x2000, 106 DFCS_FLAT = 0x4000, 107 DFCS_MONO = 0x8000, 108 } 109 110 /* Windows Generic Messages */ 111 enum: uint 112 { 113 WM_USER = 0x0400, 114 WM_APP = 0x8000, 115 WM_SETFONT = 0x0030, 116 WM_GETFONT = 0x0031, 117 WM_WINDOWPOSCHANGING = 0x0046, 118 WM_WINDOWPOSCHANGED = 0x0047, 119 WM_DRAWITEM = 0x002B, 120 WM_CLEAR = 0x0303, 121 WM_CUT = 0x0300, 122 WM_COPY = 0x0301, 123 WM_PASTE = 0x0302, 124 WM_MOUSEWHEEL = 0x020A, 125 WM_MOUSEHOVER = 0x02A1, 126 WM_MOUSELEAVE = 0x02A3, 127 WM_MENUCOMMAND = 0x0126, 128 WM_PRINT = 0x0317, 129 WM_PRINTCLIENT = 0x0318, 130 WM_MEASUREITEM = 0x002C, 131 //WM_COMPACTING = 0x0041, 132 //WM_NEXTDLGCTL = 0x0028, 133 //WM_CAPTURECHANGED = 0x0215, 134 //WM_DROPFILES = 0x0233, 135 //WM_PALETTECHANGED = 0x0311, 136 //WM_MDIACTIVATE = 0x0222, 137 //WM_MDITILE = 0x0226, 138 //WM_MDICASCADE = 0x0227, 139 //WM_MDIICONARRANGE = 0x0228, 140 //WM_MDIGETACTIVE = 0x0229, 141 } 142 143 /* Windows Position and Size Flags */ 144 enum: uint 145 { 146 SWP_NOSIZE = 0x0001, 147 SWP_NOMOVE = 0x0002, 148 SWP_NOZORDER = 0x0004, 149 SWP_NOREDRAW = 0x0008, 150 SWP_NOACTIVATE = 0x0010, 151 SWP_SHOWWINDOW = 0x0040, 152 SWP_FRAMECHANGED = 0x0020, 153 SWP_HIDEWINDOW = 0x0080, 154 SWP_NOCOPYBITS = 0x0100, 155 SWP_NOOWNERZORDER = 0x0200, 156 SWP_NOSENDCHANGING = 0x0400, 157 SWP_DRAWFRAME = SWP_FRAMECHANGED, 158 SWP_NOREPOSITION = SWP_NOOWNERZORDER, 159 SWP_DEFERERASE = 0x2000, 160 SWP_ASYNCWINDOWPOS = 0x4000, 161 } 162 163 /* DIBs Flags */ 164 enum 165 { 166 DIB_RGB_COLORS = 0, 167 DIB_PAL_COLORS = 1, 168 } 169 170 /* GDI Object Types */ 171 enum: uint 172 { 173 OBJ_PEN = 1, 174 OBJ_BRUSH = 2, 175 OBJ_DC = 3, 176 OBJ_METADC = 4, 177 OBJ_PAL = 5, 178 OBJ_FONT = 6, 179 OBJ_BITMAP = 7, 180 OBJ_REGION = 8, 181 OBJ_METAFILE = 9, 182 OBJ_MEMDC = 10, 183 OBJ_EXTPEN = 11, 184 OBJ_ENHMETADC = 12, 185 OBJ_ENHMETAFILE = 13, 186 } 187 188 /* Track Bar Messages */ 189 enum: uint 190 { 191 TBM_GETPOS = WM_USER, 192 TBM_GETRANGEMIN = WM_USER + 1, 193 TBM_GETRANGEMAX = WM_USER + 2, 194 TBM_GETTIC = WM_USER + 3, 195 TBM_SETTIC = WM_USER + 4, 196 TBM_SETPOS = WM_USER + 5, 197 TBM_SETRANGE = WM_USER + 6, 198 TBM_SETRANGEMIN = WM_USER + 7, 199 TBM_SETRANGEMAX = WM_USER + 8, 200 TBM_CLEARTICS = WM_USER + 9, 201 TBM_SETSEL = WM_USER + 10, 202 TBM_SETSELSTART = WM_USER + 11, 203 TBM_SETSELEND = WM_USER + 12, 204 TBM_GETPTICS = WM_USER + 14, 205 TBM_GETTICPOS = WM_USER + 15, 206 TBM_GETNUMTICS = WM_USER + 16, 207 TBM_GETSELSTART = WM_USER + 17, 208 TBM_GETSELEND = WM_USER + 18, 209 TBM_CLEARSEL = WM_USER + 19, 210 TBM_SETTICFREQ = WM_USER + 20, 211 TBM_SETPAGESIZE = WM_USER + 21, 212 TBM_GETPAGESIZE = WM_USER + 22, 213 TBM_SETLINESIZE = WM_USER + 23, 214 TBM_GETLINESIZE = WM_USER + 24, 215 TBM_GETTHUMBRECT = WM_USER + 25, 216 TBM_GETCHANNELRECT = WM_USER + 26, 217 TBM_SETTHUMBLENGTH = WM_USER + 27, 218 TBM_GETTHUMBLENGTH = WM_USER + 28, 219 TBM_SETTOOLTIPS = WM_USER + 29, 220 TBM_GETTOOLTIPS = WM_USER + 30, 221 TBM_SETTIPSIDE = WM_USER + 31, 222 TBM_SETBUDDY = WM_USER + 32, 223 TBM_GETBUDDY = WM_USER + 33, 224 TBM_SETPOSNOTIFY = WM_USER + 34, 225 } 226 227 /* TrackBar Styles */ 228 enum: uint 229 { 230 TBS_AUTOTICKS = 0x0001, 231 TBS_VERT = 0x0002, 232 TBS_HORZ = 0x0000, 233 TBS_TOP = 0x0004, 234 TBS_BOTTOM = 0x0000, 235 TBS_LEFT = 0x0004, 236 TBS_RIGHT = 0x0000, 237 TBS_BOTH = 0x0008, 238 TBS_NOTICKS = 0x0010, 239 TBS_ENABLESELRANGE = 0x0020, 240 TBS_FIXEDLENGTH = 0x0040, 241 TBS_NOTHUMB = 0x0080, 242 TBS_TOOLTIPS = 0x0100, 243 } 244 245 /* DrawIconEx() API flags */ 246 enum: uint 247 { 248 DI_MASK = 0x0001, 249 DI_IMAGE = 0x0002, 250 DI_COMPAT = 0x0004, 251 DI_DEFAULTSIZE = 0x0008, 252 DI_NORMAL = DI_IMAGE | DI_MASK, 253 } 254 255 /* GetClassLong() API Flags */ 256 enum: int 257 { 258 GCL_MENUNAME = -8, 259 GCL_HBRBACKGROUND = -10, 260 GCL_HCURSOR = -12, 261 GCL_HICON = -14, 262 GCL_HMODULE = -16, 263 GCL_CBWNDEXTRA = -18, 264 GCL_CBCLSEXTRA = -20, 265 GCL_WNDPROC = -24, 266 GCL_STYLE = -26, 267 GCL_HICONSM = -34, 268 } 269 270 /* Common Control Styles */ 271 enum: uint 272 { 273 CCS_TOP = 1, 274 CCS_NOMOVEY = 2, 275 CCS_BOTTOM = 3, 276 CCS_NORESIZE = 4, 277 CCS_NOPARENTALIGN = 8, 278 CCS_ADJUSTABLE = 32, 279 CCS_NODIVIDER = 64, 280 CCS_VERT = 128, 281 CCS_LEFT = 129, 282 CCS_NOMOVEX = 130, 283 CCS_RIGHT = 131, 284 } 285 286 /* GetWindowLong Flags() */ 287 enum: int 288 { 289 GWL_WNDPROC = -4, 290 GWL_HINSTANCE = -6, 291 GWL_HWNDPARENT = -8, 292 GWL_STYLE = -16, 293 GWL_EXSTYLE = -20, 294 GWL_USERDATA = -21, 295 GWL_ID = -12, 296 } 297 298 /* Notification Messages Base */ 299 enum: uint 300 { 301 NM_FIRST = 0, 302 NM_CLICK = NM_FIRST - 2, 303 NM_RCLICK = NM_FIRST - 5, 304 NM_CUSTOMDRAW = NM_FIRST - 12, 305 } 306 307 /* DrawEdge() API Flags */ 308 enum: uint 309 { 310 BDR_RAISEDOUTER = 1, 311 BDR_SUNKENOUTER = 2, 312 BDR_RAISEDINNER = 4, 313 BDR_SUNKENINNER = 8, 314 BDR_OUTER = 3, 315 BDR_INNER = 0xc, 316 BDR_RAISED = 5, 317 BDR_SUNKEN = 10, 318 EDGE_RAISED = BDR_RAISEDOUTER | BDR_RAISEDINNER, 319 EDGE_SUNKEN = BDR_SUNKENOUTER | BDR_SUNKENINNER, 320 EDGE_ETCHED = BDR_SUNKENOUTER | BDR_RAISEDINNER, 321 EDGE_BUMP = BDR_RAISEDOUTER | BDR_SUNKENINNER, 322 323 BF_LEFT = 1, 324 BF_TOP = 2, 325 BF_RIGHT = 4, 326 BF_BOTTOM = 8, 327 BF_TOPLEFT = BF_TOP | BF_LEFT, 328 BF_TOPRIGHT = BF_TOP | BF_RIGHT, 329 BF_BOTTOMLEFT = BF_BOTTOM | BF_LEFT, 330 BF_BOTTOMRIGHT = BF_BOTTOM | BF_RIGHT, 331 BF_RECT = BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM, 332 333 BF_DIAGONAL = 16, 334 BF_DIAGONAL_ENDTOPRIGHT = BF_DIAGONAL | BF_TOP | BF_RIGHT, 335 BF_DIAGONAL_ENDTOPLEFT = BF_DIAGONAL | BF_TOP | BF_LEFT, 336 BF_DIAGONAL_ENDBOTTOMLEFT = BF_DIAGONAL | BF_BOTTOM | BF_LEFT, 337 BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL | BF_BOTTOM | BF_RIGHT, 338 BF_MIDDLE = 0x800, 339 BF_SOFT = 0x1000, 340 BF_ADJUST = 0x2000, 341 BF_FLAT = 0x4000, 342 BF_MONO = 0x8000, 343 } 344 345 /* Rich Edit Messages */ 346 enum: uint 347 { 348 ES_DISABLENOSCROLL = 0x00002000, 349 350 ENM_NONE = 0x00000000, 351 ENM_CHANGE = 0x00000001, 352 ENM_UPDATE = 0x00000002, 353 ENM_LINK = 0x04000000, 354 ENM_PROTECTED = 0x00200000, 355 356 EM_CANPASTE = WM_USER + 50, 357 EM_EXGETSEL = WM_USER + 52, 358 EM_EXLIMITTEXT = WM_USER + 53, 359 EM_EXLINEFROMCHAR = WM_USER + 54, 360 EM_EXSETSEL = WM_USER + 55, 361 EM_GETCHARFORMAT = WM_USER + 58, 362 EM_GETSELTEXT = WM_USER + 62, 363 EM_PASTESPECIAL = WM_USER + 64, 364 EM_SETBKGNDCOLOR = WM_USER + 67, 365 EM_SETCHARFORMAT = WM_USER + 68, 366 EM_SETEVENTMASK = WM_USER + 69, 367 EM_STREAMIN = WM_USER + 73, 368 EM_STREAMOUT = WM_USER + 74, 369 EM_GETTEXTRANGE = WM_USER + 75, 370 371 /* Rich Edit 2.0 */ 372 EM_SETUNDOLIMIT = WM_USER + 82, 373 EM_REDO = WM_USER + 84, 374 EM_CANREDO = WM_USER + 85, 375 EM_GETUNDONAME = WM_USER + 86, 376 EM_GETREDONAME = WM_USER + 87, 377 EM_STOPGROUPTYPING = WM_USER + 88, 378 EM_SETTEXTMODE = WM_USER + 89, 379 EM_GETTEXTMODE = WM_USER + 90, 380 EM_AUTOURLDETECT = WM_USER + 91, 381 EM_GETAUTOURLDETECT = WM_USER + 92, 382 EM_SETPALETTE = WM_USER + 93, 383 EM_GETTEXTEX = WM_USER + 94, 384 EM_GETTEXTLENGTHEX = WM_USER + 95, 385 EM_SHOWSCROLLBAR = WM_USER + 96, 386 EM_SETTEXTEX = WM_USER + 97, 387 EN_LINK = 0x070B, 388 } 389 390 const HBMMENU_CALLBACK = cast(HBITMAP)-1; 391 392 /+ 393 /* Rich Edit Text Styles */ 394 enum: uint 395 { 396 SF_TEXT = 0x0001, 397 SF_RTF = 0x0002, 398 SF_RTFNOOBJS = 0x0003, 399 SF_TEXTIZED = 0x0004, 400 401 SFF_SELECTION = 0x8000, 402 SFF_PLAINRTF = 0x4000, 403 404 SCF_SELECTION = 0x0001, 405 SCF_WORD = 0x0002, 406 SCF_ALL = 0x0004, 407 408 CFM_BOLD = 0x00000001, 409 CFM_ITALIC = 0x00000002, 410 CFM_UNDERLINE = 0x00000004, 411 CFM_STRIKEOUT = 0x00000008, 412 CFM_PROTECTED = 0x00000010, 413 CFM_LINK = 0x00000020, 414 CFM_SIZE = 0x80000000, 415 CFM_COLOR = 0x40000000, 416 CFM_FACE = 0x20000000, 417 CFM_OFFSET = 0x10000000, 418 CFM_CHARSET = 0x08000000, 419 CFM_SMALLCAPS = 0x0040, 420 CFM_ALLCAPS = 0x0080, 421 CFM_HIDDEN = 0x0100, 422 CFM_OUTLINE = 0x0200, 423 CFM_SHADOW = 0x0400, 424 CFM_EMBOSS = 0x0800, 425 CFM_IMPRINT = 0x1000, 426 CFM_DISABLED = 0x2000, 427 CFM_REVISED = 0x4000, 428 CFM_BACKCOLOR = 0x04000000, 429 CFM_LCID = 0x02000000, 430 CFM_UNDERLINETYPE = 0x00800000, 431 CFM_WEIGHT = 0x00400000, 432 CFM_SPACING = 0x00200000, 433 CFM_KERNING = 0x00100000, 434 CFM_STYLE = 0x00080000, 435 CFM_ANIMATION = 0x00040000, 436 CFM_REVAUTHOR = 0x00008000, 437 438 CFE_BOLD = 0x0001, 439 CFE_ITALIC = 0x0002, 440 CFE_UNDERLINE = 0x0004, 441 CFE_STRIKEOUT = 0x0008, 442 CFE_PROTECTED = 0x0010, 443 CFE_LINK = 0x0020, 444 CFE_AUTOCOLOR = 0x40000000, 445 CFE_AUTOBACKCOLOR = CFM_BACKCOLOR, 446 CFE_SUBSCRIPT = 0x00010000, 447 CFE_SUPERSCRIPT = 0x00020000, 448 449 CFM_SUBSCRIPT = CFE_SUBSCRIPT | CFE_SUPERSCRIPT, 450 CFM_SUPERSCRIPT = CFM_SUBSCRIPT, 451 452 CFU_UNDERLINE = 1, 453 } 454 +/ 455 456 enum: DWORD 457 { 458 OFN_OVERWRITEPROMPT = 0x00000002, 459 OFN_PATHMUSTEXIST = 0x00000800, 460 OFN_FILEMUSTEXIST = 0x00001000, 461 OFN_CREATEPROMPT = 0x00002000, 462 //OFN_READONLY = 0x00000001, 463 //OFN_HIDEREADONLY = 0x00000004, 464 //OFN_NOCHANGEDIR = 0x00000008, 465 //OFN_SHOWHELP = 0x00000010, 466 //OFN_ENABLEHOOK = 0x00000020, 467 //OFN_ENABLETEMPLATE = 0x00000040, 468 //OFN_ENABLETEMPLATEHANDLE = 0x00000080, 469 //OFN_NOVALIDATE = 0x00000100, 470 //OFN_ALLOWMULTISELECT = 0x00000200, 471 //OFN_EXTENSIONDIFFERENT = 0x00000400, 472 //OFN_SHAREAWARE = 0x00004000, 473 //OFN_NOREADONLYRETURN = 0x00008000, 474 //OFN_NOTESTFILECREATE = 0x00010000, 475 //OFN_NONETWORKBUTTON = 0x00020000, 476 //OFN_NOLONGNAMES = 0x00040000, 477 //OFN_EXPLORER = 0x00080000, 478 //OFN_NODEREFERENCELINKS = 0x00100000, 479 //OFN_LONGNAMES = 0x00200000, 480 //OFN_ENABLEINCLUDENOTIFY = 0x00400000, 481 //OFN_ENABLESIZING = 0x00800000, 482 //OFN_DONTADDTORECENT = 0x02000000, 483 //OFN_FORCESHOWHIDDEN = 0x10000000, 484 } 485 486 enum: DWORD 487 { 488 CF_SCREENFONTS = 0x00000001, 489 CF_INITTOLOGFONTSTRUCT = 0x00000040, 490 CF_EFFECTS = 0x00000100, 491 //CF_PRINTERFONTS = 0x00000002, 492 //CF_BOTH = CF_SCREENFONTS | CF_PRINTERFONTS, 493 //CF_SHOWHELP = 0x00000004, 494 //CF_ENABLEHOOK = 0x00000008, 495 //CF_ENABLETEMPLATE = 0x00000010, 496 //CF_ENABLETEMPLATEHANDLE = 0x00000020, 497 //CF_USESTYLE = 0x00000080, 498 //CF_APPLY = 0x00000200, 499 //CF_ANSIONLY = 0x00000400, 500 //CF_SCRIPTSONLY = CF_ANSIONLY, 501 //CF_NOVECTORFONTS = 0x00000800, 502 //CF_NOOEMFONTS = CF_NOVECTORFONTS, 503 //CF_NOSIMULATIONS = 0x00001000, 504 //CF_LIMITSIZE = 0x00002000, 505 //CF_FIXEDPITCHONLY = 0x00004000, 506 //CF_WYSIWYG = 0x00008000, 507 //CF_FORCEFONTEXIST = 0x00010000, 508 //CF_SCALABLEONLY = 0x00020000, 509 //CF_TTONLY = 0x00040000, 510 //CF_NOFACESEL = 0x00080000, 511 //CF_NOSTYLESEL = 0x00100000, 512 //CF_NOSIZESEL = 0x00200000, 513 //CF_SELECTSCRIPT = 0x00400000, 514 //CF_NOSCRIPTSEL = 0x00800000, 515 //CF_NOVERTFONTS = 0x01000000, 516 } 517 518 enum: uint 519 { 520 ODT_MENU = 1, 521 ODT_LISTBOX = 2, 522 ODT_COMBOBOX = 3, 523 ODT_BUTTON = 4, 524 ODT_STATIC = 5, 525 } 526 527 /* 528 enum: uint 529 { 530 MDITILE_VERTICAL = 0x0000, 531 MDITILE_HORIZONTAL = 0x0001, 532 MDITILE_SKIPDISABLED = 0x0002, 533 MDITILE_ZORDER = 0x0004, 534 } 535 */ 536 537 enum 538 { 539 DS_ABSALIGN = 0x0001, 540 DS_3DLOOK = 0x0004, 541 DS_SYSMODAL = 0x0002, 542 DS_FIXEDSYS = 0x0008, 543 DS_NOFAILCREATE = 0x0010, 544 DS_LOCALEDIT = 0x0020, 545 DS_SETFONT = 0x0040, 546 DS_MODALFRAME = 0x0080, 547 DS_NOIDLEMSG = 0x0100, 548 DS_SETFOREGROUND = 0x0200, 549 DS_CONTROL = 0x0400, 550 DS_CENTER = 0x0800, 551 DS_CENTERMOUSE = 0x1000, 552 DS_CONTEXTHELP = 0x2000, 553 DS_SHELLFONT = DS_SETFONT | DS_FIXEDSYS, 554 } 555 556 enum 557 { 558 WS_EX_ACCEPTFILES = 16, 559 WS_EX_APPWINDOW = 0x40000, 560 WS_EX_CLIENTEDGE = 512, 561 WS_EX_COMPOSITED = 0x2000000, // Windows XP 562 WS_EX_CONTEXTHELP = 0x400, 563 WS_EX_CONTROLPARENT = 0x10000, 564 WS_EX_DLGMODALFRAME = 1, 565 WS_EX_LAYERED = 0x80000, // Windows 2000 566 WS_EX_LAYOUTRTL = 0x400000, // Windows 98, Windows 2000 567 WS_EX_LEFT = 0, 568 WS_EX_LEFTSCROLLBAR = 0x4000, 569 WS_EX_LTRREADING = 0, 570 WS_EX_MDICHILD = 64, 571 WS_EX_NOACTIVATE = 0x8000000, // Windows 2000 572 WS_EX_NOINHERITLAYOUT = 0x100000, // Windows 2000 573 WS_EX_NOPARENTNOTIFY = 4, 574 WS_EX_OVERLAPPEDWINDOW = 0x300, 575 WS_EX_PALETTEWINDOW = 0x188, 576 WS_EX_RIGHT = 0x1000, 577 WS_EX_RIGHTSCROLLBAR = 0, 578 WS_EX_RTLREADING = 0x2000, 579 WS_EX_STATICEDGE = 0x20000, 580 WS_EX_TOOLWINDOW = 128, 581 WS_EX_TOPMOST = 8, 582 WS_EX_WINDOWEDGE = 256, 583 //WS_EX_TRANSPARENT = 32, 584 } 585 586 /* ToolTip Messages */ 587 enum: uint 588 { 589 TTM_ACTIVATE = WM_USER + 1, 590 TTM_SETDELAYTIME = WM_USER + 3, 591 TTM_POP = WM_USER + 28, 592 TTM_SETTITLEW = WM_USER + 33, 593 TTM_POPUP = WM_USER + 34, 594 TTM_ADDTOOLW = WM_USER + 50, 595 TTM_DELTOOLW = WM_USER + 51, 596 TTM_GETTEXTW = WM_USER + 56, 597 TTM_UPDATETIPTEXTW = WM_USER + 57, 598 599 TTN_FIRST = -520u, 600 TTN_GETDISPINFOW = TTN_FIRST - 10, 601 602 //TTN_SHOW = TTN_FIRST - 1, 603 //TTN_POP = TTN_FIRST - 2, 604 //TTM_ADDTOOLA = WM_USER + 4, 605 //TTM_DELTOOLA = WM_USER + 5, 606 //TTM_GETTOOLINFOA = WM_USER + 8, 607 //TTM_GETTEXTA = WM_USER + 11, 608 //TTM_UPDATETIPTEXTA = WM_USER + 12, 609 //TTM_ENUMTOOLSA = WM_USER + 14, 610 //TTM_GETCURRENTTOOLA = WM_USER + 15, 611 } 612 613 /* ToolTip Icons */ 614 enum: uint 615 { 616 TTI_NONE = 0, 617 TTI_INFO = 1, 618 TTI_WARNING = 2, 619 TTI_ERROR = 3, 620 } 621 622 /* ToolTip Styles */ 623 enum: uint 624 { 625 TTS_ALWAYSTIP = 0x01, 626 TTS_NOPREFIX = 0x02, 627 TTS_NOANIMATE = 0x10, // IE5+ 628 TTS_NOFADE = 0x20, // IE5+ 629 TTS_BALLOON = 0x40, // IE5+ 630 TTS_CLOSE = 0x80, 631 } 632 633 /* ToolTip Flags */ 634 enum: uint 635 { 636 TTF_IDISHWND = 0x0001, 637 TTF_CENTERTIP = 0x0002, 638 TTF_RTLREADING = 0x0004, 639 TTF_SUBCLASS = 0x0010, 640 TTF_TRACK = 0x0020, // IE3+ 641 TTF_ABSOLUTE = 0x0080, // IE3+ 642 TTF_TRANSPARENT = 0x0100, // IE3+ 643 TTF_PARSELINKS = 0x1000, 644 TTF_DI_SETITEM = 0x8000, // IE3+ 645 } 646 647 enum: uint 648 { 649 AW_HOR_POSITIVE = 0x00000001, 650 AW_HOR_NEGATIVE = 0x00000002, 651 AW_VER_POSITIVE = 0x00000004, 652 AW_VER_NEGATIVE = 0x00000008, 653 AW_CENTER = 0x00000010, 654 AW_HIDE = 0x00010000, 655 AW_ACTIVATE = 0x00020000, 656 AW_SLIDE = 0x00040000, 657 AW_BLEND = 0x00080000, 658 } 659 660 enum: uint 661 { 662 MF_STRING = 0x00000000, 663 MF_UNCHECKED = 0x00000000, 664 MF_BYCOMMAND = 0x00000000, 665 MF_GRAYED = 0x00000001, 666 MF_CHECKED = 0x00000008, 667 MF_POPUP = 0x00000010, 668 MF_MENUBARBREAK = 0x00000020, 669 MF_MENUBREAK = 0x00000040, 670 MF_BYPOSITION = 0x00000400, 671 MF_SEPARATOR = 0x00000800, 672 MF_DEFAULT = 0x00001000, 673 MF_SYSMENU = 0x00002000, 674 675 MFT_STRING = MF_STRING, 676 MFT_MENUBARBREAK = MF_MENUBARBREAK, 677 MFT_MENUBREAK = MF_MENUBREAK, 678 MFT_RADIOCHECK = 0x00000200, 679 MFT_SEPARATOR = MF_SEPARATOR, 680 681 MFS_UNCHECKED = MF_UNCHECKED, 682 MFS_CHECKED = MF_CHECKED, 683 MFS_DEFAULT = MF_DEFAULT, 684 MFS_GRAYED = MF_GRAYED, 685 MFS_DISABLED = 3, 686 MFS_ENABLED = 0, 687 688 MIIM_DATA = 32, 689 MIIM_STATE = 0x00000001, 690 MIIM_ID = 0x00000002, 691 MIIM_SUBMENU = 0x00000004, 692 MIIM_CHECKMARKS = 0x00000008, 693 MIIM_TYPE = 0x00000010, 694 MIIM_BITMAP = 0x00000080, 695 } 696 697 /* 698 enum: int 699 { 700 RGN_AND = 1, 701 RGN_OR = 2, 702 RGN_XOR = 3, 703 RGN_DIFF = 4, 704 RGN_COPY = 5, 705 } 706 */ 707 708 enum: int 709 { 710 HWND_TOP = 0, 711 HWND_BOTTOM = 1, 712 HWND_TOPMOST = -1, 713 HWND_NOTOPMOST = -2, 714 } 715 716 enum: uint 717 { 718 CBS_SIMPLE = 0x0001, 719 CBS_DROPDOWN = 0x0002, 720 CBS_DROPDOWNLIST = 0x0003, 721 CBS_AUTOHSCROLL = 0x0040, 722 CBS_OWNERDRAWFIXED = 0x0010, 723 CBS_OWNERDRAWVARIABLE = 0x0020, 724 } 725 726 enum: uint 727 { 728 CBEIF_TEXT = 0x00000001, 729 CBEIF_IMAGE = 0x00000002, 730 CBEIF_SELECTEDIMAGE = 0x00000004, 731 CBEIF_OVERLAY = 0x00000008, 732 CBEIF_INDENT = 0x00000010, 733 CBEIF_LPARAM = 0x00000020, 734 CBEIF_DI_SETITEM = 0x10000000, 735 } 736 737 enum: uint 738 { 739 TME_HOVER = 1, 740 TME_LEAVE = 2, 741 TME_QUERY = 0x40000000, 742 TME_CANCEL = 0x80000000, 743 744 HOVER_DEFAULT = 0xFFFFFFFF, 745 } 746 747 enum: uint 748 { 749 TPM_LEFTBUTTON = 0x0000, 750 TPM_RIGHTBUTTON = 0x0002, 751 TPM_LEFTALIGN = 0x0000, 752 TPM_CENTERALIGN = 0x0004, 753 TPM_RIGHTALIGN = 0x0008, 754 TPM_TOPALIGN = 0x0000, 755 TPM_VCENTERALIGN = 0x0010, 756 TPM_BOTTOMALIGN = 0x0020, 757 TPM_HORIZONTAL = 0x0000, 758 TPM_VERTICAL = 0x0040, 759 TPM_NONOTIFY = 0x0080, 760 TPM_RETURNCMD = 0x0100, 761 TPM_RECURSE = 0x0001, 762 } 763 764 enum 765 { 766 ICON_SMALL = 0, 767 ICON_BIG = 1, 768 } 769 770 enum: uint 771 { 772 SPI_GETNONCLIENTMETRICS = 41, 773 SPI_GETWORKAREA = 48, 774 SPI_GETANIMATION = 72, 775 SPI_GETWHEELSCROLLLINES = 104, 776 SPI_GETWHEELSCROLLCHARS = 108, 777 } 778 779 enum: uint 780 { 781 ODS_SELECTED = 1, 782 ODS_GRAYED = 2, 783 ODS_DISABLED = 4, 784 ODS_CHECKED = 8, 785 ODS_FOCUS = 16, 786 ODS_DEFAULT = 32, 787 ODS_COMBOBOXEDIT = 4096, 788 } 789 790 const LPWSTR IDC_ARROW = cast(LPWSTR)32512; 791 const LPWSTR IDC_UPARROW = cast(LPWSTR)32516; 792 const LPWSTR IDC_ICON = cast(LPWSTR)32641; 793 const LPWSTR IDC_APPSTARTING = cast(LPWSTR)32650; 794 const LPWSTR IDC_HAND = cast(LPWSTR)32649; // Windows 98+ 795 const LPWSTR IDC_HELP = cast(LPWSTR)32651; 796 const LPWSTR IDC_IBEAM = cast(LPWSTR)32513; 797 const LPWSTR IDC_NO = cast(LPWSTR)32648; 798 const LPWSTR IDC_SIZEALL = cast(LPWSTR)32646; 799 const LPWSTR IDC_SIZENESW = cast(LPWSTR)32643; 800 const LPWSTR IDC_SIZENS = cast(LPWSTR)32645; 801 const LPWSTR IDC_SIZENWSE = cast(LPWSTR)32642; 802 const LPWSTR IDC_SIZEWE = cast(LPWSTR)32644; 803 const LPWSTR IDC_WAIT = cast(LPWSTR)32514; 804 805 enum: ushort 806 { 807 MK_LBUTTON = 0x0001, 808 MK_RBUTTON = 0x0002, 809 MK_SHIFT = 0x0004, 810 MK_CONTROL = 0x0008, 811 MK_MBUTTON = 0x0010, 812 } 813 814 enum 815 { 816 LOGPIXELSX = 88, 817 LOGPIXELSY = 90, 818 } 819 820 enum 821 { 822 LB_OKAY = 0, 823 LB_ERR = -1, 824 LB_ERRSPACE = -2, 825 } 826 827 enum: uint 828 { 829 LB_GETCOUNT = 0x018B, 830 LB_GETITEMDATA = 0x0199, 831 LB_ADDSTRING = 0x0180, 832 LB_SETITEMDATA = 0x019A, 833 LB_RESETCONTENT = 0x0184, 834 LB_INSERTSTRING = 0x0181, 835 LB_DELETESTRING = 0x0182, 836 LB_GETHORIZONTALEXTENT = 0x0193, 837 LB_SETHORIZONTALEXTENT = 0x0194, 838 LB_SETITEMHEIGHT = 0x01A0, 839 LB_GETITEMHEIGHT = 0x01A1, 840 LB_GETSELCOUNT = 0x0190, 841 LB_GETSELITEMS = 0x0191, 842 LB_SETCURSEL = 0x0186, 843 LB_GETCURSEL = 0x0188, 844 LB_SETTOPINDEX = 0x0197, 845 LB_GETTOPINDEX = 0x018E, 846 LB_SELITEMRANGE = 0x0183, 847 LB_SETSEL = 0x0185, 848 LB_FINDSTRING = 0x018F, 849 LB_FINDSTRINGEXACT = 0x01A2, 850 LB_GETITEMRECT = 0x0198, 851 LB_GETSEL = 0x0187, 852 LB_ITEMFROMPOINT = 0x01A9, 853 LB_ADDFILE = 0x0196, 854 LB_DIR = 0x018D, 855 } 856 857 enum: uint 858 { 859 LBS_NOINTEGRALHEIGHT = 0x0100, 860 LBS_MULTICOLUMN = 0x0200, 861 LBS_DISABLENOSCROLL = 0x1000, 862 LBS_NOSEL = 0x4000, 863 LBS_EXTENDEDSEL = 0x0800, 864 LBS_MULTIPLESEL = 0x0008, 865 LBS_SORT = 0x0002, 866 LBS_USETABSTOPS = 0x0080, 867 LBS_OWNERDRAWVARIABLE = 0x0020, 868 LBS_OWNERDRAWFIXED = 0x0010, 869 LBS_NOTIFY = 0x0001, 870 LBS_HASSTRINGS = 0x0040, 871 LBS_WANTKEYBOARDINPUT = 0x0400, 872 } 873 874 enum 875 { 876 LBN_ERRSPACE = -2, 877 LBN_SELCHANGE = 1, 878 LBN_DBLCLK = 2, 879 LBN_SELCANCEL = 3, 880 LBN_SETFOCUS = 4, 881 LBN_KILLFOCUS = 5, 882 } 883 884 enum 885 { 886 CB_OKAY = 0, 887 CB_ERR = -1, 888 CB_ERRSPACE = -2, 889 } 890 891 enum: uint 892 { 893 CB_SETCURSEL = 0x014E, 894 CB_GETCURSEL = 0x0147, 895 CB_FINDSTRING = 0x014C, 896 CB_FINDSTRINGEXACT = 0x0158, 897 CB_SETITEMHEIGHT = 0x0153, 898 CB_GETITEMHEIGHT = 0x0154, 899 CB_ADDSTRING = 0x0143, 900 CB_DELETESTRING = 0x0144, 901 CB_DIR = 0x0145, 902 CB_INSERTSTRING = 0x014A, 903 CB_RESETCONTENT = 0x014B, 904 CB_SETITEMDATA = 0x0151, 905 CB_GETDROPPEDWIDTH = 0x015f, 906 CB_SETDROPPEDWIDTH = 0x0160, 907 CB_LIMITTEXT = 0x0141, 908 CB_GETEDITSEL = 0x0140, 909 CB_SETEDITSEL = 0x0142, 910 CB_SHOWDROPDOWN = 0x014F, 911 CB_GETDROPPEDSTATE = 0x0157, 912 913 //CBEM_INSERTITEMA = WM_USER + 1, 914 //CBEM_GETITEMA = WM_USER + 4, 915 //CBEM_SETITEMA = WM_USER + 5, 916 CBEM_SETIMAGELIST = WM_USER + 2, 917 CBEM_GETIMAGELIST = WM_USER + 3, 918 CBEM_DELETEITEM = CB_DELETESTRING, 919 CBEM_GETCOMBOCONTROL = WM_USER + 6, 920 CBEM_GETEDITCONTROL = WM_USER + 7, 921 CBEM_SETEXSTYLE = WM_USER + 8, 922 CBEM_GETEXSTYLE = WM_USER + 9, 923 CBEM_SETEXTENDEDSTYLE = WM_USER + 14, 924 CBEM_GETEXTENDEDSTYLE = WM_USER + 9, 925 CBEM_HASEDITCHANGED = WM_USER + 10, 926 CBEM_INSERTITEMW = WM_USER + 11, 927 CBEM_SETITEMW = WM_USER + 12, 928 CBEM_GETITEMW = WM_USER + 13, 929 } 930 931 enum: DWORD 932 { 933 CBS_SORT = 0x0100, 934 CBS_HASSTRINGS = 0x0200, 935 CBS_NOINTEGRALHEIGHT = 0x0400, 936 } 937 938 enum 939 { 940 CBN_SELCHANGE = 1, 941 CBN_SETFOCUS = 3, 942 CBN_KILLFOCUS = 4, 943 CBN_EDITCHANGE = 5, 944 } 945 946 enum: uint 947 { 948 TVE_COLLAPSE = 0x0001, 949 TVE_EXPAND = 0x0002, 950 TVE_TOGGLE = 0x0003, 951 } 952 953 enum: uint 954 { 955 TVIS_SELECTED = 0x0002, 956 TVIS_EXPANDED = 0x0020, 957 } 958 959 enum: uint 960 { 961 TVIF_TEXT = 0x0001, 962 TVIF_IMAGE = 0x0002, 963 TVIF_PARAM = 0x0004, 964 TVIF_STATE = 0x0008, 965 TVIF_HANDLE = 0x0010, 966 TVIF_SELECTEDIMAGE = 0x0020, 967 TVIF_CHILDREN = 0x0040, 968 TVIF_INTEGRAL = 0x0080, // IE4+ 969 } 970 971 enum: uint 972 { 973 TVGN_FIRSTVISIBLE = 0x0005, 974 TVGN_CARET = 0x0009, 975 } 976 977 enum: uint 978 { 979 TV_FIRST = 0x1100, 980 TVN_FIRST = cast(UINT)-400, 981 982 TVM_INSERTITEMA = TV_FIRST + 0, 983 TVM_DELETEITEM = TV_FIRST + 1, 984 TVM_EXPAND = TV_FIRST + 2, 985 TVM_GETITEMRECT = TV_FIRST + 4, 986 TVM_GETINDENT = TV_FIRST + 6, 987 TVM_SETINDENT = TV_FIRST + 7, 988 TVM_SETIMAGELIST = TV_FIRST + 9, 989 TVM_GETNEXTITEM = TV_FIRST + 10, 990 TVM_SELECTITEM = TV_FIRST + 11, 991 TVM_GETITEMA = TV_FIRST + 12, 992 TVM_SETITEMA = TV_FIRST + 13, 993 TVM_EDITLABELA = TV_FIRST + 14, 994 TVM_GETVISIBLECOUNT = TV_FIRST + 16, 995 TVM_HITTEST = TV_FIRST + 17, 996 TVM_ENSUREVISIBLE = TV_FIRST + 20, 997 TVM_SETITEMHEIGHT = TV_FIRST + 27, // Internet Explorer 4+ 998 TVM_GETITEMHEIGHT = TV_FIRST + 28, // Internet Explorer 4+ 999 TVM_INSERTITEMW = TV_FIRST + 50, 1000 TVM_SETITEMW = TV_FIRST + 63, 1001 TVM_GETITEMW = TV_FIRST + 62, 1002 1003 TVN_SELCHANGINGA = TVN_FIRST - 1, 1004 TVN_SELCHANGEDA = TVN_FIRST - 2, 1005 TVN_GETDISPINFOA = TVN_FIRST - 3, 1006 TVN_ITEMEXPANDINGA = TVN_FIRST - 5, 1007 TVN_ITEMEXPANDEDA = TVN_FIRST - 6, 1008 TVN_BEGINLABELEDITA = TVN_FIRST - 10, 1009 TVN_ENDLABELEDITA = TVN_FIRST - 11, 1010 TVN_SELCHANGINGW = TVN_FIRST - 50, 1011 TVN_SELCHANGEDW = TVN_FIRST - 51, 1012 TVN_GETDISPINFOW = TVN_FIRST - 52, 1013 TVN_ITEMEXPANDINGW = TVN_FIRST - 54, 1014 TVN_ITEMEXPANDEDW = TVN_FIRST - 55, 1015 TVN_BEGINLABELEDITW = TVN_FIRST - 59, 1016 TVN_ENDLABELEDITW = TVN_FIRST - 60, 1017 } 1018 1019 1020 enum: uint 1021 { 1022 TVS_HASBUTTONS = 0x0001, 1023 TVS_HASLINES = 0x0002, 1024 TVS_LINESATROOT = 0x0004, 1025 TVS_EDITLABELS = 0x0008, 1026 TVS_SHOWSELALWAYS = 0x0020, 1027 TVS_CHECKBOXES = 0x0100, // Internet Explorer 3+ 1028 TVS_TRACKSELECT = 0x0200, // Internet Explorer 3+ 1029 TVS_FULLROWSELECT = 0x1000, // Internet Explorer 4+ 1030 TVS_NOSCROLL = 0x2000, // Internet Explorer 4+ 1031 TVS_SINGLEEXPAND = 0x0400, // Internet Explorer 4+ 1032 } 1033 1034 enum: HTREEITEM 1035 { 1036 TVI_ROOT = cast(HTREEITEM)-0x10000, 1037 TVI_FIRST = cast(HTREEITEM)-0x0FFFF, 1038 TVI_LAST = cast(HTREEITEM)-0x0FFFE, 1039 TVI_SORT = cast(HTREEITEM)-0x0FFFD, 1040 } 1041 1042 enum: uint 1043 { 1044 TVC_UNKNOWN = 0x0000, 1045 TVC_BYMOUSE = 0x0001, 1046 TVC_BYKEYBOARD = 0x0002, 1047 } 1048 1049 enum: WPARAM 1050 { 1051 TVSIL_NORMAL = 0, 1052 TVSIL_STATE = 2, 1053 } 1054 1055 enum: uint 1056 { 1057 SB_SETTEXTA = WM_USER + 1, 1058 SB_SETPARTS = WM_USER + 4, 1059 SB_SIMPLE = WM_USER + 9, 1060 SB_SETTEXTW = WM_USER + 11, 1061 1062 SBARS_SIZEGRIP = 0x0100, 1063 } 1064 1065 enum: WPARAM 1066 { 1067 SBT_NOBORDERS = 0x0100, 1068 SBT_POPOUT = 0x0200, 1069 SBT_RTLREADING = 0x0400, 1070 SBT_OWNERDRAW = 0x1000, 1071 } 1072 1073 enum: uint 1074 { 1075 LVM_FIRST = 0x1000, 1076 1077 LVM_SETBKCOLOR = LVM_FIRST + 1, 1078 LVM_SETIMAGELIST = LVM_FIRST + 3, 1079 LVM_SETITEMW = LVM_FIRST + 76, 1080 LVM_DELETEITEM = LVM_FIRST + 8, 1081 LVM_DELETEALLITEMS = LVM_FIRST + 9, 1082 LVM_SETCALLBACKMASK = LVM_FIRST + 11, 1083 LVM_GETNEXTITEM = LVM_FIRST + 12, 1084 LVM_GETITEMRECT = LVM_FIRST + 14, 1085 LVM_ENSUREVISIBLE = LVM_FIRST + 19, 1086 LVM_REDRAWITEMS = LVM_FIRST + 21, 1087 LVM_ARRANGE = LVM_FIRST + 22, 1088 LVM_DELETECOLUMN = LVM_FIRST + 28, 1089 LVM_SETCOLUMNWIDTH = LVM_FIRST + 30, 1090 LVM_SETTEXTCOLOR = LVM_FIRST + 36, 1091 LVM_SETTEXTBKCOLOR = LVM_FIRST + 38, 1092 LVM_SETITEMSTATE = LVM_FIRST + 43, 1093 LVM_GETITEMSTATE = LVM_FIRST + 44, 1094 LVM_SETITEMTEXTA = LVM_FIRST + 46, 1095 LVM_SORTITEMS = LVM_FIRST + 48, 1096 LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54, 1097 LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55, 1098 LVM_INSERTITEMW = LVM_FIRST + 77, 1099 LVM_SETCOLUMNW = LVM_FIRST + 96, 1100 LVM_INSERTCOLUMNW = LVM_FIRST + 97, 1101 LVM_SETITEMTEXTW = LVM_FIRST + 116, 1102 LVM_EDITLABELW = LVM_FIRST + 118, 1103 //LVM_SETITEMA = LVM_FIRST + 6, 1104 //LVM_INSERTITEMA = LVM_FIRST + 7, 1105 //LVM_EDITLABELA = LVM_FIRST + 23, 1106 //LVM_GETCOLUMNA = LVM_FIRST + 25, 1107 //LVM_SETCOLUMNA = LVM_FIRST + 26, 1108 //LVM_INSERTCOLUMNA = LVM_FIRST + 27, 1109 } 1110 1111 enum: uint 1112 { 1113 LVIS_OVERLAYMASK = 0x0F00, 1114 LVIS_STATEIMAGEMASK = 0xF000, 1115 } 1116 1117 enum: uint 1118 { 1119 LVN_FIRST = cast(uint)-100, 1120 1121 LVN_ITEMCHANGING = LVN_FIRST - 0, 1122 LVN_ITEMCHANGED = LVN_FIRST - 1, 1123 LVN_BEGINLABELEDITW = LVN_FIRST - 75, 1124 LVN_ENDLABELEDITW = LVN_FIRST - 76, 1125 LVN_COLUMNCLICK = LVN_FIRST - 8, 1126 LVN_GETDISPINFOW = LVN_FIRST - 77, 1127 //LVN_BEGINLABELEDITA = LVN_FIRST - 5, 1128 //LVN_GETDISPINFOA = LVN_FIRST - 50, 1129 //LVN_ENDLABELEDITA = LVN_FIRST - 6, 1130 } 1131 1132 enum: uint 1133 { 1134 LVCF_FMT = 0x0001, 1135 LVCF_WIDTH = 0x0002, 1136 LVCF_TEXT = 0x0004, 1137 LVCF_SUBITEM = 0x0008, 1138 } 1139 1140 enum: int 1141 { 1142 LVCFMT_LEFT = 0x0000, 1143 LVCFMT_RIGHT = 0x0001, 1144 LVCFMT_CENTER = 0x0002, 1145 LVCFMT_JUSTIFYMASK = 0x0003, 1146 } 1147 1148 enum: uint 1149 { 1150 LVIF_TEXT = 0x0001, 1151 LVIF_IMAGE = 0x0002, 1152 LVIF_PARAM = 0x0004, 1153 LVIF_STATE = 0x0008, 1154 } 1155 1156 enum: uint 1157 { 1158 LVIS_FOCUSED = 0x0001, 1159 LVIS_SELECTED = 0x0002, 1160 LVIS_CUT = 0x0004, 1161 LVIS_DROPHILITED = 0x0008, 1162 } 1163 1164 enum: uint 1165 { 1166 LVS_ALIGNTOP = 0x0000, 1167 LVS_ALIGNLEFT = 0x0800, 1168 LVS_ICON = 0x0000, 1169 LVS_REPORT = 0x0001, 1170 LVS_SMALLICON = 0x0002, 1171 LVS_LIST = 0x0003, 1172 LVS_SINGLESEL = 0x0004, 1173 LVS_SHOWSELALWAYS = 0x0008, 1174 LVS_SORTASCENDING = 0x0010, 1175 LVS_SORTDESCENDING = 0x0020, 1176 LVS_SHAREIMAGELISTS = 0x0040, 1177 LVS_NOLABELWRAP = 0x0080, 1178 LVS_AUTOARRANGE = 0x0100, 1179 LVS_EDITLABELS = 0x0200, 1180 LVS_OWNERDRAWFIXED = 0x0400, 1181 LVS_OWNERDATA = 0x1000, 1182 LVS_NOSCROLL = 0x2000, 1183 } 1184 1185 enum: uint 1186 { 1187 LVS_EX_GRIDLINES = 0x00000001, 1188 LVS_EX_SUBITEMIMAGES = 0x00000002, 1189 LVS_EX_CHECKBOXES = 0x00000004, 1190 LVS_EX_TRACKSELECT = 0x00000008, 1191 LVS_EX_HEADERDRAGDROP = 0x00000010, 1192 LVS_EX_FULLROWSELECT = 0x00000020, 1193 LVS_EX_ONECLICKACTIVATE = 0x00000040, 1194 LVS_EX_TWOCLICKACTIVATE = 0x00000080, 1195 1196 // Internet Explorer 4+ 1197 LVS_EX_FLATSB = 0x00000100, 1198 LVS_EX_REGIONAL = 0x00000200, 1199 LVS_EX_INFOTIP = 0x00000400, 1200 LVS_EX_UNDERLINEHOT = 0x00000800, 1201 LVS_EX_UNDERLINECOLD = 0x00001000, 1202 LVS_EX_MULTIWORKAREAS = 0x00002000, 1203 } 1204 1205 enum 1206 { 1207 LVSIL_NORMAL = 0, 1208 LVSIL_SMALL = 1, 1209 LVSIL_STATE = 2, 1210 } 1211 1212 enum: uint 1213 { 1214 TCM_FIRST = 0x1300, 1215 1216 TCM_DELETEITEM = TCM_FIRST + 8, 1217 TCM_DELETEALLITEMS = TCM_FIRST + 9, 1218 TCM_GETITEMRECT = TCM_FIRST + 10, 1219 TCM_GETCURSEL = TCM_FIRST + 11, 1220 TCM_SETCURSEL = TCM_FIRST + 12, 1221 TCM_ADJUSTRECT = TCM_FIRST + 40, 1222 TCM_SETITEMSIZE = TCM_FIRST + 41, 1223 TCM_SETPADDING = TCM_FIRST + 43, 1224 TCM_GETROWCOUNT = TCM_FIRST + 44, 1225 TCM_SETTOOLTIPS = TCM_FIRST + 46, 1226 TCM_SETITEMW = TCM_FIRST + 61, 1227 TCM_SETIMAGELIST = TCM_FIRST + 3, 1228 TCM_INSERTITEMW = TCM_FIRST + 62, 1229 //TCM_SETITEMA = TCM_FIRST + 6, 1230 //TCM_INSERTITEMA = TCM_FIRST + 7, 1231 //TCM_SETITEMEXTRA = TCM_FIRST + 14, 1232 } 1233 1234 1235 enum: uint 1236 { 1237 TCIF_TEXT = 0x0001, 1238 TCIF_IMAGE = 0x0002, 1239 TCIF_RTLREADING = 0x0004, 1240 TCIF_PARAM = 0x0008, 1241 } 1242 1243 enum: uint 1244 { 1245 TCS_FORCEICONLEFT = 0x0010, 1246 TCS_FORCELABELLEFT = 0x0020, 1247 TCS_TABS = 0x0000, 1248 TCS_BUTTONS = 0x0100, 1249 TCS_SINGLELINE = 0x0000, 1250 TCS_MULTILINE = 0x0200, 1251 TCS_RIGHTJUSTIFY = 0x0000, 1252 TCS_FIXEDWIDTH = 0x0400, 1253 TCS_RAGGEDRIGHT = 0x0800, 1254 TCS_FOCUSONBUTTONDOWN = 0x1000, 1255 TCS_OWNERDRAWFIXED = 0x2000, 1256 TCS_TOOLTIPS = 0x4000, 1257 TCS_FOCUSNEVER = 0x8000, 1258 1259 // Internet Explorer 3+ 1260 TCS_SCROLLOPPOSITE = 0x0001, 1261 TCS_BOTTOM = 0x0002, 1262 TCS_RIGHT = 0x0002, 1263 TCS_MULTISELECT = 0x0004, 1264 TCS_HOTTRACK = 0x0040, 1265 TCS_VERTICAL = 0x0080, 1266 1267 // Internet Explorer 4+ 1268 TCS_FLATBUTTONS = 0x0008, 1269 } 1270 1271 enum: uint 1272 { 1273 TCN_FIRST = cast(uint)-550, 1274 1275 TCN_SELCHANGE = TCN_FIRST - 1, 1276 TCN_SELCHANGING = TCN_FIRST - 2, 1277 } 1278 1279 enum: uint 1280 { 1281 NIF_MESSAGE = 0x00000001, 1282 NIF_ICON = 0x00000002, 1283 NIF_TIP = 0x00000004, 1284 } 1285 1286 enum: uint 1287 { 1288 NIM_ADD = 0x00000000, 1289 NIM_MODIFY = 0x00000001, 1290 NIM_DELETE = 0x00000002, 1291 } 1292 1293 enum: uint 1294 { 1295 SIF_RANGE = 0x0001, 1296 SIF_PAGE = 0x0002, 1297 SIF_POS = 0x0004, 1298 SIF_DISABLENOSCROLL = 0x0008, 1299 SIF_ALL = 23, 1300 } 1301 1302 enum: int 1303 { 1304 SM_SWAPBUTTON = 23, 1305 SM_CXFRAME = 32, 1306 SM_CYFRAME = 33, 1307 SM_CXSMICON = 49, 1308 SM_CYSMICON = 50, 1309 SM_CYSMCAPTION = 51, 1310 SM_CXSIZEFRAME = SM_CXFRAME, 1311 SM_CYSIZEFRAME = SM_CYFRAME, 1312 SM_CYMENU = 15, 1313 SM_CXVSCROLL = 2, 1314 SM_CYHSCROLL = 3, 1315 } 1316 1317 enum: uint 1318 { 1319 LR_DEFAULTCOLOR = 0, 1320 LR_MONOCHROME = 1, 1321 LR_COLOR = 2, 1322 LR_COPYRETURNORG = 4, 1323 LR_COPYDELETEORG = 8, 1324 LR_LOADTRANSPARENT = 32, 1325 LR_LOADREALSIZE = 128, 1326 LR_LOADMAP3DCOLORS = 4096, 1327 LR_CREATEDIBSECTION = 8192, 1328 LR_COPYFROMRESOURCE = 16384, 1329 LR_LOADFROMFILE = 0x0010, 1330 LR_DEFAULTSIZE = 0x0040, 1331 LR_SHARED = 0x8000, 1332 } 1333 1334 enum: COLORREF 1335 { 1336 CLR_INVALID = 0xFFFFFFFF, 1337 CLR_NONE = CLR_INVALID, 1338 } 1339 1340 enum: uint 1341 { 1342 DT_TOP = 0x00000000, 1343 DT_LEFT = 0x00000000, 1344 DT_CENTER = 0x00000001, 1345 DT_RIGHT = 0x00000002, 1346 DT_VCENTER = 0x00000004, 1347 DT_BOTTOM = 0x00000008, 1348 DT_WORDBREAK = 0x00000010, 1349 DT_SINGLELINE = 0x00000020, 1350 DT_EXPANDTABS = 0x00000040, 1351 DT_TABSTOP = 0x00000080, 1352 DT_NOCLIP = 0x00000100, 1353 DT_EXTERNALLEADING = 0x00000200, 1354 DT_CALCRECT = 0x00000400, 1355 DT_NOPREFIX = 0x00000800, 1356 DT_INTERNAL = 0x00001000, 1357 DT_EDITCONTROL = 0x00002000, 1358 DT_PATH_ELLIPSIS = 0x00004000, 1359 DT_END_ELLIPSIS = 0x00008000, 1360 DT_MODIFYSTRING = 0x00010000, 1361 DT_RTLREADING = 0x00020000, 1362 DT_WORD_ELLIPSIS = 0x00040000, 1363 } 1364 1365 enum 1366 { 1367 TRANSPARENT = 1, 1368 OPAQUE = 2, 1369 } 1370 1371 enum: uint 1372 { 1373 ETO_OPAQUE = 0x0002, 1374 ETO_CLIPPED = 0x0004, 1375 } 1376 1377 enum: uint 1378 { 1379 PS_SOLID = 0, 1380 PS_DASH = 1, 1381 PS_DOT = 2, 1382 PS_DASHDOT = 3, 1383 PS_DASHDOTDOT = 4, 1384 PS_NULL = 5, 1385 PS_INSIDEFRAME = 6, 1386 } 1387 1388 enum: uint 1389 { 1390 IMAGE_BITMAP = 0, 1391 IMAGE_ICON = 1, 1392 IMAGE_CURSOR = 2, 1393 } 1394 1395 const LPWSTR IDI_ERROR = MAKEINTRESOURCEW(32513); 1396 const LPWSTR IDI_QUESTION = MAKEINTRESOURCEW(32514); 1397 const LPWSTR IDI_WARNING = MAKEINTRESOURCEW(32515); 1398 const LPWSTR IDI_ASTERISK = MAKEINTRESOURCEW(32516); 1399 const LPWSTR IDI_INFORMATION = IDI_ASTERISK; 1400 1401 const LPCWSTR RT_BITMAP = MAKEINTRESOURCEW(2); 1402 const LPCWSTR RT_ICON = MAKEINTRESOURCEW(3); 1403 const LPCWSTR RT_MENU = MAKEINTRESOURCEW(4); 1404 const LPCWSTR RT_DIALOG = MAKEINTRESOURCEW(5); 1405 const LPCWSTR RT_STRING = MAKEINTRESOURCEW(6); 1406 const LPCWSTR RT_FONTDIR = MAKEINTRESOURCEW(7); 1407 const LPCWSTR RT_ACCELERATOR = MAKEINTRESOURCEW(9); 1408 const LPCWSTR RT_RCDATA = MAKEINTRESOURCEW(10); 1409 const LPCWSTR RT_MESSAGETABLE = MAKEINTRESOURCEW(11); 1410 const LPCWSTR RT_VERSION = MAKEINTRESOURCEW(16); 1411 const LPCWSTR RT_DLGINCLUDE = MAKEINTRESOURCEW(17); 1412 const LPCWSTR RT_PLUGPLAY = MAKEINTRESOURCEW(19); 1413 const LPCWSTR RT_VXD = MAKEINTRESOURCEW(20); 1414 const LPCWSTR RT_ANICURSOR = MAKEINTRESOURCEW(21); 1415 const LPCWSTR RT_ANIICON = MAKEINTRESOURCEW(22); 1416 const LPCWSTR RT_HTML = MAKEINTRESOURCEW(23); 1417 const LPCWSTR RT_MANIFEST = MAKEINTRESOURCEW(24); 1418 1419 enum: LONG 1420 { 1421 HS_HORIZONTAL = 0, 1422 HS_VERTICAL = 1, 1423 HS_FDIAGONAL = 2, 1424 HS_BDIAGONAL = 3, 1425 HS_CROSS = 4, 1426 HS_DIAGCROSS = 5, 1427 } 1428 1429 enum: uint 1430 { 1431 // Internet Explorer 3+ 1432 ICC_LISTVIEW_CLASSES = 0x00000001, 1433 ICC_TREEVIEW_CLASSES = 0x00000002, 1434 ICC_BAR_CLASSES = 0x00000004, // ToolBar/StatusBar/TrackBar 1435 ICC_TAB_CLASSES = 0x00000008, 1436 ICC_UPDOWN_CLASS = 0x00000010, 1437 ICC_PROGRESS_CLASS = 0x00000020, 1438 ICC_HOTKEY_CLASS = 0x00000040, 1439 ICC_ANIMATE_CLASS = 0x00000080, 1440 ICC_WIN95_CLASSES = 0x000000FF, 1441 ICC_DATE_CLASSES = 0x00000100, 1442 ICC_USEREX_CLASSES = 0x00000200, 1443 ICC_COOL_CLASSES = 0x00000400, 1444 1445 ICC_STANDARD_CLASSES = 0x00004000, 1446 1447 // IE4+ 1448 ICC_INTERNET_CLASSES = 0x00000800, 1449 ICC_PAGESCROLLER_CLASS = 0x00001000, 1450 ICC_NATIVEFNTCTL_CLASS = 0x00002000, 1451 } 1452 1453 enum: uint 1454 { 1455 PBS_SMOOTH = 0x01, 1456 PBS_VERTICAL = 0x04, 1457 PBS_MARQUEE = 0x08, 1458 PBS_SMOOTHREVERSE = 0x10, 1459 } 1460 1461 enum: uint 1462 { 1463 PBM_SETRANGE = WM_USER + 1, 1464 PBM_SETPOS = WM_USER + 2, 1465 PBM_DELTAPOS = WM_USER + 3, 1466 PBM_SETSTEP = WM_USER + 4, 1467 PBM_STEPIT = WM_USER + 5, 1468 PBM_SETMARQUEE = WM_USER + 10, 1469 PBM_SETRANGE32 = 1030, 1470 PBM_GETRANGE = 1031, 1471 PBM_GETPOS = 1032, 1472 PBM_SETBARCOLOR = 1033, 1473 } 1474 1475 enum: uint 1476 { 1477 BIF_RETURNONLYFSDIRS = 0x0001, 1478 BIF_NEWDIALOGSTYLE = 0x0040, 1479 BIF_NONEWFOLDERBUTTON = 0x0200, // Shell32.dll 6.0+ 1480 } 1481 1482 enum 1483 { 1484 ILD_NORMAL = 0, 1485 LF_FACESIZE = 32, 1486 } 1487 1488 enum: uint 1489 { 1490 ILC_COLOR4 = 0x0004, 1491 ILC_COLOR8 = 0x0008, 1492 ILC_COLOR16 = 0x0010, 1493 ILC_COLOR24 = 0x0018, 1494 ILC_COLOR32 = 0x0020, 1495 ILC_MASK = 0x0001, 1496 } 1497 1498 enum: uint 1499 { 1500 TBSTYLE_BUTTON = 0x00, 1501 TBSTYLE_SEP = 0x01, 1502 TBSTYLE_CHECK = 0x02, 1503 TBSTYLE_GROUP = 0x04, 1504 TBSTYLE_DROPDOWN = 0x08, 1505 TBSTYLE_AUTOSIZE = 0x10, 1506 TBSTYLE_WRAPABLE = 0x200, 1507 TBSTYLE_FLAT = 0x800, 1508 TBSTYLE_LIST = 0x1000, 1509 1510 TBSTYLE_EX_DRAWDDARROWS = 0x00000001, 1511 1512 BTNS_BUTTON = TBSTYLE_BUTTON, 1513 BTNS_SEP = TBSTYLE_SEP, 1514 BTNS_CHECK = TBSTYLE_CHECK, 1515 BTNS_GROUP = TBSTYLE_GROUP, 1516 BTNS_DROPDOWN = TBSTYLE_DROPDOWN, 1517 BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE, 1518 BTNS_WHOLEDROPDOWN = 0x0080, 1519 BTNS_SHOWTEXT = 0x0040, 1520 } 1521 1522 1523 enum: BYTE 1524 { 1525 TBSTATE_CHECKED = 0x01, 1526 TBSTATE_PRESSED = 0x02, 1527 TBSTATE_ENABLED = 0x04, 1528 TBSTATE_HIDDEN = 0x08, 1529 TBSTATE_INDETERMINATE = 0x10, 1530 TBSTATE_WRAP = 0x20, 1531 TBSTATE_ELLIPSES = 0x40, 1532 TBSTATE_MARKED = 0x80, 1533 } 1534 1535 enum: LRESULT 1536 { 1537 TBDDRET_DEFAULT = 0, 1538 TBDDRET_NODEFAULT = 1, 1539 TBDDRET_TREATPRESSED = 2, 1540 } 1541 1542 enum: uint 1543 { 1544 TBIF_IMAGE = 1, 1545 TBIF_TEXT = 2, 1546 TBIF_STATE = 4, 1547 TBIF_STYLE = 8, 1548 TBIF_LPARAM = 16, 1549 TBIF_COMMAND = 32, 1550 TBIF_SIZE = 64, 1551 TBIF_BYINDEX = 0x80000000, 1552 } 1553 1554 enum: uint 1555 { 1556 TB_SETSTATE = WM_USER + 17, 1557 TB_DELETEBUTTON = WM_USER + 22, 1558 TB_GETITEMRECT = WM_USER + 29, 1559 TB_BUTTONSTRUCTSIZE = WM_USER + 30, 1560 TB_SETBUTTONSIZE = WM_USER + 31, 1561 TB_AUTOSIZE = WM_USER + 33, 1562 TB_SETIMAGELIST = WM_USER + 48, 1563 TB_INSERTBUTTONW = WM_USER + 67, 1564 TB_ADDBUTTONSW = WM_USER + 68, 1565 TB_SETPADDING = WM_USER + 87, 1566 TB_GETBUTTONINFOW = WM_USER + 63, 1567 TB_SETBUTTONINFOW = WM_USER + 64, 1568 TB_HITTEST = WM_USER + 69, 1569 TB_GETBUTTONSIZE = WM_USER + 58, 1570 TB_SETEXTENDEDSTYLE = WM_USER + 84, 1571 TB_GETEXTENDEDSTYLE = WM_USER + 85, 1572 //TB_ADDBUTTONSA = WM_USER + 20, 1573 //TB_INSERTBUTTONA = WM_USER + 21, 1574 //TB_GETBUTTONINFOA = WM_USER + 65, 1575 //TB_SETBUTTONINFOA = WM_USER + 66, 1576 } 1577 1578 enum: uint 1579 { 1580 CC_RGBINIT = 0x00000001, 1581 CC_FULLOPEN = 0x00000002, 1582 CC_PREVENTFULLOPEN = 0x00000004, 1583 CC_SHOWHELP = 0x00000008, 1584 CC_ENABLEHOOK = 0x00000010, 1585 CC_ENABLETEMPLATE = 0x00000020, 1586 CC_ENABLETEMPLATEHANDLE = 0x00000040, 1587 CC_SOLIDCOLOR = 0x00000080, 1588 CC_ANYCOLOR = 0x00000100, 1589 } 1590 1591 enum: uint 1592 { 1593 TBN_FIRST = cast(uint)-700, 1594 TBN_DROPDOWN = TBN_FIRST - 10, 1595 } 1596 1597 struct WNDCLASSEXW 1598 { 1599 UINT cbSize; 1600 UINT style; 1601 WNDPROC lpfnWndProc; 1602 int cbClsExtra; 1603 int cbWndExtra; 1604 HINSTANCE hInstance; 1605 HICON hIcon; 1606 HCURSOR hCursor; 1607 HBRUSH hbrBackground; 1608 LPCWSTR lpszMenuName; 1609 LPCWSTR lpszClassName; 1610 HICON hIconSm; 1611 } 1612 1613 align(1) struct TEXTMETRICW 1614 { 1615 LONG tmHeight; 1616 LONG tmAscent; 1617 LONG tmDescent; 1618 LONG tmInternalLeading; 1619 LONG tmExternalLeading; 1620 LONG tmAveCharWidth; 1621 LONG tmMaxCharWidth; 1622 LONG tmWeight; 1623 LONG tmOverhang; 1624 LONG tmDigitizedAspectX; 1625 LONG tmDigitizedAspectY; 1626 wchar tmFirstChar; 1627 wchar tmLastChar; 1628 wchar tmDefaultChar; 1629 wchar tmBreakChar; 1630 BYTE tmItalic; 1631 BYTE tmUnderlined; 1632 BYTE tmStruckOut; 1633 BYTE tmPitchAndFamily; 1634 BYTE tmCharSet; 1635 } 1636 1637 struct SIZE 1638 { 1639 LONG cx; 1640 LONG cy; 1641 } 1642 1643 struct NMMOUSE 1644 { 1645 NMHDR hdr; 1646 DWORD dwItemSpec; 1647 DWORD dwItemData; 1648 POINT pt; 1649 LPARAM dwHitInfo; 1650 } 1651 1652 struct TCITEMHEADERW 1653 { 1654 UINT mask; 1655 UINT lpReserved1; 1656 UINT lpReserved2; 1657 LPCWSTR pszText; 1658 int cchTextMax; 1659 int iImage; 1660 } 1661 1662 struct TRIVERTEX 1663 { 1664 LONG x; 1665 LONG y; 1666 ushort Red; 1667 ushort Green; 1668 ushort Blue; 1669 ushort Alpha; 1670 } 1671 1672 struct GRADIENT_TRIANGLE 1673 { 1674 ULONG Vertex1; 1675 ULONG Vertex2; 1676 ULONG Vertex3; 1677 } 1678 1679 struct GRADIENT_RECT 1680 { 1681 ULONG UpperLeft; 1682 ULONG LowerRight; 1683 } 1684 1685 struct ACTCTXW 1686 { 1687 ULONG cbSize; 1688 DWORD dwFlags; 1689 LPCWSTR lpSource; 1690 USHORT wProcessorArchitecture; 1691 LANGID wLangId; 1692 LPCWSTR lpAssemblyDirectory; 1693 LPCWSTR lpResourceName; 1694 LPCWSTR lpApplicationName; 1695 HMODULE hModule; 1696 } 1697 1698 struct OSVERSIONINFOW 1699 { 1700 DWORD dwOSVersionInfoSize; 1701 DWORD dwMajorVersion; 1702 DWORD dwMinorVersion; 1703 DWORD dwBuildNumber; 1704 DWORD dwPlatformId; 1705 wchar[128] szCSDVersion; 1706 } 1707 1708 struct WINDOWPOS 1709 { 1710 HWND hwnd; 1711 HWND hwndInsertAfter; 1712 int x; 1713 int y; 1714 int cx; 1715 int cy; 1716 UINT flags; 1717 } 1718 1719 struct WINDOWINFO 1720 { 1721 DWORD cbSize; 1722 RECT rcWindow; 1723 RECT rcClient; 1724 DWORD dwStyle; 1725 DWORD dwExStyle; 1726 DWORD dwWindowStatus; 1727 UINT cxWindowBorders; 1728 UINT cyWindowBorders; 1729 ATOM atomWindowType; 1730 WORD wCreatorVersion; 1731 } 1732 1733 struct COMBOBOXEXITEMW 1734 { 1735 UINT mask; 1736 int iItem; 1737 LPCWSTR pszText; 1738 int cchTextMax; 1739 int iImage; 1740 int iSelectedImage; 1741 int iOverlay; 1742 int iIndent; 1743 LPARAM lParam; 1744 } 1745 1746 struct BLENDFUNCTION 1747 { 1748 BYTE BlendOp; 1749 BYTE BlendFlags; 1750 BYTE SourceConstantAlpha; 1751 BYTE AlphaFormat; 1752 } 1753 1754 struct NOTIFYICONDATA 1755 { 1756 DWORD cbSize; 1757 HWND hWnd; 1758 UINT uID; 1759 UINT uFlags; 1760 UINT uCallbackMessage; 1761 HICON hIcon; 1762 char[64] szTip; 1763 } 1764 1765 struct SHITEMID 1766 { 1767 align(1): 1768 USHORT cb; // Size including cb. 1769 BYTE[1] abID; 1770 } 1771 1772 struct ITEMIDLIST 1773 { 1774 SHITEMID mkid; 1775 } 1776 1777 struct BROWSEINFOW 1778 { 1779 HWND hwndOwner; 1780 ITEMIDLIST* pidlRoot; 1781 LPWSTR pszDisplayName; 1782 LPCWSTR lpszTitle; 1783 UINT ulFlags; 1784 BFFCALLBACK lpfn; 1785 LPARAM lParam; 1786 int iImage; 1787 } 1788 1789 struct LOGBRUSH 1790 { 1791 UINT lbStyle; 1792 COLORREF lbColor; 1793 LONG lbHatch; 1794 } 1795 1796 struct DRAWTEXTPARAMS 1797 { 1798 UINT cbSize; 1799 int iTabLength; 1800 int iLeftMargin; 1801 int iRightMargin; 1802 UINT uiLengthDrawn; 1803 } 1804 1805 struct NMHDR 1806 { 1807 HWND hwndFrom; 1808 UINT idFrom; 1809 UINT code; 1810 } 1811 1812 struct NMCUSTOMDRAW 1813 { 1814 NMHDR hdr; 1815 DWORD dwDrawStage; 1816 HDC hdc; 1817 RECT rc; 1818 DWORD dwItemSpec; 1819 UINT uItemState; 1820 LPARAM lItemlParam; 1821 } 1822 1823 struct NMTVCUSTOMDRAW 1824 { 1825 NMCUSTOMDRAW nmcd; 1826 COLORREF clrText; 1827 COLORREF clrTextBk; 1828 int iLevel; // IE4+ 1829 } 1830 1831 struct NMLISTVIEW 1832 { 1833 NMHDR hdr; 1834 int iItem; 1835 int iSubItem; 1836 UINT uNewState; 1837 UINT uOldState; 1838 UINT uChanged; 1839 POINT ptAction; 1840 LPARAM lParam; 1841 } 1842 1843 struct LVITEMW 1844 { 1845 UINT mask; 1846 int iItem; 1847 int iSubItem; 1848 UINT state; 1849 UINT stateMask; 1850 LPCWSTR pszText; 1851 int cchTextMax; 1852 int iImage; 1853 LPARAM lParam; 1854 } 1855 1856 align(1) struct NMTTDISPINFOW 1857 { 1858 NMHDR hdr; 1859 wchar* lpszText; 1860 wchar[80] szText; 1861 HINSTANCE hinst; 1862 UINT uFlags; 1863 LPARAM lParam; 1864 } 1865 1866 struct LVDISPINFOW 1867 { 1868 NMHDR hdr; 1869 LVITEMW item; 1870 } 1871 1872 struct LVCOLUMNW 1873 { 1874 UINT mask; 1875 int fmt; 1876 int cx; 1877 LPCWSTR pszText; 1878 int cchTextMax; 1879 int iSubItem; 1880 } 1881 1882 struct TBBUTTON 1883 { 1884 int iBitmap; 1885 int idCommand; 1886 BYTE fsState; 1887 BYTE fsStyle; 1888 BYTE[2] bReserved; 1889 DWORD dwData; 1890 int iString; 1891 } 1892 1893 struct NMTOOLBARW 1894 { 1895 NMHDR hdr; 1896 int iItem; 1897 TBBUTTON tbButton; 1898 int cchText; 1899 LPWSTR pszText; 1900 RECT rcButton; 1901 } 1902 1903 struct TVITEMW 1904 { 1905 UINT mask; 1906 HTREEITEM hItem; 1907 UINT state; 1908 UINT stateMask; 1909 LPCWSTR pszText; 1910 int cchTextMax; 1911 int iImage; 1912 int iSelectedImage; 1913 int cChildren; 1914 LPARAM lParam; 1915 } 1916 1917 struct TVHITTESTINFO 1918 { 1919 POINT pt; 1920 UINT flags; 1921 HTREEITEM hItem; 1922 } 1923 1924 struct TVINSERTSTRUCTW 1925 { 1926 HTREEITEM hParent; 1927 HTREEITEM hInsertAfter; 1928 TVITEMW item; 1929 } 1930 1931 struct NMTREEVIEWW 1932 { 1933 NMHDR hdr; 1934 UINT action; 1935 TVITEMW itemOld; 1936 TVITEMW itemNew; 1937 POINT ptDrag; 1938 } 1939 1940 struct NMTVDISPINFOW 1941 { 1942 NMHDR hdr; 1943 TVITEMW item; 1944 } 1945 1946 struct TCITEMW 1947 { 1948 UINT mask; 1949 UINT lpReserved1; 1950 UINT lpReserved2; 1951 LPCTSTR pszText; 1952 int cchTextMax; 1953 int iImage; 1954 LPARAM lParam; 1955 } 1956 1957 // Rich edit. 1958 struct CHARRANGE 1959 { 1960 LONG cpMin; 1961 LONG cpMax; 1962 } 1963 1964 // Rich edit. 1965 struct EDITSTREAM 1966 { 1967 /+ DWORD_PTR +/ DWORD dwCookie; 1968 DWORD dwError; 1969 EDITSTREAMCALLBACK pfnCallback; 1970 } 1971 1972 struct TEXTRANGEA 1973 { 1974 CHARRANGE chrg; 1975 LPSTR lpstrText; 1976 } 1977 1978 struct MENUITEMINFOW 1979 { 1980 UINT cbSize; 1981 UINT fMask; 1982 UINT fType; 1983 UINT fState; 1984 UINT wID; 1985 HMENU hSubMenu; 1986 HBITMAP hbmpChecked; 1987 HBITMAP hbmpUnchecked; 1988 DWORD dwItemData; 1989 LPCWSTR dwTypeData; 1990 UINT cch; 1991 HBITMAP hbmpItem; 1992 } 1993 1994 struct SCROLLINFO 1995 { 1996 UINT cbSize; 1997 UINT fMask; 1998 int nMin; 1999 int nMax; 2000 UINT nPage; 2001 int nPos; 2002 int nTrackPos; 2003 } 2004 2005 struct TBBUTTONINFOW 2006 { 2007 UINT cbSize; 2008 DWORD dwMask; 2009 int idCommand; 2010 int iImage; 2011 BYTE fsState; 2012 BYTE fsStyle; 2013 WORD cx; 2014 DWORD lParam; 2015 LPWSTR pszText; 2016 int cchText; 2017 } 2018 2019 align(1) struct CHOOSECOLORW 2020 { 2021 DWORD lStructSize; 2022 HWND hwndOwner; 2023 HWND hInstance; 2024 COLORREF rgbResult; 2025 COLORREF* lpCustColors; 2026 DWORD Flags; 2027 LPARAM lCustData; 2028 LPCCHOOKPROC lpfnHook; 2029 LPCWSTR lpTemplateName; 2030 } 2031 2032 struct LOGFONTW 2033 { 2034 LONG lfHeight; 2035 LONG lfWidth; 2036 LONG lfEscapement; 2037 LONG lfOrientation; 2038 LONG lfWeight; 2039 BYTE lfItalic; 2040 BYTE lfUnderline; 2041 BYTE lfStrikeOut; 2042 BYTE lfCharSet; 2043 BYTE lfOutPrecision; 2044 BYTE lfClipPrecision; 2045 BYTE lfQuality; 2046 BYTE lfPitchAndFamily; 2047 WCHAR[LF_FACESIZE] lfFaceName; 2048 } 2049 2050 struct NONCLIENTMETRICSW 2051 { 2052 UINT cbSize; 2053 int iBorderWidth; 2054 int iScrollWidth; 2055 int iScrollHeight; 2056 int iCaptionWidth; 2057 int iCaptionHeight; 2058 LOGFONTW lfCaptionFont; 2059 int iSmCaptionWidth; 2060 int iSmCaptionHeight; 2061 LOGFONTW lfSmCaptionFont; 2062 int iMenuWidth; 2063 int iMenuHeight; 2064 LOGFONTW lfMenuFont; 2065 LOGFONTW lfStatusFont; 2066 LOGFONTW lfMessageFont; 2067 } 2068 2069 align(1) struct CHOOSEFONTW 2070 { 2071 DWORD lStructSize; 2072 HWND hwndOwner; 2073 HDC hDC; 2074 LOGFONTW* lpLogFont; 2075 INT iPointSize; 2076 DWORD Flags; 2077 DWORD rgbColors; 2078 LPARAM lCustData; 2079 LPCFHOOKPROC lpfnHook; 2080 LPCWSTR lpTemplateName; 2081 HINSTANCE hInstance; 2082 LPWSTR lpszStyle; 2083 WORD nFontType; 2084 WORD ___MISSING_ALIGNMENT__; 2085 INT nSizeMin; 2086 INT nSizeMax; 2087 } 2088 2089 struct ICONINFO 2090 { 2091 BOOL fIcon; 2092 DWORD xHotspot; 2093 DWORD yHotspot; 2094 HBITMAP hbmMask; 2095 HBITMAP hbmColor; 2096 } 2097 2098 struct CREATESTRUCTW 2099 { 2100 LPVOID lpCreateParams; 2101 HINSTANCE hInstance; 2102 HMENU hMenu; 2103 HWND hwndParent; 2104 int cy; 2105 int cx; 2106 int y; 2107 int x; 2108 LONG style; 2109 LPCWSTR lpszName; 2110 LPCWSTR lpszClass; 2111 DWORD dwExStyle; 2112 } 2113 2114 struct TOOLINFOW 2115 { 2116 UINT cbSize; 2117 UINT uFlags; 2118 HWND hwnd; 2119 UINT uId; 2120 RECT rect; 2121 HINSTANCE hinst; 2122 LPWSTR lpszText; 2123 LPARAM lParam; 2124 //void* lpReserved; <-- From XP/Vista/7 2125 } 2126 2127 struct TRACKMOUSEEVENT 2128 { 2129 DWORD cbSize; 2130 DWORD dwFlags; 2131 HWND hwndTrack; 2132 DWORD dwHoverTime; 2133 } 2134 2135 struct DRAWITEMSTRUCT 2136 { 2137 UINT CtlType; 2138 UINT CtlID; 2139 UINT itemID; 2140 UINT itemAction; 2141 UINT itemState; 2142 HWND hwndItem; 2143 HDC hDC; 2144 RECT rcItem; 2145 DWORD itemData; 2146 } 2147 2148 struct MEASUREITEMSTRUCT 2149 { 2150 UINT CtlType; 2151 UINT CtlID; 2152 UINT itemID; 2153 UINT itemWidth; 2154 UINT itemHeight; 2155 DWORD itemData; 2156 } 2157 2158 struct INITCOMMONCONTROLSEX 2159 { 2160 DWORD dwSize; 2161 DWORD dwICC; 2162 } 2163 2164 struct MENUINFO 2165 { 2166 DWORD cbSize; 2167 DWORD fMask; 2168 DWORD dwStyle; 2169 UINT cyMax; 2170 HBRUSH hbrBack; 2171 DWORD dwContextHelpID; 2172 ULONG_PTR dwMenuData; 2173 } 2174 2175 /* *** Win32 Macros *** */ 2176 COLORREF RGB(int r, int g, int b) 2177 { 2178 return cast(COLORREF)(cast(ubyte)r | (cast(ubyte)g << 8) | (cast(ubyte)b << 16)); 2179 } 2180 2181 DWORD MAKELONG(int wLow, int wHigh) 2182 { 2183 return cast(DWORD)cast(WORD)wLow | (cast(DWORD)cast(WORD)wHigh << 16); 2184 } 2185 2186 LPWSTR MAKEINTRESOURCEW(ushort id) 2187 { 2188 return (cast(LPWSTR)(cast(ULONG_PTR)((cast(WORD)(id))))); 2189 } 2190 2191 BYTE GetRValue(COLORREF c) 2192 { 2193 return cast(BYTE)c; 2194 } 2195 2196 BYTE GetGValue(COLORREF c) 2197 { 2198 return cast(BYTE)(c >> 8); 2199 } 2200 2201 BYTE GetBValue(COLORREF c) 2202 { 2203 return cast(BYTE)(c >> 16); 2204 } 2205 2206 short GetWheelDelta(WPARAM wParam) 2207 { 2208 return cast(short)HIWORD(wParam); 2209 } 2210 2211 alias GUID CLSID; 2212 alias DWORD function(/+ DWORD_PTR +/ DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG* pcb) EDITSTREAMCALLBACK; // Rich edit. 2213 alias int function(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData) BFFCALLBACK; 2214 alias UINT function(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) LPCCHOOKPROC; 2215 alias UINT function(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) LPCFHOOKPROC; 2216 alias BOOL function(HDC hdc, LPARAM lpData, int cchData) GRAYSTRINGPROC; 2217 2218 alias MAKELONG MAKELRESULT; 2219 alias MAKELONG MAKELPARAM; 2220 alias MAKELONG MAKEWPARAM; 2221 alias TBBUTTON TB_BUTTON; 2222 alias HANDLE HIMAGELIST; 2223 alias size_t ULONG_PTR; 2224 alias HANDLE HTREEITEM; 2225 alias WORD CLIPFORMAT; 2226 alias ulong DWORDLONG; 2227 alias long LONGLONG; 2228 alias WORD LANGID; 2229 alias DWORD LCID; 2230 alias DWORD HDWP; 2231 alias DWORD ARGB; 2232 2233 /* *** Shell32.lib *** */ 2234 ITEMIDLIST* SHBrowseForFolderW(BROWSEINFOW* lpbi); 2235 BOOL SHGetPathFromIDListW(ITEMIDLIST* pidl, wchar* pszPath); 2236 HICON ExtractAssociatedIconW(HINSTANCE hInst, LPCWSTR lpIconPath, WORD* lpiIcon); 2237 2238 /* *** Comdlg32 *** */ 2239 BOOL ChooseColorW(CHOOSECOLORW* lpcc); 2240 BOOL ChooseFontW(CHOOSEFONTW* lpcf); 2241 2242 /* *** Kernel32.dll *** */ 2243 HMODULE LoadLibraryW(LPCWSTR lpFileName); 2244 HMODULE GetModuleHandleW(LPCWSTR lpModuleName); 2245 DWORD GetModuleFileNameW(HMODULE hModule, LPWSTR lpFilename, DWORD nSize); 2246 HRSRC FindResourceExW(HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage); 2247 BOOL GetVersionExW(OSVERSIONINFOW* lpVersionInfo); 2248 DWORD GetTempPathW(DWORD nBufferLength, LPWSTR lpBuffer); 2249 HGLOBAL LoadResource(HMODULE hModule, HRSRC hResInfo); 2250 DWORD SizeofResource(HMODULE hModule, HRSRC hResInfo); 2251 BOOL TerminateProcess(HANDLE, UINT); 2252 VOID ExitProcess(UINT uExitCode); 2253 int MulDiv(int nNumber, int nNumerator, int nDenominator); 2254 2255 /* *** User32.dll *** */ 2256 int MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType); 2257 BOOL GetMessageW(MSG* lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax); 2258 LRESULT DispatchMessageW(MSG* lpmsg); 2259 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); 2260 HDWP DeferWindowPos(HDWP hWinPosInfo, HWND hWnd, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags); 2261 //LRESULT SendMessageW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2262 HANDLE LoadImageW(HINSTANCE hinst, LPCWSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad); 2263 LRESULT CallWindowProcA(WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2264 LRESULT CallWindowProcW(WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2265 BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); 2266 BOOL GetTextExtentPoint32W(HDC hdc, LPCWSTR lpString, int c, SIZE* lpSize); 2267 BOOL DrawFrameControl(HDC hdc, RECT* lprc, uint uType, uint uState); 2268 BOOL SetMenuItemInfoW(HMENU hMenu, UINT uItem, BOOL fByPosition, MENUITEMINFOW* lpmii); 2269 BOOL InsertMenuItemW(HMENU hMenu, UINT uItem, BOOL fByPosition, MENUITEMINFOW* lpmii); 2270 BOOL SystemParametersInfoW(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); 2271 UINT SetTimer(HWND hWnd, UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc); 2272 BOOL GetClassInfoExW(HINSTANCE hinst, LPCWSTR lpszClass, WNDCLASSEXW* lpwcx); 2273 LRESULT DefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2274 int SetScrollInfo(HWND hwnd, int fnBar, SCROLLINFO* lpsi, BOOL fRedraw); 2275 BOOL EnableMenuItem(HMENU hMenu, UINT uIDEnableItem, UINT uEnable); 2276 int GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount); 2277 BOOL GetScrollInfo(HWND hwnd, int fnBar, SCROLLINFO* lpsi); 2278 LONG SetWindowLongW(HWND hWnd, int nIndex, LONG dwNewLong); 2279 DWORD SetClassLongW(HWND hWnd, int nIndex, LONG lNewLong); 2280 BOOL GetMenuItemInfoW(HMENU, UINT, BOOL, MENUITEMINFOW*); 2281 BOOL TrackMouseEvent(TRACKMOUSEEVENT* lpEventTrack); 2282 HWND SetParent(HWND hWndChild, HWND hWndNewParent); 2283 BOOL SetWindowTextW(HWND hWnd, LPCWSTR lpString); 2284 BOOL GetWindowInfo(HWND hwnd, WINDOWINFO* pwi); 2285 BOOL IsDialogMessageW(HWND hDlg, LPMSG lpMsg); 2286 HMENU GetSystemMenu(HWND hWnd, BOOL bRevert); 2287 LONG GetWindowLongW(HWND hWnd, int nIndex); 2288 BOOL EnableWindow(HWND hWnd, BOOL bEnable); 2289 DWORD GetClassLongW(HWND hWnd, int nIndex); 2290 ATOM RegisterClassExW(WNDCLASSEXW* lpwcx); 2291 HDWP BeginDeferWindowPos(int nNumWindows); 2292 BOOL EndDeferWindowPos(HDWP hWinPosInfo); 2293 BOOL KillTimer(HWND hWnd, UINT uIDEvent); 2294 BOOL DrawFocusRect(HDC hDC, RECT* lprc); 2295 BOOL OpenClipboard(HWND hWndNewOwner); 2296 BOOL SetMenu(HWND hWnd, HMENU hMenu); 2297 int GetWindowTextLengthW(HWND hWnd); 2298 BOOL SetMenuInfo(HMENU, MENUINFO*); 2299 BOOL DeleteMenu(HMENU, UINT, UINT); 2300 SHORT GetAsyncKeyState(int vKey); 2301 //BOOL BringWindowToTop(HWND hWnd); 2302 BOOL IsWindowVisible(HWND hWnd); 2303 BOOL IsWindowEnabled(HWND hWnd); 2304 BOOL IsWindowUnicode(HWND hWnd); 2305 DWORD GetSysColor(int nIndex); 2306 HBRUSH GetSysColorBrush(int nIndex); 2307 BOOL DestroyWindow(HWND hwnd); 2308 BOOL CloseWindow(HWND hWnd); 2309 BOOL DestroyMenu(HMENU hMenu); 2310 BOOL DrawMenuBar(HWND hWnd); 2311 HWND SetCapture(HWND hWnd); 2312 HWND GetParent(HWND hWnd); 2313 BOOL IsWindow(HWND hWnd); 2314 BOOL IsMenu(HMENU hMenu); 2315 HMENU GetMenu(HWND hWnd); 2316 HWND GetDesktopWindow(); 2317 HMENU CreatePopupMenu(); 2318 HWND GetActiveWindow(); 2319 BOOL EmptyClipboard(); 2320 BOOL ReleaseCapture(); 2321 //BOOL WaitMessage(); 2322 HMENU CreateMenu(); 2323 //HWND GetCapture(); 2324 2325 /* *** Comctl32.dll *** */ 2326 //BOOL ImageList_DrawEx(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle); 2327 //BOOL ImageList_Draw(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle); 2328 //HIMAGELIST ImageList_Create(int cx, int cy, UINT flags, int cInitial, int cGrow); 2329 //int ImageList_AddMasked(HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask); 2330 //int ImageList_Add(HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask); 2331 BOOL InitCommonControlsEx(INITCOMMONCONTROLSEX* lpInitCtrls); 2332 COLORREF ImageList_SetBkColor(HIMAGELIST, COLORREF); 2333 int ImageList_AddIcon(HIMAGELIST himl, HICON hicon); 2334 int ImageList_ReplaceIcon(HIMAGELIST, int, HICON); 2335 BOOL ImageList_Remove(HIMAGELIST himl, int i); 2336 BOOL ImageList_Destroy(HIMAGELIST himl); 2337 2338 /* *** Gdi32.dll *** */ 2339 //BOOL GdiTransparentBlt(HDC hdcDest, int xoriginDest, int yoriginDest,int wDest, int hDest, HDC hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, UINT crTransparent); 2340 //BOOL GdiAlphaBlend(HDC hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, HDC hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, BLENDFUNCTION ftn); 2341 BOOL DrawIconEx(HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); 2342 BOOL PlgBlt(HDC hdcDest, POINT *lpPoint, HDC hdcSrc, int nXSrc, int nYSrc, int nWidth, int nHeight, HBITMAP hbmMask, int xMask, int yMask); 2343 BOOL BitBlt(HDC hdcDest, int nXDest,int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop); 2344 int GetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, void* lpvBits, BITMAPINFO* lpbi, UINT uUsage); 2345 HBITMAP CreateDIBSection(HDC hdc, BITMAPINFO* pbmi, UINT iUsage, void** ppvBits, HANDLE hSection, DWORD dwOffset); 2346 int DrawTextExW(HDC hdc, LPCWSTR lpchText, int cchText, RECT* lprc, UINT dwDTFormat, DRAWTEXTPARAMS* lpDTParams); 2347 //BOOL GdiGradientFill(HDC hdc, TRIVERTEX* pVertex, ULONG dwNumVertex, void* pMesh, ULONG dwNumMesh, ULONG dwMode); 2348 HBITMAP CreateBitmap(int nWidth, int nHeight, UINT cPlanes, UINT cBitsPerPel, const(void*) lpvBits); 2349 BOOL Rectangle(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 2350 BOOL Ellipse(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 2351 BOOL PatBlt(HDC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD dwRop); 2352 HBITMAP CreateCompatibleBitmap(HDC hdc, int nWidth, int nHeight); 2353 BOOL SetBrushOrgEx(HDC hdc, int nXOrg, int nYOrg, LPPOINT lppt); 2354 int GetObjectW(HGDIOBJ hgdiobj, int cbBuffer, void* lpvObject); 2355 BOOL GetIconInfo(HICON hIcon, ICONINFO* iconinfo); 2356 HBRUSH CreateHatchBrush(int ht, COLORREF crColor); 2357 BOOL GetTextMetricsW(HDC hdc, TEXTMETRICW* lptm); 2358 HBRUSH CreateSolidBrush(COLORREF crColor); 2359 HFONT CreateFontIndirectW(LOGFONTW* lplf); 2360 BOOL DrawEdge(HDC, LPRECT, UINT, UINT); 2361 BOOL DestroyCursor(HCURSOR hCursor); 2362 BOOL DestroyIcon(HICON hIcon); 2363 COLORREF GetTextColor(HDC hdc); 2364 2365 /* *** Advapi32.dll *** */ 2366 LONG RegCreateKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition); 2367 LONG RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult); 2368 LONG RegQueryValueExW(HKEY hKey, LPCWSTR lpValueName, DWORD* lpReserved, DWORD* lpType, BYTE* lpData, DWORD* lpcbData); 2369 LONG RegSetValueExW(HKEY hKey, LPCWSTR lpValueName, DWORD Reserved,DWORD dwType, const BYTE *lpData, DWORD cbData); 2370 LONG RegQueryInfoKeyW(HKEY hKey, LPWSTR lpClass, LPDWORD lpcClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime); 2371 LONG RegEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpName, LPDWORD lpcName, LPDWORD lpReserved, LPWSTR lpClass, LPDWORD lpcClass, PFILETIME lpftLastWriteTime); 2372 LONG RegEnumValueW(HKEY hKey, DWORD dwIndex, LPWSTR lpValueName, LPDWORD lpcchValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); 2373 LONG RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName); 2374 LONG RegDeleteKeyW(HKEY hKey, LPCWSTR lpSubKey); 2375 2376 /* *** Ole32.dll *** */ 2377 HRESULT CLSIDFromString(wchar* lpsz, CLSID* pclsid); 2378 }