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