Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
2629 lines (2475 sloc) 69.5 KB
// Copyright 2010-2012 The W32 Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package w32
const (
FALSE = 0
TRUE = 1
)
const (
NO_ERROR = 0
ERROR_SUCCESS = 0
ERROR_FILE_NOT_FOUND = 2
ERROR_PATH_NOT_FOUND = 3
ERROR_ACCESS_DENIED = 5
ERROR_INVALID_HANDLE = 6
ERROR_BAD_FORMAT = 11
ERROR_INVALID_NAME = 123
ERROR_MORE_DATA = 234
ERROR_NO_MORE_ITEMS = 259
ERROR_INVALID_SERVICE_CONTROL = 1052
ERROR_SERVICE_REQUEST_TIMEOUT = 1053
ERROR_SERVICE_NO_THREAD = 1054
ERROR_SERVICE_DATABASE_LOCKED = 1055
ERROR_SERVICE_ALREADY_RUNNING = 1056
ERROR_SERVICE_DISABLED = 1058
ERROR_SERVICE_DOES_NOT_EXIST = 1060
ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061
ERROR_SERVICE_NOT_ACTIVE = 1062
ERROR_DATABASE_DOES_NOT_EXIST = 1065
ERROR_SERVICE_DEPENDENCY_FAIL = 1068
ERROR_SERVICE_LOGON_FAILED = 1069
ERROR_SERVICE_MARKED_FOR_DELETE = 1072
ERROR_SERVICE_DEPENDENCY_DELETED = 1075
)
const (
SE_ERR_FNF = 2
SE_ERR_PNF = 3
SE_ERR_ACCESSDENIED = 5
SE_ERR_OOM = 8
SE_ERR_DLLNOTFOUND = 32
SE_ERR_SHARE = 26
SE_ERR_ASSOCINCOMPLETE = 27
SE_ERR_DDETIMEOUT = 28
SE_ERR_DDEFAIL = 29
SE_ERR_DDEBUSY = 30
SE_ERR_NOASSOC = 31
)
const (
CW_USEDEFAULT = ^0x7fffffff
)
// ShowWindow constants
const (
SW_HIDE = 0
SW_NORMAL = 1
SW_SHOWNORMAL = 1
SW_SHOWMINIMIZED = 2
SW_MAXIMIZE = 3
SW_SHOWMAXIMIZED = 3
SW_SHOWNOACTIVATE = 4
SW_SHOW = 5
SW_MINIMIZE = 6
SW_SHOWMINNOACTIVE = 7
SW_SHOWNA = 8
SW_RESTORE = 9
SW_SHOWDEFAULT = 10
SW_FORCEMINIMIZE = 11
)
// Window class styles
const (
CS_VREDRAW = 0x00000001
CS_HREDRAW = 0x00000002
CS_KEYCVTWINDOW = 0x00000004
CS_DBLCLKS = 0x00000008
CS_OWNDC = 0x00000020
CS_CLASSDC = 0x00000040
CS_PARENTDC = 0x00000080
CS_NOKEYCVT = 0x00000100
CS_NOCLOSE = 0x00000200
CS_SAVEBITS = 0x00000800
CS_BYTEALIGNCLIENT = 0x00001000
CS_BYTEALIGNWINDOW = 0x00002000
CS_GLOBALCLASS = 0x00004000
CS_IME = 0x00010000
CS_DROPSHADOW = 0x00020000
)
// Predefined cursor constants
const (
IDC_ARROW = 32512
IDC_IBEAM = 32513
IDC_WAIT = 32514
IDC_CROSS = 32515
IDC_UPARROW = 32516
IDC_SIZENWSE = 32642
IDC_SIZENESW = 32643
IDC_SIZEWE = 32644
IDC_SIZENS = 32645
IDC_SIZEALL = 32646
IDC_NO = 32648
IDC_HAND = 32649
IDC_APPSTARTING = 32650
IDC_HELP = 32651
IDC_ICON = 32641
IDC_SIZE = 32640
)
// Predefined icon constants
const (
IDI_APPLICATION = 32512
IDI_HAND = 32513
IDI_QUESTION = 32514
IDI_EXCLAMATION = 32515
IDI_ASTERISK = 32516
IDI_WINLOGO = 32517
IDI_WARNING = IDI_EXCLAMATION
IDI_ERROR = IDI_HAND
IDI_INFORMATION = IDI_ASTERISK
)
// Button style constants
const (
BS_3STATE = 5
BS_AUTO3STATE = 6
BS_AUTOCHECKBOX = 3
BS_AUTORADIOBUTTON = 9
BS_BITMAP = 128
BS_BOTTOM = 0X800
BS_CENTER = 0X300
BS_CHECKBOX = 2
BS_DEFPUSHBUTTON = 1
BS_GROUPBOX = 7
BS_ICON = 64
BS_LEFT = 256
BS_LEFTTEXT = 32
BS_MULTILINE = 0X2000
BS_NOTIFY = 0X4000
BS_OWNERDRAW = 0XB
BS_PUSHBUTTON = 0
BS_PUSHLIKE = 4096
BS_RADIOBUTTON = 4
BS_RIGHT = 512
BS_RIGHTBUTTON = 32
BS_TEXT = 0
BS_TOP = 0X400
BS_USERBUTTON = 8
BS_VCENTER = 0XC00
BS_FLAT = 0X8000
)
// Button state constants
const (
BST_CHECKED = 1
BST_INDETERMINATE = 2
BST_UNCHECKED = 0
BST_FOCUS = 8
BST_PUSHED = 4
)
// Predefined brushes constants
const (
COLOR_3DDKSHADOW = 21
COLOR_3DFACE = 15
COLOR_3DHILIGHT = 20
COLOR_3DHIGHLIGHT = 20
COLOR_3DLIGHT = 22
COLOR_BTNHILIGHT = 20
COLOR_3DSHADOW = 16
COLOR_ACTIVEBORDER = 10
COLOR_ACTIVECAPTION = 2
COLOR_APPWORKSPACE = 12
COLOR_BACKGROUND = 1
COLOR_DESKTOP = 1
COLOR_BTNFACE = 15
COLOR_BTNHIGHLIGHT = 20
COLOR_BTNSHADOW = 16
COLOR_BTNTEXT = 18
COLOR_CAPTIONTEXT = 9
COLOR_GRAYTEXT = 17
COLOR_HIGHLIGHT = 13
COLOR_HIGHLIGHTTEXT = 14
COLOR_INACTIVEBORDER = 11
COLOR_INACTIVECAPTION = 3
COLOR_INACTIVECAPTIONTEXT = 19
COLOR_INFOBK = 24
COLOR_INFOTEXT = 23
COLOR_MENU = 4
COLOR_MENUTEXT = 7
COLOR_SCROLLBAR = 0
COLOR_WINDOW = 5
COLOR_WINDOWFRAME = 6
COLOR_WINDOWTEXT = 8
COLOR_HOTLIGHT = 26
COLOR_GRADIENTACTIVECAPTION = 27
COLOR_GRADIENTINACTIVECAPTION = 28
)
// Button message constants
const (
BM_CLICK = 245
BM_GETCHECK = 240
BM_GETIMAGE = 246
BM_GETSTATE = 242
BM_SETCHECK = 241
BM_SETIMAGE = 247
BM_SETSTATE = 243
BM_SETSTYLE = 244
)
// Button notifications
const (
BN_CLICKED = 0
BN_PAINT = 1
BN_HILITE = 2
BN_PUSHED = BN_HILITE
BN_UNHILITE = 3
BN_UNPUSHED = BN_UNHILITE
BN_DISABLE = 4
BN_DOUBLECLICKED = 5
BN_DBLCLK = BN_DOUBLECLICKED
BN_SETFOCUS = 6
BN_KILLFOCUS = 7
)
// GetWindowLong and GetWindowLongPtr constants
const (
GWL_EXSTYLE = -20
GWL_STYLE = -16
GWL_WNDPROC = -4
GWLP_WNDPROC = -4
GWL_HINSTANCE = -6
GWLP_HINSTANCE = -6
GWL_HWNDPARENT = -8
GWLP_HWNDPARENT = -8
GWL_ID = -12
GWLP_ID = -12
GWL_USERDATA = -21
GWLP_USERDATA = -21
)
// Window style constants
const (
WS_OVERLAPPED = 0X00000000
WS_POPUP = 0X80000000
WS_CHILD = 0X40000000
WS_MINIMIZE = 0X20000000
WS_VISIBLE = 0X10000000
WS_DISABLED = 0X08000000
WS_CLIPSIBLINGS = 0X04000000
WS_CLIPCHILDREN = 0X02000000
WS_MAXIMIZE = 0X01000000
WS_CAPTION = 0X00C00000
WS_BORDER = 0X00800000
WS_DLGFRAME = 0X00400000
WS_VSCROLL = 0X00200000
WS_HSCROLL = 0X00100000
WS_SYSMENU = 0X00080000
WS_THICKFRAME = 0X00040000
WS_GROUP = 0X00020000
WS_TABSTOP = 0X00010000
WS_MINIMIZEBOX = 0X00020000
WS_MAXIMIZEBOX = 0X00010000
WS_TILED = 0X00000000
WS_ICONIC = 0X20000000
WS_SIZEBOX = 0X00040000
WS_OVERLAPPEDWINDOW = 0X00000000 | 0X00C00000 | 0X00080000 | 0X00040000 | 0X00020000 | 0X00010000
WS_POPUPWINDOW = 0X80000000 | 0X00800000 | 0X00080000
WS_CHILDWINDOW = 0X40000000
)
// Extended window style constants
const (
WS_EX_DLGMODALFRAME = 0X00000001
WS_EX_NOPARENTNOTIFY = 0X00000004
WS_EX_TOPMOST = 0X00000008
WS_EX_ACCEPTFILES = 0X00000010
WS_EX_TRANSPARENT = 0X00000020
WS_EX_MDICHILD = 0X00000040
WS_EX_TOOLWINDOW = 0X00000080
WS_EX_WINDOWEDGE = 0X00000100
WS_EX_CLIENTEDGE = 0X00000200
WS_EX_CONTEXTHELP = 0X00000400
WS_EX_RIGHT = 0X00001000
WS_EX_LEFT = 0X00000000
WS_EX_RTLREADING = 0X00002000
WS_EX_LTRREADING = 0X00000000
WS_EX_LEFTSCROLLBAR = 0X00004000
WS_EX_RIGHTSCROLLBAR = 0X00000000
WS_EX_CONTROLPARENT = 0X00010000
WS_EX_STATICEDGE = 0X00020000
WS_EX_APPWINDOW = 0X00040000
WS_EX_OVERLAPPEDWINDOW = 0X00000100 | 0X00000200
WS_EX_PALETTEWINDOW = 0X00000100 | 0X00000080 | 0X00000008
WS_EX_LAYERED = 0X00080000
WS_EX_NOINHERITLAYOUT = 0X00100000
WS_EX_LAYOUTRTL = 0X00400000
WS_EX_NOACTIVATE = 0X08000000
)
// Window message constants
const (
WM_APP = 32768
WM_ACTIVATE = 6
WM_ACTIVATEAPP = 28
WM_AFXFIRST = 864
WM_AFXLAST = 895
WM_ASKCBFORMATNAME = 780
WM_CANCELJOURNAL = 75
WM_CANCELMODE = 31
WM_CAPTURECHANGED = 533
WM_CHANGECBCHAIN = 781
WM_CHAR = 258
WM_CHARTOITEM = 47
WM_CHILDACTIVATE = 34
WM_CLEAR = 771
WM_CLOSE = 16
WM_COMMAND = 273
WM_COMMNOTIFY = 68 /* OBSOLETE */
WM_COMPACTING = 65
WM_COMPAREITEM = 57
WM_CONTEXTMENU = 123
WM_COPY = 769
WM_COPYDATA = 74
WM_CREATE = 1
WM_CTLCOLORBTN = 309
WM_CTLCOLORDLG = 310
WM_CTLCOLOREDIT = 307
WM_CTLCOLORLISTBOX = 308
WM_CTLCOLORMSGBOX = 306
WM_CTLCOLORSCROLLBAR = 311
WM_CTLCOLORSTATIC = 312
WM_CUT = 768
WM_DEADCHAR = 259
WM_DELETEITEM = 45
WM_DESTROY = 2
WM_DESTROYCLIPBOARD = 775
WM_DEVICECHANGE = 537
WM_DEVMODECHANGE = 27
WM_DISPLAYCHANGE = 126
WM_DRAWCLIPBOARD = 776
WM_DRAWITEM = 43
WM_DROPFILES = 563
WM_ENABLE = 10
WM_ENDSESSION = 22
WM_ENTERIDLE = 289
WM_ENTERMENULOOP = 529
WM_ENTERSIZEMOVE = 561
WM_ERASEBKGND = 20
WM_EXITMENULOOP = 530
WM_EXITSIZEMOVE = 562
WM_FONTCHANGE = 29
WM_GETDLGCODE = 135
WM_GETFONT = 49
WM_GETHOTKEY = 51
WM_GETICON = 127
WM_GETMINMAXINFO = 36
WM_GETTEXT = 13
WM_GETTEXTLENGTH = 14
WM_HANDHELDFIRST = 856
WM_HANDHELDLAST = 863
WM_HELP = 83
WM_HOTKEY = 786
WM_HSCROLL = 276
WM_HSCROLLCLIPBOARD = 782
WM_ICONERASEBKGND = 39
WM_INITDIALOG = 272
WM_INITMENU = 278
WM_INITMENUPOPUP = 279
WM_INPUT = 0X00FF
WM_INPUTLANGCHANGE = 81
WM_INPUTLANGCHANGEREQUEST = 80
WM_KEYDOWN = 256
WM_KEYUP = 257
WM_KILLFOCUS = 8
WM_MDIACTIVATE = 546
WM_MDICASCADE = 551
WM_MDICREATE = 544
WM_MDIDESTROY = 545
WM_MDIGETACTIVE = 553
WM_MDIICONARRANGE = 552
WM_MDIMAXIMIZE = 549
WM_MDINEXT = 548
WM_MDIREFRESHMENU = 564
WM_MDIRESTORE = 547
WM_MDISETMENU = 560
WM_MDITILE = 550
WM_MEASUREITEM = 44
WM_GETOBJECT = 0X003D
WM_CHANGEUISTATE = 0X0127
WM_UPDATEUISTATE = 0X0128
WM_QUERYUISTATE = 0X0129
WM_UNINITMENUPOPUP = 0X0125
WM_MENURBUTTONUP = 290
WM_MENUCOMMAND = 0X0126
WM_MENUGETOBJECT = 0X0124
WM_MENUDRAG = 0X0123
WM_APPCOMMAND = 0X0319
WM_MENUCHAR = 288
WM_MENUSELECT = 287
WM_MOVE = 3
WM_MOVING = 534
WM_NCACTIVATE = 134
WM_NCCALCSIZE = 131
WM_NCCREATE = 129
WM_NCDESTROY = 130
WM_NCHITTEST = 132
WM_NCLBUTTONDBLCLK = 163
WM_NCLBUTTONDOWN = 161
WM_NCLBUTTONUP = 162
WM_NCMBUTTONDBLCLK = 169
WM_NCMBUTTONDOWN = 167
WM_NCMBUTTONUP = 168
WM_NCXBUTTONDOWN = 171
WM_NCXBUTTONUP = 172
WM_NCXBUTTONDBLCLK = 173
WM_NCMOUSEHOVER = 0X02A0
WM_NCMOUSELEAVE = 0X02A2
WM_NCMOUSEMOVE = 160
WM_NCPAINT = 133
WM_NCRBUTTONDBLCLK = 166
WM_NCRBUTTONDOWN = 164
WM_NCRBUTTONUP = 165
WM_NEXTDLGCTL = 40
WM_NEXTMENU = 531
WM_NOTIFY = 78
WM_NOTIFYFORMAT = 85
WM_NULL = 0
WM_PAINT = 15
WM_PAINTCLIPBOARD = 777
WM_PAINTICON = 38
WM_PALETTECHANGED = 785
WM_PALETTEISCHANGING = 784
WM_PARENTNOTIFY = 528
WM_PASTE = 770
WM_PENWINFIRST = 896
WM_PENWINLAST = 911
WM_POWER = 72
WM_POWERBROADCAST = 536
WM_PRINT = 791
WM_PRINTCLIENT = 792
WM_QUERYDRAGICON = 55
WM_QUERYENDSESSION = 17
WM_QUERYNEWPALETTE = 783
WM_QUERYOPEN = 19
WM_QUEUESYNC = 35
WM_QUIT = 18
WM_RENDERALLFORMATS = 774
WM_RENDERFORMAT = 773
WM_SETCURSOR = 32
WM_SETFOCUS = 7
WM_SETFONT = 48
WM_SETHOTKEY = 50
WM_SETICON = 128
WM_SETREDRAW = 11
WM_SETTEXT = 12
WM_SETTINGCHANGE = 26
WM_SHOWWINDOW = 24
WM_SIZE = 5
WM_SIZECLIPBOARD = 779
WM_SIZING = 532
WM_SPOOLERSTATUS = 42
WM_STYLECHANGED = 125
WM_STYLECHANGING = 124
WM_SYSCHAR = 262
WM_SYSCOLORCHANGE = 21
WM_SYSCOMMAND = 274
WM_SYSDEADCHAR = 263
WM_SYSKEYDOWN = 260
WM_SYSKEYUP = 261
WM_TCARD = 82
WM_THEMECHANGED = 794
WM_TIMECHANGE = 30
WM_TIMER = 275
WM_UNDO = 772
WM_USER = 1024
WM_USERCHANGED = 84
WM_VKEYTOITEM = 46
WM_VSCROLL = 277
WM_VSCROLLCLIPBOARD = 778
WM_WINDOWPOSCHANGED = 71
WM_WINDOWPOSCHANGING = 70
WM_WININICHANGE = 26
WM_KEYFIRST = 256
WM_KEYLAST = 264
WM_SYNCPAINT = 136
WM_MOUSEACTIVATE = 33
WM_MOUSEMOVE = 512
WM_LBUTTONDOWN = 513
WM_LBUTTONUP = 514
WM_LBUTTONDBLCLK = 515
WM_RBUTTONDOWN = 516
WM_RBUTTONUP = 517
WM_RBUTTONDBLCLK = 518
WM_MBUTTONDOWN = 519
WM_MBUTTONUP = 520
WM_MBUTTONDBLCLK = 521
WM_MOUSEWHEEL = 522
WM_XBUTTONDOWN = 523
WM_XBUTTONUP = 524
WM_XBUTTONDBLCLK = 525
WM_MOUSEHWHEEL = 526
WM_MOUSEFIRST = 512
WM_MOUSELAST = 526
WM_MOUSEHOVER = 0X2A1
WM_MOUSELEAVE = 0X2A3
WM_CLIPBOARDUPDATE = 0x031D
)
// WM_ACTIVATE
const (
WA_INACTIVE = 0
WA_ACTIVE = 1
WA_CLICKACTIVE = 2
)
const LF_FACESIZE = 32
// Font weight constants
const (
FW_DONTCARE = 0
FW_THIN = 100
FW_EXTRALIGHT = 200
FW_ULTRALIGHT = FW_EXTRALIGHT
FW_LIGHT = 300
FW_NORMAL = 400
FW_REGULAR = 400
FW_MEDIUM = 500
FW_SEMIBOLD = 600
FW_DEMIBOLD = FW_SEMIBOLD
FW_BOLD = 700
FW_EXTRABOLD = 800
FW_ULTRABOLD = FW_EXTRABOLD
FW_HEAVY = 900
FW_BLACK = FW_HEAVY
)
// Charset constants
const (
ANSI_CHARSET = 0
DEFAULT_CHARSET = 1
SYMBOL_CHARSET = 2
SHIFTJIS_CHARSET = 128
HANGEUL_CHARSET = 129
HANGUL_CHARSET = 129
GB2312_CHARSET = 134
CHINESEBIG5_CHARSET = 136
GREEK_CHARSET = 161
TURKISH_CHARSET = 162
HEBREW_CHARSET = 177
ARABIC_CHARSET = 178
BALTIC_CHARSET = 186
RUSSIAN_CHARSET = 204
THAI_CHARSET = 222
EASTEUROPE_CHARSET = 238
OEM_CHARSET = 255
JOHAB_CHARSET = 130
VIETNAMESE_CHARSET = 163
MAC_CHARSET = 77
)
// Font output precision constants
const (
OUT_DEFAULT_PRECIS = 0
OUT_STRING_PRECIS = 1
OUT_CHARACTER_PRECIS = 2
OUT_STROKE_PRECIS = 3
OUT_TT_PRECIS = 4
OUT_DEVICE_PRECIS = 5
OUT_RASTER_PRECIS = 6
OUT_TT_ONLY_PRECIS = 7
OUT_OUTLINE_PRECIS = 8
OUT_PS_ONLY_PRECIS = 10
)
// Font clipping precision constants
const (
CLIP_DEFAULT_PRECIS = 0
CLIP_CHARACTER_PRECIS = 1
CLIP_STROKE_PRECIS = 2
CLIP_MASK = 15
CLIP_LH_ANGLES = 16
CLIP_TT_ALWAYS = 32
CLIP_EMBEDDED = 128
)
// Font output quality constants
const (
DEFAULT_QUALITY = 0
DRAFT_QUALITY = 1
PROOF_QUALITY = 2
NONANTIALIASED_QUALITY = 3
ANTIALIASED_QUALITY = 4
CLEARTYPE_QUALITY = 5
)
// Font pitch constants
const (
DEFAULT_PITCH = 0
FIXED_PITCH = 1
VARIABLE_PITCH = 2
)
// Font family constants
const (
FF_DECORATIVE = 80
FF_DONTCARE = 0
FF_MODERN = 48
FF_ROMAN = 16
FF_SCRIPT = 64
FF_SWISS = 32
)
// DeviceCapabilities capabilities
const (
DC_FIELDS = 1
DC_PAPERS = 2
DC_PAPERSIZE = 3
DC_MINEXTENT = 4
DC_MAXEXTENT = 5
DC_BINS = 6
DC_DUPLEX = 7
DC_SIZE = 8
DC_EXTRA = 9
DC_VERSION = 10
DC_DRIVER = 11
DC_BINNAMES = 12
DC_ENUMRESOLUTIONS = 13
DC_FILEDEPENDENCIES = 14
DC_TRUETYPE = 15
DC_PAPERNAMES = 16
DC_ORIENTATION = 17
DC_COPIES = 18
DC_BINADJUST = 19
DC_EMF_COMPLIANT = 20
DC_DATATYPE_PRODUCED = 21
DC_COLLATE = 22
DC_MANUFACTURER = 23
DC_MODEL = 24
DC_PERSONALITY = 25
DC_PRINTRATE = 26
DC_PRINTRATEUNIT = 27
DC_PRINTERMEM = 28
DC_MEDIAREADY = 29
DC_STAPLE = 30
DC_PRINTRATEPPM = 31
DC_COLORDEVICE = 32
DC_NUP = 33
DC_MEDIATYPENAMES = 34
DC_MEDIATYPES = 35
)
// GetDeviceCaps index constants
const (
DRIVERVERSION = 0
TECHNOLOGY = 2
HORZSIZE = 4
VERTSIZE = 6
HORZRES = 8
VERTRES = 10
LOGPIXELSX = 88
LOGPIXELSY = 90
BITSPIXEL = 12
PLANES = 14
NUMBRUSHES = 16
NUMPENS = 18
NUMFONTS = 22
NUMCOLORS = 24
NUMMARKERS = 20
ASPECTX = 40
ASPECTY = 42
ASPECTXY = 44
PDEVICESIZE = 26
CLIPCAPS = 36
SIZEPALETTE = 104
NUMRESERVED = 106
COLORRES = 108
PHYSICALWIDTH = 110
PHYSICALHEIGHT = 111
PHYSICALOFFSETX = 112
PHYSICALOFFSETY = 113
SCALINGFACTORX = 114
SCALINGFACTORY = 115
VREFRESH = 116
DESKTOPHORZRES = 118
DESKTOPVERTRES = 117
BLTALIGNMENT = 119
SHADEBLENDCAPS = 120
COLORMGMTCAPS = 121
RASTERCAPS = 38
CURVECAPS = 28
LINECAPS = 30
POLYGONALCAPS = 32
TEXTCAPS = 34
)
// GetDeviceCaps TECHNOLOGY constants
const (
DT_PLOTTER = 0
DT_RASDISPLAY = 1
DT_RASPRINTER = 2
DT_RASCAMERA = 3
DT_CHARSTREAM = 4
DT_METAFILE = 5
DT_DISPFILE = 6
)
// GetDeviceCaps SHADEBLENDCAPS constants
const (
SB_NONE = 0x00
SB_CONST_ALPHA = 0x01
SB_PIXEL_ALPHA = 0x02
SB_PREMULT_ALPHA = 0x04
SB_GRAD_RECT = 0x10
SB_GRAD_TRI = 0x20
)
// GetDeviceCaps COLORMGMTCAPS constants
const (
CM_NONE = 0x00
CM_DEVICE_ICM = 0x01
CM_GAMMA_RAMP = 0x02
CM_CMYK_COLOR = 0x04
)
// GetDeviceCaps RASTERCAPS constants
const (
RC_BANDING = 2
RC_BITBLT = 1
RC_BITMAP64 = 8
RC_DI_BITMAP = 128
RC_DIBTODEV = 512
RC_FLOODFILL = 4096
RC_GDI20_OUTPUT = 16
RC_PALETTE = 256
RC_SCALING = 4
RC_STRETCHBLT = 2048
RC_STRETCHDIB = 8192
RC_DEVBITS = 0x8000
RC_OP_DX_OUTPUT = 0x4000
)
// GetDeviceCaps CURVECAPS constants
const (
CC_NONE = 0
CC_CIRCLES = 1
CC_PIE = 2
CC_CHORD = 4
CC_ELLIPSES = 8
CC_WIDE = 16
CC_STYLED = 32
CC_WIDESTYLED = 64
CC_INTERIORS = 128
CC_ROUNDRECT = 256
)
// GetDeviceCaps LINECAPS constants
const (
LC_NONE = 0
LC_POLYLINE = 2
LC_MARKER = 4
LC_POLYMARKER = 8
LC_WIDE = 16
LC_STYLED = 32
LC_WIDESTYLED = 64
LC_INTERIORS = 128
)
// GetDeviceCaps POLYGONALCAPS constants
const (
PC_NONE = 0
PC_POLYGON = 1
PC_POLYPOLYGON = 256
PC_PATHS = 512
PC_RECTANGLE = 2
PC_WINDPOLYGON = 4
PC_SCANLINE = 8
PC_TRAPEZOID = 4
PC_WIDE = 16
PC_STYLED = 32
PC_WIDESTYLED = 64
PC_INTERIORS = 128
)
// GetDeviceCaps TEXTCAPS constants
const (
TC_OP_CHARACTER = 1
TC_OP_STROKE = 2
TC_CP_STROKE = 4
TC_CR_90 = 8
TC_CR_ANY = 16
TC_SF_X_YINDEP = 32
TC_SA_DOUBLE = 64
TC_SA_INTEGER = 128
TC_SA_CONTIN = 256
TC_EA_DOUBLE = 512
TC_IA_ABLE = 1024
TC_UA_ABLE = 2048
TC_SO_ABLE = 4096
TC_RA_ABLE = 8192
TC_VA_ABLE = 16384
TC_RESERVED = 32768
TC_SCROLLBLT = 65536
)
// Static control styles
const (
SS_BITMAP = 14
SS_BLACKFRAME = 7
SS_BLACKRECT = 4
SS_CENTER = 1
SS_CENTERIMAGE = 512
SS_EDITCONTROL = 0x2000
SS_ENHMETAFILE = 15
SS_ETCHEDFRAME = 18
SS_ETCHEDHORZ = 16
SS_ETCHEDVERT = 17
SS_GRAYFRAME = 8
SS_GRAYRECT = 5
SS_ICON = 3
SS_LEFT = 0
SS_LEFTNOWORDWRAP = 0xc
SS_NOPREFIX = 128
SS_NOTIFY = 256
SS_OWNERDRAW = 0xd
SS_REALSIZECONTROL = 0x040
SS_REALSIZEIMAGE = 0x800
SS_RIGHT = 2
SS_RIGHTJUST = 0x400
SS_SIMPLE = 11
SS_SUNKEN = 4096
SS_WHITEFRAME = 9
SS_WHITERECT = 6
SS_USERITEM = 10
SS_TYPEMASK = 0x0000001F
SS_ENDELLIPSIS = 0x00004000
SS_PATHELLIPSIS = 0x00008000
SS_WORDELLIPSIS = 0x0000C000
SS_ELLIPSISMASK = 0x0000C000
)
// Edit styles
const (
ES_LEFT = 0x0000
ES_CENTER = 0x0001
ES_RIGHT = 0x0002
ES_MULTILINE = 0x0004
ES_UPPERCASE = 0x0008
ES_LOWERCASE = 0x0010
ES_PASSWORD = 0x0020
ES_AUTOVSCROLL = 0x0040
ES_AUTOHSCROLL = 0x0080
ES_NOHIDESEL = 0x0100
ES_OEMCONVERT = 0x0400
ES_READONLY = 0x0800
ES_WANTRETURN = 0x1000
ES_NUMBER = 0x2000
)
// Edit notifications
const (
EN_SETFOCUS = 0x0100
EN_KILLFOCUS = 0x0200
EN_CHANGE = 0x0300
EN_UPDATE = 0x0400
EN_ERRSPACE = 0x0500
EN_MAXTEXT = 0x0501
EN_HSCROLL = 0x0601
EN_VSCROLL = 0x0602
EN_ALIGN_LTR_EC = 0x0700
EN_ALIGN_RTL_EC = 0x0701
)
// Edit messages
const (
EM_GETSEL = 0x00B0
EM_SETSEL = 0x00B1
EM_GETRECT = 0x00B2
EM_SETRECT = 0x00B3
EM_SETRECTNP = 0x00B4
EM_SCROLL = 0x00B5
EM_LINESCROLL = 0x00B6
EM_SCROLLCARET = 0x00B7
EM_GETMODIFY = 0x00B8
EM_SETMODIFY = 0x00B9
EM_GETLINECOUNT = 0x00BA
EM_LINEINDEX = 0x00BB
EM_SETHANDLE = 0x00BC
EM_GETHANDLE = 0x00BD
EM_GETTHUMB = 0x00BE
EM_LINELENGTH = 0x00C1
EM_REPLACESEL = 0x00C2
EM_GETLINE = 0x00C4
EM_LIMITTEXT = 0x00C5
EM_CANUNDO = 0x00C6
EM_UNDO = 0x00C7
EM_FMTLINES = 0x00C8
EM_LINEFROMCHAR = 0x00C9
EM_SETTABSTOPS = 0x00CB
EM_SETPASSWORDCHAR = 0x00CC
EM_EMPTYUNDOBUFFER = 0x00CD
EM_GETFIRSTVISIBLELINE = 0x00CE
EM_SETREADONLY = 0x00CF
EM_SETWORDBREAKPROC = 0x00D0
EM_GETWORDBREAKPROC = 0x00D1
EM_GETPASSWORDCHAR = 0x00D2
EM_SETMARGINS = 0x00D3
EM_GETMARGINS = 0x00D4
EM_SETLIMITTEXT = EM_LIMITTEXT
EM_GETLIMITTEXT = 0x00D5
EM_POSFROMCHAR = 0x00D6
EM_CHARFROMPOS = 0x00D7
EM_SETIMESTATUS = 0x00D8
EM_GETIMESTATUS = 0x00D9
EM_SETCUEBANNER = 0x1501
EM_GETCUEBANNER = 0x1502
)
const (
CCM_FIRST = 0x2000
CCM_LAST = CCM_FIRST + 0x200
CCM_SETBKCOLOR = 8193
CCM_SETCOLORSCHEME = 8194
CCM_GETCOLORSCHEME = 8195
CCM_GETDROPTARGET = 8196
CCM_SETUNICODEFORMAT = 8197
CCM_GETUNICODEFORMAT = 8198
CCM_SETVERSION = 0x2007
CCM_GETVERSION = 0x2008
CCM_SETNOTIFYWINDOW = 0x2009
CCM_SETWINDOWTHEME = 0x200b
CCM_DPISCALE = 0x200c
)
// Common controls styles
const (
CCS_TOP = 1
CCS_NOMOVEY = 2
CCS_BOTTOM = 3
CCS_NORESIZE = 4
CCS_NOPARENTALIGN = 8
CCS_ADJUSTABLE = 32
CCS_NODIVIDER = 64
CCS_VERT = 128
CCS_LEFT = 129
CCS_NOMOVEX = 130
CCS_RIGHT = 131
)
// ProgressBar messages
const (
PROGRESS_CLASS = "msctls_progress32"
PBM_SETPOS = WM_USER + 2
PBM_DELTAPOS = WM_USER + 3
PBM_SETSTEP = WM_USER + 4
PBM_STEPIT = WM_USER + 5
PBM_SETRANGE32 = 1030
PBM_GETRANGE = 1031
PBM_GETPOS = 1032
PBM_SETBARCOLOR = 1033
PBM_SETBKCOLOR = CCM_SETBKCOLOR
PBS_SMOOTH = 1
PBS_VERTICAL = 4
)
// GetOpenFileName and GetSaveFileName extended flags
const (
OFN_EX_NOPLACESBAR = 0x00000001
)
// GetOpenFileName and GetSaveFileName flags
const (
OFN_ALLOWMULTISELECT = 0x00000200
OFN_CREATEPROMPT = 0x00002000
OFN_DONTADDTORECENT = 0x02000000
OFN_ENABLEHOOK = 0x00000020
OFN_ENABLEINCLUDENOTIFY = 0x00400000
OFN_ENABLESIZING = 0x00800000
OFN_ENABLETEMPLATE = 0x00000040
OFN_ENABLETEMPLATEHANDLE = 0x00000080
OFN_EXPLORER = 0x00080000
OFN_EXTENSIONDIFFERENT = 0x00000400
OFN_FILEMUSTEXIST = 0x00001000
OFN_FORCESHOWHIDDEN = 0x10000000
OFN_HIDEREADONLY = 0x00000004
OFN_LONGNAMES = 0x00200000
OFN_NOCHANGEDIR = 0x00000008
OFN_NODEREFERENCELINKS = 0x00100000
OFN_NOLONGNAMES = 0x00040000
OFN_NONETWORKBUTTON = 0x00020000
OFN_NOREADONLYRETURN = 0x00008000
OFN_NOTESTFILECREATE = 0x00010000
OFN_NOVALIDATE = 0x00000100
OFN_OVERWRITEPROMPT = 0x00000002
OFN_PATHMUSTEXIST = 0x00000800
OFN_READONLY = 0x00000001
OFN_SHAREAWARE = 0x00004000
OFN_SHOWHELP = 0x00000010
)
//SHBrowseForFolder flags
const (
BIF_RETURNONLYFSDIRS = 0x00000001
BIF_DONTGOBELOWDOMAIN = 0x00000002
BIF_STATUSTEXT = 0x00000004
BIF_RETURNFSANCESTORS = 0x00000008
BIF_EDITBOX = 0x00000010
BIF_VALIDATE = 0x00000020
BIF_NEWDIALOGSTYLE = 0x00000040
BIF_BROWSEINCLUDEURLS = 0x00000080
BIF_USENEWUI = BIF_EDITBOX | BIF_NEWDIALOGSTYLE
BIF_UAHINT = 0x00000100
BIF_NONEWFOLDERBUTTON = 0x00000200
BIF_NOTRANSLATETARGETS = 0x00000400
BIF_BROWSEFORCOMPUTER = 0x00001000
BIF_BROWSEFORPRINTER = 0x00002000
BIF_BROWSEINCLUDEFILES = 0x00004000
BIF_SHAREABLE = 0x00008000
BIF_BROWSEFILEJUNCTIONS = 0x00010000
)
//MessageBox flags
const (
MB_OK = 0x00000000
MB_OKCANCEL = 0x00000001
MB_ABORTRETRYIGNORE = 0x00000002
MB_YESNOCANCEL = 0x00000003
MB_YESNO = 0x00000004
MB_RETRYCANCEL = 0x00000005
MB_CANCELTRYCONTINUE = 0x00000006
MB_ICONHAND = 0x00000010
MB_ICONQUESTION = 0x00000020
MB_ICONEXCLAMATION = 0x00000030
MB_ICONASTERISK = 0x00000040
MB_USERICON = 0x00000080
MB_ICONWARNING = MB_ICONEXCLAMATION
MB_ICONERROR = MB_ICONHAND
MB_ICONINFORMATION = MB_ICONASTERISK
MB_ICONSTOP = MB_ICONHAND
MB_DEFBUTTON1 = 0x00000000
MB_DEFBUTTON2 = 0x00000100
MB_DEFBUTTON3 = 0x00000200
MB_DEFBUTTON4 = 0x00000300
)
//COM
const (
E_INVALIDARG = 0x80070057
E_OUTOFMEMORY = 0x8007000E
E_UNEXPECTED = 0x8000FFFF
)
const (
S_OK = 0
S_FALSE = 0x0001
RPC_E_CHANGED_MODE = 0x80010106
)
// GetSystemMetrics constants
const (
SM_CXSCREEN = 0
SM_CYSCREEN = 1
SM_CXVSCROLL = 2
SM_CYHSCROLL = 3
SM_CYCAPTION = 4
SM_CXBORDER = 5
SM_CYBORDER = 6
SM_CXDLGFRAME = 7
SM_CYDLGFRAME = 8
SM_CYVTHUMB = 9
SM_CXHTHUMB = 10
SM_CXICON = 11
SM_CYICON = 12
SM_CXCURSOR = 13
SM_CYCURSOR = 14
SM_CYMENU = 15
SM_CXFULLSCREEN = 16
SM_CYFULLSCREEN = 17
SM_CYKANJIWINDOW = 18
SM_MOUSEPRESENT = 19
SM_CYVSCROLL = 20
SM_CXHSCROLL = 21
SM_DEBUG = 22
SM_SWAPBUTTON = 23
SM_RESERVED1 = 24
SM_RESERVED2 = 25
SM_RESERVED3 = 26
SM_RESERVED4 = 27
SM_CXMIN = 28
SM_CYMIN = 29
SM_CXSIZE = 30
SM_CYSIZE = 31
SM_CXFRAME = 32
SM_CYFRAME = 33
SM_CXMINTRACK = 34
SM_CYMINTRACK = 35
SM_CXDOUBLECLK = 36
SM_CYDOUBLECLK = 37
SM_CXICONSPACING = 38
SM_CYICONSPACING = 39
SM_MENUDROPALIGNMENT = 40
SM_PENWINDOWS = 41
SM_DBCSENABLED = 42
SM_CMOUSEBUTTONS = 43
SM_CXFIXEDFRAME = SM_CXDLGFRAME
SM_CYFIXEDFRAME = SM_CYDLGFRAME
SM_CXSIZEFRAME = SM_CXFRAME
SM_CYSIZEFRAME = SM_CYFRAME
SM_SECURE = 44
SM_CXEDGE = 45
SM_CYEDGE = 46
SM_CXMINSPACING = 47
SM_CYMINSPACING = 48
SM_CXSMICON = 49
SM_CYSMICON = 50
SM_CYSMCAPTION = 51
SM_CXSMSIZE = 52
SM_CYSMSIZE = 53
SM_CXMENUSIZE = 54
SM_CYMENUSIZE = 55
SM_ARRANGE = 56
SM_CXMINIMIZED = 57
SM_CYMINIMIZED = 58
SM_CXMAXTRACK = 59
SM_CYMAXTRACK = 60
SM_CXMAXIMIZED = 61
SM_CYMAXIMIZED = 62
SM_NETWORK = 63
SM_CLEANBOOT = 67
SM_CXDRAG = 68
SM_CYDRAG = 69
SM_SHOWSOUNDS = 70
SM_CXMENUCHECK = 71
SM_CYMENUCHECK = 72
SM_SLOWMACHINE = 73
SM_MIDEASTENABLED = 74
SM_MOUSEWHEELPRESENT = 75
SM_XVIRTUALSCREEN = 76
SM_YVIRTUALSCREEN = 77
SM_CXVIRTUALSCREEN = 78
SM_CYVIRTUALSCREEN = 79
SM_CMONITORS = 80
SM_SAMEDISPLAYFORMAT = 81
SM_IMMENABLED = 82
SM_CXFOCUSBORDER = 83
SM_CYFOCUSBORDER = 84
SM_TABLETPC = 86
SM_MEDIACENTER = 87
SM_STARTER = 88
SM_SERVERR2 = 89
SM_CMETRICS = 91
SM_REMOTESESSION = 0x1000
SM_SHUTTINGDOWN = 0x2000
SM_REMOTECONTROL = 0x2001
SM_CARETBLINKINGENABLED = 0x2002
)
const (
CLSCTX_INPROC_SERVER = 1
CLSCTX_INPROC_HANDLER = 2
CLSCTX_LOCAL_SERVER = 4
CLSCTX_INPROC_SERVER16 = 8
CLSCTX_REMOTE_SERVER = 16
CLSCTX_ALL = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER
CLSCTX_INPROC = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER
CLSCTX_SERVER = CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
)
const (
COINIT_APARTMENTTHREADED = 0x2
COINIT_MULTITHREADED = 0x0
COINIT_DISABLE_OLE1DDE = 0x4
COINIT_SPEED_OVER_MEMORY = 0x8
)
const (
DISPATCH_METHOD = 1
DISPATCH_PROPERTYGET = 2
DISPATCH_PROPERTYPUT = 4
DISPATCH_PROPERTYPUTREF = 8
)
const (
CC_FASTCALL = iota
CC_CDECL
CC_MSCPASCAL
CC_PASCAL = CC_MSCPASCAL
CC_MACPASCAL
CC_STDCALL
CC_FPFASTCALL
CC_SYSCALL
CC_MPWCDECL
CC_MPWPASCAL
CC_MAX = CC_MPWPASCAL
)
const (
VT_EMPTY = 0x0
VT_NULL = 0x1
VT_I2 = 0x2
VT_I4 = 0x3
VT_R4 = 0x4
VT_R8 = 0x5
VT_CY = 0x6
VT_DATE = 0x7
VT_BSTR = 0x8
VT_DISPATCH = 0x9
VT_ERROR = 0xa
VT_BOOL = 0xb
VT_VARIANT = 0xc
VT_UNKNOWN = 0xd
VT_DECIMAL = 0xe
VT_I1 = 0x10
VT_UI1 = 0x11
VT_UI2 = 0x12
VT_UI4 = 0x13
VT_I8 = 0x14
VT_UI8 = 0x15
VT_INT = 0x16
VT_UINT = 0x17
VT_VOID = 0x18
VT_HRESULT = 0x19
VT_PTR = 0x1a
VT_SAFEARRAY = 0x1b
VT_CARRAY = 0x1c
VT_USERDEFINED = 0x1d
VT_LPSTR = 0x1e
VT_LPWSTR = 0x1f
VT_RECORD = 0x24
VT_INT_PTR = 0x25
VT_UINT_PTR = 0x26
VT_FILETIME = 0x40
VT_BLOB = 0x41
VT_STREAM = 0x42
VT_STORAGE = 0x43
VT_STREAMED_OBJECT = 0x44
VT_STORED_OBJECT = 0x45
VT_BLOB_OBJECT = 0x46
VT_CF = 0x47
VT_CLSID = 0x48
VT_BSTR_BLOB = 0xfff
VT_VECTOR = 0x1000
VT_ARRAY = 0x2000
VT_BYREF = 0x4000
VT_RESERVED = 0x8000
VT_ILLEGAL = 0xffff
VT_ILLEGALMASKED = 0xfff
VT_TYPEMASK = 0xfff
)
const (
DISPID_UNKNOWN = -1
DISPID_VALUE = 0
DISPID_PROPERTYPUT = -3
DISPID_NEWENUM = -4
DISPID_EVALUATE = -5
DISPID_CONSTRUCTOR = -6
DISPID_DESTRUCTOR = -7
DISPID_COLLECT = -8
)
const (
MONITOR_DEFAULTTONULL = 0x00000000
MONITOR_DEFAULTTOPRIMARY = 0x00000001
MONITOR_DEFAULTTONEAREST = 0x00000002
MONITORINFOF_PRIMARY = 0x00000001
)
const (
CCHDEVICENAME = 32
CCHFORMNAME = 32
)
const (
IDOK = 1
IDCANCEL = 2
IDABORT = 3
IDRETRY = 4
IDIGNORE = 5
IDYES = 6
IDNO = 7
IDCLOSE = 8
IDHELP = 9
IDTRYAGAIN = 10
IDCONTINUE = 11
IDTIMEOUT = 32000
)
// Generic WM_NOTIFY notification codes
const (
NM_FIRST = 0
NM_OUTOFMEMORY = NM_FIRST - 1
NM_CLICK = NM_FIRST - 2
NM_DBLCLK = NM_FIRST - 3
NM_RETURN = NM_FIRST - 4
NM_RCLICK = NM_FIRST - 5
NM_RDBLCLK = NM_FIRST - 6
NM_SETFOCUS = NM_FIRST - 7
NM_KILLFOCUS = NM_FIRST - 8
NM_CUSTOMDRAW = NM_FIRST - 12
NM_HOVER = NM_FIRST - 13
NM_NCHITTEST = NM_FIRST - 14
NM_KEYDOWN = NM_FIRST - 15
NM_RELEASEDCAPTURE = NM_FIRST - 16
NM_SETCURSOR = NM_FIRST - 17
NM_CHAR = NM_FIRST - 18
NM_TOOLTIPSCREATED = NM_FIRST - 19
NM_LAST = NM_FIRST - 99
)
// ListView messages
const (
LVM_FIRST = 0x1000
LVM_GETITEMCOUNT = LVM_FIRST + 4
LVM_SETIMAGELIST = LVM_FIRST + 3
LVM_GETIMAGELIST = LVM_FIRST + 2
LVM_GETITEM = LVM_FIRST + 75
LVM_SETITEM = LVM_FIRST + 76
LVM_INSERTITEM = LVM_FIRST + 77
LVM_DELETEITEM = LVM_FIRST + 8
LVM_DELETEALLITEMS = LVM_FIRST + 9
LVM_GETCALLBACKMASK = LVM_FIRST + 10
LVM_SETCALLBACKMASK = LVM_FIRST + 11
LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
LVM_GETNEXTITEM = LVM_FIRST + 12
LVM_FINDITEM = LVM_FIRST + 83
LVM_GETITEMRECT = LVM_FIRST + 14
LVM_GETSTRINGWIDTH = LVM_FIRST + 87
LVM_HITTEST = LVM_FIRST + 18
LVM_ENSUREVISIBLE = LVM_FIRST + 19
LVM_SCROLL = LVM_FIRST + 20
LVM_REDRAWITEMS = LVM_FIRST + 21
LVM_ARRANGE = LVM_FIRST + 22
LVM_EDITLABEL = LVM_FIRST + 118
LVM_GETEDITCONTROL = LVM_FIRST + 24
LVM_GETCOLUMN = LVM_FIRST + 95
LVM_SETCOLUMN = LVM_FIRST + 96
LVM_INSERTCOLUMN = LVM_FIRST + 97
LVM_DELETECOLUMN = LVM_FIRST + 28
LVM_GETCOLUMNWIDTH = LVM_FIRST + 29
LVM_SETCOLUMNWIDTH = LVM_FIRST + 30
LVM_GETHEADER = LVM_FIRST + 31
LVM_CREATEDRAGIMAGE = LVM_FIRST + 33
LVM_GETVIEWRECT = LVM_FIRST + 34
LVM_GETTEXTCOLOR = LVM_FIRST + 35
LVM_SETTEXTCOLOR = LVM_FIRST + 36
LVM_GETTEXTBKCOLOR = LVM_FIRST + 37
LVM_SETTEXTBKCOLOR = LVM_FIRST + 38
LVM_GETTOPINDEX = LVM_FIRST + 39
LVM_GETCOUNTPERPAGE = LVM_FIRST + 40
LVM_GETORIGIN = LVM_FIRST + 41
LVM_UPDATE = LVM_FIRST + 42
LVM_SETITEMSTATE = LVM_FIRST + 43
LVM_GETITEMSTATE = LVM_FIRST + 44
LVM_GETITEMTEXT = LVM_FIRST + 115
LVM_SETITEMTEXT = LVM_FIRST + 116
LVM_SETITEMCOUNT = LVM_FIRST + 47
LVM_SORTITEMS = LVM_FIRST + 48
LVM_SETITEMPOSITION32 = LVM_FIRST + 49
LVM_GETSELECTEDCOUNT = LVM_FIRST + 50
LVM_GETITEMSPACING = LVM_FIRST + 51
LVM_GETISEARCHSTRING = LVM_FIRST + 117
LVM_SETICONSPACING = LVM_FIRST + 53
LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54
LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55
LVM_GETSUBITEMRECT = LVM_FIRST + 56
LVM_SUBITEMHITTEST = LVM_FIRST + 57
LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58
LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59
LVM_SETHOTITEM = LVM_FIRST + 60
LVM_GETHOTITEM = LVM_FIRST + 61
LVM_SETHOTCURSOR = LVM_FIRST + 62
LVM_GETHOTCURSOR = LVM_FIRST + 63
LVM_APPROXIMATEVIEWRECT = LVM_FIRST + 64
LVM_SETWORKAREAS = LVM_FIRST + 65
LVM_GETWORKAREAS = LVM_FIRST + 70
LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73
LVM_GETSELECTIONMARK = LVM_FIRST + 66
LVM_SETSELECTIONMARK = LVM_FIRST + 67
LVM_SETHOVERTIME = LVM_FIRST + 71
LVM_GETHOVERTIME = LVM_FIRST + 72
LVM_SETTOOLTIPS = LVM_FIRST + 74
LVM_GETTOOLTIPS = LVM_FIRST + 78
LVM_SORTITEMSEX = LVM_FIRST + 81
LVM_SETBKIMAGE = LVM_FIRST + 138
LVM_GETBKIMAGE = LVM_FIRST + 139
LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140
LVM_SETVIEW = LVM_FIRST + 142
LVM_GETVIEW = LVM_FIRST + 143
LVM_INSERTGROUP = LVM_FIRST + 145
LVM_SETGROUPINFO = LVM_FIRST + 147
LVM_GETGROUPINFO = LVM_FIRST + 149
LVM_REMOVEGROUP = LVM_FIRST + 150
LVM_MOVEGROUP = LVM_FIRST + 151
LVM_GETGROUPCOUNT = LVM_FIRST + 152
LVM_GETGROUPINFOBYINDEX = LVM_FIRST + 153
LVM_MOVEITEMTOGROUP = LVM_FIRST + 154
LVM_GETGROUPRECT = LVM_FIRST + 98
LVM_SETGROUPMETRICS = LVM_FIRST + 155
LVM_GETGROUPMETRICS = LVM_FIRST + 156
LVM_ENABLEGROUPVIEW = LVM_FIRST + 157
LVM_SORTGROUPS = LVM_FIRST + 158
LVM_INSERTGROUPSORTED = LVM_FIRST + 159
LVM_REMOVEALLGROUPS = LVM_FIRST + 160
LVM_HASGROUP = LVM_FIRST + 161
LVM_GETGROUPSTATE = LVM_FIRST + 92
LVM_GETFOCUSEDGROUP = LVM_FIRST + 93
LVM_SETTILEVIEWINFO = LVM_FIRST + 162
LVM_GETTILEVIEWINFO = LVM_FIRST + 163
LVM_SETTILEINFO = LVM_FIRST + 164
LVM_GETTILEINFO = LVM_FIRST + 165
LVM_SETINSERTMARK = LVM_FIRST + 166
LVM_GETINSERTMARK = LVM_FIRST + 167
LVM_INSERTMARKHITTEST = LVM_FIRST + 168
LVM_GETINSERTMARKRECT = LVM_FIRST + 169
LVM_SETINSERTMARKCOLOR = LVM_FIRST + 170
LVM_GETINSERTMARKCOLOR = LVM_FIRST + 171
LVM_SETINFOTIP = LVM_FIRST + 173
LVM_GETSELECTEDCOLUMN = LVM_FIRST + 174
LVM_ISGROUPVIEWENABLED = LVM_FIRST + 175
LVM_GETOUTLINECOLOR = LVM_FIRST + 176
LVM_SETOUTLINECOLOR = LVM_FIRST + 177
LVM_CANCELEDITLABEL = LVM_FIRST + 179
LVM_MAPINDEXTOID = LVM_FIRST + 180
LVM_MAPIDTOINDEX = LVM_FIRST + 181
LVM_ISITEMVISIBLE = LVM_FIRST + 182
LVM_GETNEXTITEMINDEX = LVM_FIRST + 211
)
// ListView notifications
const (
LVN_FIRST = -100
LVN_ITEMCHANGING = LVN_FIRST - 0
LVN_ITEMCHANGED = LVN_FIRST - 1
LVN_INSERTITEM = LVN_FIRST - 2
LVN_DELETEITEM = LVN_FIRST - 3
LVN_DELETEALLITEMS = LVN_FIRST - 4
LVN_BEGINLABELEDITA = LVN_FIRST - 5
LVN_BEGINLABELEDITW = LVN_FIRST - 75
LVN_ENDLABELEDITA = LVN_FIRST - 6
LVN_ENDLABELEDITW = LVN_FIRST - 76
LVN_COLUMNCLICK = LVN_FIRST - 8
LVN_BEGINDRAG = LVN_FIRST - 9
LVN_BEGINRDRAG = LVN_FIRST - 11
LVN_ODCACHEHINT = LVN_FIRST - 13
LVN_ODFINDITEMA = LVN_FIRST - 52
LVN_ODFINDITEMW = LVN_FIRST - 79
LVN_ITEMACTIVATE = LVN_FIRST - 14
LVN_ODSTATECHANGED = LVN_FIRST - 15
LVN_HOTTRACK = LVN_FIRST - 21
LVN_GETDISPINFO = LVN_FIRST - 77
LVN_SETDISPINFO = LVN_FIRST - 78
LVN_KEYDOWN = LVN_FIRST - 55
LVN_MARQUEEBEGIN = LVN_FIRST - 56
LVN_GETINFOTIP = LVN_FIRST - 58
LVN_INCREMENTALSEARCH = LVN_FIRST - 63
LVN_BEGINSCROLL = LVN_FIRST - 80
LVN_ENDSCROLL = LVN_FIRST - 81
)
// ListView LVNI constants
const (
LVNI_ALL = 0
LVNI_FOCUSED = 1
LVNI_SELECTED = 2
LVNI_CUT = 4
LVNI_DROPHILITED = 8
LVNI_ABOVE = 256
LVNI_BELOW = 512
LVNI_TOLEFT = 1024
LVNI_TORIGHT = 2048
)
// ListView styles
const (
LVS_ICON = 0x0000
LVS_REPORT = 0x0001
LVS_SMALLICON = 0x0002
LVS_LIST = 0x0003
LVS_TYPEMASK = 0x0003
LVS_SINGLESEL = 0x0004
LVS_SHOWSELALWAYS = 0x0008
LVS_SORTASCENDING = 0x0010
LVS_SORTDESCENDING = 0x0020
LVS_SHAREIMAGELISTS = 0x0040
LVS_NOLABELWRAP = 0x0080
LVS_AUTOARRANGE = 0x0100
LVS_EDITLABELS = 0x0200
LVS_OWNERDATA = 0x1000
LVS_NOSCROLL = 0x2000
LVS_TYPESTYLEMASK = 0xfc00
LVS_ALIGNTOP = 0x0000
LVS_ALIGNLEFT = 0x0800
LVS_ALIGNMASK = 0x0c00
LVS_OWNERDRAWFIXED = 0x0400
LVS_NOCOLUMNHEADER = 0x4000
LVS_NOSORTHEADER = 0x8000
)
// ListView extended styles
const (
LVS_EX_GRIDLINES = 0x00000001
LVS_EX_SUBITEMIMAGES = 0x00000002
LVS_EX_CHECKBOXES = 0x00000004
LVS_EX_TRACKSELECT = 0x00000008
LVS_EX_HEADERDRAGDROP = 0x00000010
LVS_EX_FULLROWSELECT = 0x00000020
LVS_EX_ONECLICKACTIVATE = 0x00000040
LVS_EX_TWOCLICKACTIVATE = 0x00000080
LVS_EX_FLATSB = 0x00000100
LVS_EX_REGIONAL = 0x00000200
LVS_EX_INFOTIP = 0x00000400
LVS_EX_UNDERLINEHOT = 0x00000800
LVS_EX_UNDERLINECOLD = 0x00001000
LVS_EX_MULTIWORKAREAS = 0x00002000
LVS_EX_LABELTIP = 0x00004000
LVS_EX_BORDERSELECT = 0x00008000
LVS_EX_DOUBLEBUFFER = 0x00010000
LVS_EX_HIDELABELS = 0x00020000
LVS_EX_SINGLEROW = 0x00040000
LVS_EX_SNAPTOGRID = 0x00080000
LVS_EX_SIMPLESELECT = 0x00100000
)
// ListView column flags
const (
LVCF_FMT = 0x0001
LVCF_WIDTH = 0x0002
LVCF_TEXT = 0x0004
LVCF_SUBITEM = 0x0008
LVCF_IMAGE = 0x0010
LVCF_ORDER = 0x0020
)
// ListView column format constants
const (
LVCFMT_LEFT = 0x0000
LVCFMT_RIGHT = 0x0001
LVCFMT_CENTER = 0x0002
LVCFMT_JUSTIFYMASK = 0x0003
LVCFMT_IMAGE = 0x0800
LVCFMT_BITMAP_ON_RIGHT = 0x1000
LVCFMT_COL_HAS_IMAGES = 0x8000
)
// ListView item flags
const (
LVIF_TEXT = 0x00000001
LVIF_IMAGE = 0x00000002
LVIF_PARAM = 0x00000004
LVIF_STATE = 0x00000008
LVIF_INDENT = 0x00000010
LVIF_NORECOMPUTE = 0x00000800
LVIF_GROUPID = 0x00000100
LVIF_COLUMNS = 0x00000200
)
// ListView item states
const (
LVIS_FOCUSED = 1
LVIS_SELECTED = 2
LVIS_CUT = 4
LVIS_DROPHILITED = 8
LVIS_OVERLAYMASK = 0xF00
LVIS_STATEIMAGEMASK = 0xF000
)
// ListView hit test constants
const (
LVHT_NOWHERE = 0x00000001
LVHT_ONITEMICON = 0x00000002
LVHT_ONITEMLABEL = 0x00000004
LVHT_ONITEMSTATEICON = 0x00000008
LVHT_ONITEM = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON
LVHT_ABOVE = 0x00000008
LVHT_BELOW = 0x00000010
LVHT_TORIGHT = 0x00000020
LVHT_TOLEFT = 0x00000040
)
// ListView image list types
const (
LVSIL_NORMAL = 0
LVSIL_SMALL = 1
LVSIL_STATE = 2
LVSIL_GROUPHEADER = 3
)
// InitCommonControlsEx flags
const (
ICC_LISTVIEW_CLASSES = 1
ICC_TREEVIEW_CLASSES = 2
ICC_BAR_CLASSES = 4
ICC_TAB_CLASSES = 8
ICC_UPDOWN_CLASS = 16
ICC_PROGRESS_CLASS = 32
ICC_HOTKEY_CLASS = 64
ICC_ANIMATE_CLASS = 128
ICC_WIN95_CLASSES = 255
ICC_DATE_CLASSES = 256
ICC_USEREX_CLASSES = 512
ICC_COOL_CLASSES = 1024
ICC_INTERNET_CLASSES = 2048
ICC_PAGESCROLLER_CLASS = 4096
ICC_NATIVEFNTCTL_CLASS = 8192
INFOTIPSIZE = 1024
ICC_STANDARD_CLASSES = 0x00004000
ICC_LINK_CLASS = 0x00008000
)
// Dialog Codes
const (
DLGC_WANTARROWS = 0x0001
DLGC_WANTTAB = 0x0002
DLGC_WANTALLKEYS = 0x0004
DLGC_WANTMESSAGE = 0x0004
DLGC_HASSETSEL = 0x0008
DLGC_DEFPUSHBUTTON = 0x0010
DLGC_UNDEFPUSHBUTTON = 0x0020
DLGC_RADIOBUTTON = 0x0040
DLGC_WANTCHARS = 0x0080
DLGC_STATIC = 0x0100
DLGC_BUTTON = 0x2000
)
// Get/SetWindowWord/Long offsets for use with WC_DIALOG windows
const (
DWL_MSGRESULT = 0
DWL_DLGPROC = 4
DWL_USER = 8
)
// PeekMessage wRemoveMsg value
const (
PM_NOREMOVE = 0x000
PM_REMOVE = 0x001
PM_NOYIELD = 0x002
)
// ImageList flags
const (
ILC_MASK = 0x00000001
ILC_COLOR = 0x00000000
ILC_COLORDDB = 0x000000FE
ILC_COLOR4 = 0x00000004
ILC_COLOR8 = 0x00000008
ILC_COLOR16 = 0x00000010
ILC_COLOR24 = 0x00000018
ILC_COLOR32 = 0x00000020
ILC_PALETTE = 0x00000800
ILC_MIRROR = 0x00002000
ILC_PERITEMMIRROR = 0x00008000
ILC_ORIGINALSIZE = 0x00010000
ILC_HIGHQUALITYSCALE = 0x00020000
)
// Keystroke Message Flags
const (
KF_EXTENDED = 0x0100
KF_DLGMODE = 0x0800
KF_MENUMODE = 0x1000
KF_ALTDOWN = 0x2000
KF_REPEAT = 0x4000
KF_UP = 0x8000
)
// Virtual-Key Codes
const (
VK_LBUTTON = 0x01
VK_RBUTTON = 0x02
VK_CANCEL = 0x03
VK_MBUTTON = 0x04
VK_XBUTTON1 = 0x05
VK_XBUTTON2 = 0x06
VK_BACK = 0x08
VK_TAB = 0x09
VK_CLEAR = 0x0C
VK_RETURN = 0x0D
VK_SHIFT = 0x10
VK_CONTROL = 0x11
VK_MENU = 0x12
VK_PAUSE = 0x13
VK_CAPITAL = 0x14
VK_KANA = 0x15
VK_HANGEUL = 0x15
VK_HANGUL = 0x15
VK_JUNJA = 0x17
VK_FINAL = 0x18
VK_HANJA = 0x19
VK_KANJI = 0x19
VK_ESCAPE = 0x1B
VK_CONVERT = 0x1C
VK_NONCONVERT = 0x1D
VK_ACCEPT = 0x1E
VK_MODECHANGE = 0x1F
VK_SPACE = 0x20
VK_PRIOR = 0x21
VK_NEXT = 0x22
VK_END = 0x23
VK_HOME = 0x24
VK_LEFT = 0x25
VK_UP = 0x26
VK_RIGHT = 0x27
VK_DOWN = 0x28
VK_SELECT = 0x29
VK_PRINT = 0x2A
VK_EXECUTE = 0x2B
VK_SNAPSHOT = 0x2C
VK_INSERT = 0x2D
VK_DELETE = 0x2E
VK_HELP = 0x2F
VK_LWIN = 0x5B
VK_RWIN = 0x5C
VK_APPS = 0x5D
VK_SLEEP = 0x5F
VK_NUMPAD0 = 0x60
VK_NUMPAD1 = 0x61
VK_NUMPAD2 = 0x62
VK_NUMPAD3 = 0x63
VK_NUMPAD4 = 0x64
VK_NUMPAD5 = 0x65
VK_NUMPAD6 = 0x66
VK_NUMPAD7 = 0x67
VK_NUMPAD8 = 0x68
VK_NUMPAD9 = 0x69
VK_MULTIPLY = 0x6A
VK_ADD = 0x6B
VK_SEPARATOR = 0x6C
VK_SUBTRACT = 0x6D
VK_DECIMAL = 0x6E
VK_DIVIDE = 0x6F
VK_F1 = 0x70
VK_F2 = 0x71
VK_F3 = 0x72
VK_F4 = 0x73
VK_F5 = 0x74
VK_F6 = 0x75
VK_F7 = 0x76
VK_F8 = 0x77
VK_F9 = 0x78
VK_F10 = 0x79
VK_F11 = 0x7A
VK_F12 = 0x7B
VK_F13 = 0x7C
VK_F14 = 0x7D
VK_F15 = 0x7E
VK_F16 = 0x7F
VK_F17 = 0x80
VK_F18 = 0x81
VK_F19 = 0x82
VK_F20 = 0x83
VK_F21 = 0x84
VK_F22 = 0x85
VK_F23 = 0x86
VK_F24 = 0x87
VK_NUMLOCK = 0x90
VK_SCROLL = 0x91
VK_OEM_NEC_EQUAL = 0x92
VK_OEM_FJ_JISHO = 0x92
VK_OEM_FJ_MASSHOU = 0x93
VK_OEM_FJ_TOUROKU = 0x94
VK_OEM_FJ_LOYA = 0x95
VK_OEM_FJ_ROYA = 0x96
VK_LSHIFT = 0xA0
VK_RSHIFT = 0xA1
VK_LCONTROL = 0xA2
VK_RCONTROL = 0xA3
VK_LMENU = 0xA4
VK_RMENU = 0xA5
VK_BROWSER_BACK = 0xA6
VK_BROWSER_FORWARD = 0xA7
VK_BROWSER_REFRESH = 0xA8
VK_BROWSER_STOP = 0xA9
VK_BROWSER_SEARCH = 0xAA
VK_BROWSER_FAVORITES = 0xAB
VK_BROWSER_HOME = 0xAC
VK_VOLUME_MUTE = 0xAD
VK_VOLUME_DOWN = 0xAE
VK_VOLUME_UP = 0xAF
VK_MEDIA_NEXT_TRACK = 0xB0
VK_MEDIA_PREV_TRACK = 0xB1
VK_MEDIA_STOP = 0xB2
VK_MEDIA_PLAY_PAUSE = 0xB3
VK_LAUNCH_MAIL = 0xB4
VK_LAUNCH_MEDIA_SELECT = 0xB5
VK_LAUNCH_APP1 = 0xB6
VK_LAUNCH_APP2 = 0xB7
VK_OEM_1 = 0xBA
VK_OEM_PLUS = 0xBB
VK_OEM_COMMA = 0xBC
VK_OEM_MINUS = 0xBD
VK_OEM_PERIOD = 0xBE
VK_OEM_2 = 0xBF
VK_OEM_3 = 0xC0
VK_OEM_4 = 0xDB
VK_OEM_5 = 0xDC
VK_OEM_6 = 0xDD
VK_OEM_7 = 0xDE
VK_OEM_8 = 0xDF
VK_OEM_AX = 0xE1
VK_OEM_102 = 0xE2
VK_ICO_HELP = 0xE3
VK_ICO_00 = 0xE4
VK_PROCESSKEY = 0xE5
VK_ICO_CLEAR = 0xE6
VK_PACKET = 0xE7
VK_OEM_RESET = 0xE9
VK_OEM_JUMP = 0xEA
VK_OEM_PA1 = 0xEB
VK_OEM_PA2 = 0xEC
VK_OEM_PA3 = 0xED
VK_OEM_WSCTRL = 0xEE
VK_OEM_CUSEL = 0xEF
VK_OEM_ATTN = 0xF0
VK_OEM_FINISH = 0xF1
VK_OEM_COPY = 0xF2
VK_OEM_AUTO = 0xF3
VK_OEM_ENLW = 0xF4
VK_OEM_BACKTAB = 0xF5
VK_ATTN = 0xF6
VK_CRSEL = 0xF7
VK_EXSEL = 0xF8
VK_EREOF = 0xF9
VK_PLAY = 0xFA
VK_ZOOM = 0xFB
VK_NONAME = 0xFC
VK_PA1 = 0xFD
VK_OEM_CLEAR = 0xFE
)
// Registry Value Types
const (
REG_NONE = 0
REG_SZ = 1
REG_EXPAND_SZ = 2
REG_BINARY = 3
REG_DWORD = 4
REG_DWORD_LITTLE_ENDIAN = 4
REG_DWORD_BIG_ENDIAN = 5
REG_LINK = 6
REG_MULTI_SZ = 7
REG_RESOURCE_LIST = 8
REG_FULL_RESOURCE_DESCRIPTOR = 9
REG_RESOURCE_REQUIREMENTS_LIST = 10
REG_QWORD = 11
REG_QWORD_LITTLE_ENDIAN = 11
)
// Tooltip styles
const (
TTS_ALWAYSTIP = 0x01
TTS_NOPREFIX = 0x02
TTS_NOANIMATE = 0x10
TTS_NOFADE = 0x20
TTS_BALLOON = 0x40
TTS_CLOSE = 0x80
TTS_USEVISUALSTYLE = 0x100
)
// Tooltip messages
const (
TTM_ACTIVATE = (WM_USER + 1)
TTM_SETDELAYTIME = (WM_USER + 3)
TTM_ADDTOOL = (WM_USER + 50)
TTM_DELTOOL = (WM_USER + 51)
TTM_NEWTOOLRECT = (WM_USER + 52)
TTM_RELAYEVENT = (WM_USER + 7)
TTM_GETTOOLINFO = (WM_USER + 53)
TTM_SETTOOLINFO = (WM_USER + 54)
TTM_HITTEST = (WM_USER + 55)
TTM_GETTEXT = (WM_USER + 56)
TTM_UPDATETIPTEXT = (WM_USER + 57)
TTM_GETTOOLCOUNT = (WM_USER + 13)
TTM_ENUMTOOLS = (WM_USER + 58)
TTM_GETCURRENTTOOL = (WM_USER + 59)
TTM_WINDOWFROMPOINT = (WM_USER + 16)
TTM_TRACKACTIVATE = (WM_USER + 17)
TTM_TRACKPOSITION = (WM_USER + 18)
TTM_SETTIPBKCOLOR = (WM_USER + 19)
TTM_SETTIPTEXTCOLOR = (WM_USER + 20)
TTM_GETDELAYTIME = (WM_USER + 21)
TTM_GETTIPBKCOLOR = (WM_USER + 22)
TTM_GETTIPTEXTCOLOR = (WM_USER + 23)
TTM_SETMAXTIPWIDTH = (WM_USER + 24)
TTM_GETMAXTIPWIDTH = (WM_USER + 25)
TTM_SETMARGIN = (WM_USER + 26)
TTM_GETMARGIN = (WM_USER + 27)
TTM_POP = (WM_USER + 28)
TTM_UPDATE = (WM_USER + 29)
TTM_GETBUBBLESIZE = (WM_USER + 30)
TTM_ADJUSTRECT = (WM_USER + 31)
TTM_SETTITLE = (WM_USER + 33)
TTM_POPUP = (WM_USER + 34)
TTM_GETTITLE = (WM_USER + 35)
)
// Tooltip icons
const (
TTI_NONE = 0
TTI_INFO = 1
TTI_WARNING = 2
TTI_ERROR = 3
TTI_INFO_LARGE = 4
TTI_WARNING_LARGE = 5
TTI_ERROR_LARGE = 6
)
// Tooltip notifications
const (
TTN_FIRST = -520
TTN_LAST = -549
TTN_GETDISPINFO = (TTN_FIRST - 10)
TTN_SHOW = (TTN_FIRST - 1)
TTN_POP = (TTN_FIRST - 2)
TTN_LINKCLICK = (TTN_FIRST - 3)
TTN_NEEDTEXT = TTN_GETDISPINFO
)
const (
TTF_IDISHWND = 0x0001
TTF_CENTERTIP = 0x0002
TTF_RTLREADING = 0x0004
TTF_SUBCLASS = 0x0010
TTF_TRACK = 0x0020
TTF_ABSOLUTE = 0x0080
TTF_TRANSPARENT = 0x0100
TTF_PARSELINKS = 0x1000
TTF_DI_SETITEM = 0x8000
)
const (
SWP_NOSIZE = 0x0001
SWP_NOMOVE = 0x0002
SWP_NOZORDER = 0x0004
SWP_NOREDRAW = 0x0008
SWP_NOACTIVATE = 0x0010
SWP_FRAMECHANGED = 0x0020
SWP_SHOWWINDOW = 0x0040
SWP_HIDEWINDOW = 0x0080
SWP_NOCOPYBITS = 0x0100
SWP_NOOWNERZORDER = 0x0200
SWP_NOSENDCHANGING = 0x0400
SWP_DRAWFRAME = SWP_FRAMECHANGED
SWP_NOREPOSITION = SWP_NOOWNERZORDER
SWP_DEFERERASE = 0x2000
SWP_ASYNCWINDOWPOS = 0x4000
)
// Predefined window handles
const (
HWND_BROADCAST = HWND(0xFFFF)
HWND_BOTTOM = HWND(1)
HWND_NOTOPMOST = ^HWND(1) // -2
HWND_TOP = HWND(0)
HWND_TOPMOST = ^HWND(0) // -1
HWND_DESKTOP = HWND(0)
HWND_MESSAGE = ^HWND(2) // -3
)
// Pen types
const (
PS_COSMETIC = 0x00000000
PS_GEOMETRIC = 0x00010000
PS_TYPE_MASK = 0x000F0000
)
// Pen styles
const (
PS_SOLID = 0
PS_DASH = 1
PS_DOT = 2
PS_DASHDOT = 3
PS_DASHDOTDOT = 4
PS_NULL = 5
PS_INSIDEFRAME = 6
PS_USERSTYLE = 7
PS_ALTERNATE = 8
PS_STYLE_MASK = 0x0000000F
)
// Pen cap types
const (
PS_ENDCAP_ROUND = 0x00000000
PS_ENDCAP_SQUARE = 0x00000100
PS_ENDCAP_FLAT = 0x00000200
PS_ENDCAP_MASK = 0x00000F00
)
// Pen join types
const (
PS_JOIN_ROUND = 0x00000000
PS_JOIN_BEVEL = 0x00001000
PS_JOIN_MITER = 0x00002000
PS_JOIN_MASK = 0x0000F000
)
// Hatch styles
const (
HS_HORIZONTAL = 0
HS_VERTICAL = 1
HS_FDIAGONAL = 2
HS_BDIAGONAL = 3
HS_CROSS = 4
HS_DIAGCROSS = 5
)
// Stock Logical Objects
const (
WHITE_BRUSH = 0
LTGRAY_BRUSH = 1
GRAY_BRUSH = 2
DKGRAY_BRUSH = 3
BLACK_BRUSH = 4
NULL_BRUSH = 5
HOLLOW_BRUSH = NULL_BRUSH
WHITE_PEN = 6
BLACK_PEN = 7
NULL_PEN = 8
OEM_FIXED_FONT = 10
ANSI_FIXED_FONT = 11
ANSI_VAR_FONT = 12
SYSTEM_FONT = 13
DEVICE_DEFAULT_FONT = 14
DEFAULT_PALETTE = 15
SYSTEM_FIXED_FONT = 16
DEFAULT_GUI_FONT = 17
DC_BRUSH = 18
DC_PEN = 19
)
// Brush styles
const (
BS_SOLID = 0
BS_NULL = 1
BS_HOLLOW = BS_NULL
BS_HATCHED = 2
BS_PATTERN = 3
BS_INDEXED = 4
BS_DIBPATTERN = 5
BS_DIBPATTERNPT = 6
BS_PATTERN8X8 = 7
BS_DIBPATTERN8X8 = 8
BS_MONOPATTERN = 9
)
// TRACKMOUSEEVENT flags
const (
TME_HOVER = 0x00000001
TME_LEAVE = 0x00000002
TME_NONCLIENT = 0x00000010
TME_QUERY = 0x40000000
TME_CANCEL = 0x80000000
HOVER_DEFAULT = 0xFFFFFFFF
)
// WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes
const (
HTERROR = (-2)
HTTRANSPARENT = (-1)
HTNOWHERE = 0
HTCLIENT = 1
HTCAPTION = 2
HTSYSMENU = 3
HTGROWBOX = 4
HTSIZE = HTGROWBOX
HTMENU = 5
HTHSCROLL = 6
HTVSCROLL = 7
HTMINBUTTON = 8
HTMAXBUTTON = 9
HTLEFT = 10
HTRIGHT = 11
HTTOP = 12
HTTOPLEFT = 13
HTTOPRIGHT = 14
HTBOTTOM = 15
HTBOTTOMLEFT = 16
HTBOTTOMRIGHT = 17
HTBORDER = 18
HTREDUCE = HTMINBUTTON
HTZOOM = HTMAXBUTTON
HTSIZEFIRST = HTLEFT
HTSIZELAST = HTBOTTOMRIGHT
HTOBJECT = 19
HTCLOSE = 20
HTHELP = 21
)
// DrawText[Ex] format flags
const (
DT_TOP = 0x00000000
DT_LEFT = 0x00000000
DT_CENTER = 0x00000001
DT_RIGHT = 0x00000002
DT_VCENTER = 0x00000004
DT_BOTTOM = 0x00000008
DT_WORDBREAK = 0x00000010
DT_SINGLELINE = 0x00000020
DT_EXPANDTABS = 0x00000040
DT_TABSTOP = 0x00000080
DT_NOCLIP = 0x00000100
DT_EXTERNALLEADING = 0x00000200
DT_CALCRECT = 0x00000400
DT_NOPREFIX = 0x00000800
DT_INTERNAL = 0x00001000
DT_EDITCONTROL = 0x00002000
DT_PATH_ELLIPSIS = 0x00004000
DT_END_ELLIPSIS = 0x00008000
DT_MODIFYSTRING = 0x00010000
DT_RTLREADING = 0x00020000
DT_WORD_ELLIPSIS = 0x00040000
DT_NOFULLWIDTHCHARBREAK = 0x00080000
DT_HIDEPREFIX = 0x00100000
DT_PREFIXONLY = 0x00200000
)
const CLR_INVALID = 0xFFFFFFFF
// Background Modes
const (
TRANSPARENT = 1
OPAQUE = 2
BKMODE_LAST = 2
)
// Global Memory Flags
const (
GMEM_FIXED = 0x0000
GMEM_MOVEABLE = 0x0002
GMEM_NOCOMPACT = 0x0010
GMEM_NODISCARD = 0x0020
GMEM_ZEROINIT = 0x0040
GMEM_MODIFY = 0x0080
GMEM_DISCARDABLE = 0x0100
GMEM_NOT_BANKED = 0x1000
GMEM_SHARE = 0x2000
GMEM_DDESHARE = 0x2000
GMEM_NOTIFY = 0x4000
GMEM_LOWER = GMEM_NOT_BANKED
GMEM_VALID_FLAGS = 0x7F72
GMEM_INVALID_HANDLE = 0x8000
GHND = (GMEM_MOVEABLE | GMEM_ZEROINIT)
GPTR = (GMEM_FIXED | GMEM_ZEROINIT)
)
// Ternary raster operations
const (
SRCCOPY = 0x00CC0020
SRCPAINT = 0x00EE0086
SRCAND = 0x008800C6
SRCINVERT = 0x00660046
SRCERASE = 0x00440328
NOTSRCCOPY = 0x00330008
NOTSRCERASE = 0x001100A6
MERGECOPY = 0x00C000CA
MERGEPAINT = 0x00BB0226
PATCOPY = 0x00F00021
PATPAINT = 0x00FB0A09
PATINVERT = 0x005A0049
DSTINVERT = 0x00550009
BLACKNESS = 0x00000042
WHITENESS = 0x00FF0062
NOMIRRORBITMAP = 0x80000000
CAPTUREBLT = 0x40000000
)
// Clipboard formats
const (
CF_TEXT = 1
CF_BITMAP = 2
CF_METAFILEPICT = 3
CF_SYLK = 4
CF_DIF = 5
CF_TIFF = 6
CF_OEMTEXT = 7
CF_DIB = 8
CF_PALETTE = 9
CF_PENDATA = 10
CF_RIFF = 11
CF_WAVE = 12
CF_UNICODETEXT = 13
CF_ENHMETAFILE = 14
CF_HDROP = 15
CF_LOCALE = 16
CF_DIBV5 = 17
CF_MAX = 18
CF_OWNERDISPLAY = 0x0080
CF_DSPTEXT = 0x0081
CF_DSPBITMAP = 0x0082
CF_DSPMETAFILEPICT = 0x0083
CF_DSPENHMETAFILE = 0x008E
CF_PRIVATEFIRST = 0x0200
CF_PRIVATELAST = 0x02FF
CF_GDIOBJFIRST = 0x0300
CF_GDIOBJLAST = 0x03FF
)
// Bitmap compression formats
const (
BI_RGB = 0
BI_RLE8 = 1
BI_RLE4 = 2
BI_BITFIELDS = 3
BI_JPEG = 4
BI_PNG = 5
)
// SetDIBitsToDevice fuColorUse
const (
DIB_PAL_COLORS = 1
DIB_RGB_COLORS = 0
)
const (
STANDARD_RIGHTS_REQUIRED = 0x000F
)
// MapVirtualKey maptypes
const (
MAPVK_VK_TO_CHAR = 2
MAPVK_VK_TO_VSC = 0
MAPVK_VSC_TO_VK = 1
MAPVK_VSC_TO_VK_EX = 3
)
// ReadEventLog Flags
const (
EVENTLOG_SEEK_READ = 0x0002
EVENTLOG_SEQUENTIAL_READ = 0x0001
EVENTLOG_FORWARDS_READ = 0x0004
EVENTLOG_BACKWARDS_READ = 0x0008
)
// CreateToolhelp32Snapshot flags
const (
TH32CS_SNAPHEAPLIST = 0x00000001
TH32CS_SNAPPROCESS = 0x00000002
TH32CS_SNAPTHREAD = 0x00000004
TH32CS_SNAPMODULE = 0x00000008
TH32CS_SNAPMODULE32 = 0x00000010
TH32CS_INHERIT = 0x80000000
TH32CS_SNAPALL = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD
)
const (
MAX_MODULE_NAME32 = 255
MAX_PATH = 260
)
const (
FOREGROUND_BLUE = 0x0001
FOREGROUND_GREEN = 0x0002
FOREGROUND_RED = 0x0004
FOREGROUND_INTENSITY = 0x0008
BACKGROUND_BLUE = 0x0010
BACKGROUND_GREEN = 0x0020
BACKGROUND_RED = 0x0040
BACKGROUND_INTENSITY = 0x0080
COMMON_LVB_LEADING_BYTE = 0x0100
COMMON_LVB_TRAILING_BYTE = 0x0200
COMMON_LVB_GRID_HORIZONTAL = 0x0400
COMMON_LVB_GRID_LVERTICAL = 0x0800
COMMON_LVB_GRID_RVERTICAL = 0x1000
COMMON_LVB_REVERSE_VIDEO = 0x4000
COMMON_LVB_UNDERSCORE = 0x8000
)
// Flags used by the DWM_BLURBEHIND structure to indicate
// which of its members contain valid information.
const (
DWM_BB_ENABLE = 0x00000001 // A value for the fEnable member has been specified.
DWM_BB_BLURREGION = 0x00000002 // A value for the hRgnBlur member has been specified.
DWM_BB_TRANSITIONONMAXIMIZED = 0x00000004 // A value for the fTransitionOnMaximized member has been specified.
)
// Flags used by the DwmEnableComposition function
// to change the state of Desktop Window Manager (DWM) composition.
const (
DWM_EC_DISABLECOMPOSITION = 0 // Disable composition
DWM_EC_ENABLECOMPOSITION = 1 // Enable composition
)
// enum-lite implementation for the following constant structure
type DWM_SHOWCONTACT int32
const (
DWMSC_DOWN = 0x00000001
DWMSC_UP = 0x00000002
DWMSC_DRAG = 0x00000004
DWMSC_HOLD = 0x00000008
DWMSC_PENBARREL = 0x00000010
DWMSC_NONE = 0x00000000
DWMSC_ALL = 0xFFFFFFFF
)
// enum-lite implementation for the following constant structure
type DWM_SOURCE_FRAME_SAMPLING int32
// TODO: need to verify this construction
// Flags used by the DwmSetPresentParameters function
// to specify the frame sampling type
const (
DWM_SOURCE_FRAME_SAMPLING_POINT = iota + 1
DWM_SOURCE_FRAME_SAMPLING_COVERAGE
DWM_SOURCE_FRAME_SAMPLING_LAST
)
// Flags used by the DWM_THUMBNAIL_PROPERTIES structure to
// indicate which of its members contain valid information.
const (
DWM_TNP_RECTDESTINATION = 0x00000001 // A value for the rcDestination member has been specified
DWM_TNP_RECTSOURCE = 0x00000002 // A value for the rcSource member has been specified
DWM_TNP_OPACITY = 0x00000004 // A value for the opacity member has been specified
DWM_TNP_VISIBLE = 0x00000008 // A value for the fVisible member has been specified
DWM_TNP_SOURCECLIENTAREAONLY = 0x00000010 // A value for the fSourceClientAreaOnly member has been specified
)
// enum-lite implementation for the following constant structure
type DWMFLIP3DWINDOWPOLICY int32
// TODO: need to verify this construction
// Flags used by the DwmSetWindowAttribute function
// to specify the Flip3D window policy
const (
DWMFLIP3D_DEFAULT = iota + 1
DWMFLIP3D_EXCLUDEBELOW
DWMFLIP3D_EXCLUDEABOVE
DWMFLIP3D_LAST
)
// enum-lite implementation for the following constant structure
type DWMNCRENDERINGPOLICY int32
// TODO: need to verify this construction
// Flags used by the DwmSetWindowAttribute function
// to specify the non-client area rendering policy
const (
DWMNCRP_USEWINDOWSTYLE = iota + 1
DWMNCRP_DISABLED
DWMNCRP_ENABLED
DWMNCRP_LAST
)
// enum-lite implementation for the following constant structure
type DWMTRANSITION_OWNEDWINDOW_TARGET int32
const (
DWMTRANSITION_OWNEDWINDOW_NULL = -1
DWMTRANSITION_OWNEDWINDOW_REPOSITION = 0
)
// enum-lite implementation for the following constant structure
type DWMWINDOWATTRIBUTE int32
// TODO: need to verify this construction
// Flags used by the DwmGetWindowAttribute and DwmSetWindowAttribute functions
// to specify window attributes for non-client rendering
const (
DWMWA_NCRENDERING_ENABLED = iota + 1
DWMWA_NCRENDERING_POLICY
DWMWA_TRANSITIONS_FORCEDISABLED
DWMWA_ALLOW_NCPAINT
DWMWA_CAPTION_BUTTON_BOUNDS
DWMWA_NONCLIENT_RTL_LAYOUT
DWMWA_FORCE_ICONIC_REPRESENTATION
DWMWA_FLIP3D_POLICY
DWMWA_EXTENDED_FRAME_BOUNDS
DWMWA_HAS_ICONIC_BITMAP
DWMWA_DISALLOW_PEEK
DWMWA_EXCLUDED_FROM_PEEK
DWMWA_CLOAK
DWMWA_CLOAKED
DWMWA_FREEZE_REPRESENTATION
DWMWA_LAST
)
// enum-lite implementation for the following constant structure
type GESTURE_TYPE int32
// TODO: use iota?
// Identifies the gesture type
const (
GT_PEN_TAP = 0
GT_PEN_DOUBLETAP = 1
GT_PEN_RIGHTTAP = 2
GT_PEN_PRESSANDHOLD = 3
GT_PEN_PRESSANDHOLDABORT = 4
GT_TOUCH_TAP = 5
GT_TOUCH_DOUBLETAP = 6
GT_TOUCH_RIGHTTAP = 7
GT_TOUCH_PRESSANDHOLD = 8
GT_TOUCH_PRESSANDHOLDABORT = 9
GT_TOUCH_PRESSANDTAP = 10
)
// Icons
const (
ICON_SMALL = 0
ICON_BIG = 1
ICON_SMALL2 = 2
)
const (
SIZE_RESTORED = 0
SIZE_MINIMIZED = 1
SIZE_MAXIMIZED = 2
SIZE_MAXSHOW = 3
SIZE_MAXHIDE = 4
)
// XButton values
const (
XBUTTON1 = 1
XBUTTON2 = 2
)
// Devmode
const (
DM_SPECVERSION = 0x0401
DM_ORIENTATION = 0x00000001
DM_PAPERSIZE = 0x00000002
DM_PAPERLENGTH = 0x00000004
DM_PAPERWIDTH = 0x00000008
DM_SCALE = 0x00000010
DM_POSITION = 0x00000020
DM_NUP = 0x00000040
DM_DISPLAYORIENTATION = 0x00000080
DM_COPIES = 0x00000100
DM_DEFAULTSOURCE = 0x00000200
DM_PRINTQUALITY = 0x00000400
DM_COLOR = 0x00000800
DM_DUPLEX = 0x00001000
DM_YRESOLUTION = 0x00002000
DM_TTOPTION = 0x00004000
DM_COLLATE = 0x00008000
DM_FORMNAME = 0x00010000
DM_LOGPIXELS = 0x00020000
DM_BITSPERPEL = 0x00040000
DM_PELSWIDTH = 0x00080000
DM_PELSHEIGHT = 0x00100000
DM_DISPLAYFLAGS = 0x00200000
DM_DISPLAYFREQUENCY = 0x00400000
DM_ICMMETHOD = 0x00800000
DM_ICMINTENT = 0x01000000
DM_MEDIATYPE = 0x02000000
DM_DITHERTYPE = 0x04000000
DM_PANNINGWIDTH = 0x08000000
DM_PANNINGHEIGHT = 0x10000000
DM_DISPLAYFIXEDOUTPUT = 0x20000000
)
// ChangeDisplaySettings
const (
CDS_UPDATEREGISTRY = 0x00000001
CDS_TEST = 0x00000002
CDS_FULLSCREEN = 0x00000004
CDS_GLOBAL = 0x00000008
CDS_SET_PRIMARY = 0x00000010
CDS_VIDEOPARAMETERS = 0x00000020
CDS_RESET = 0x40000000
CDS_NORESET = 0x10000000
DISP_CHANGE_SUCCESSFUL = 0
DISP_CHANGE_RESTART = 1
DISP_CHANGE_FAILED = -1
DISP_CHANGE_BADMODE = -2
DISP_CHANGE_NOTUPDATED = -3
DISP_CHANGE_BADFLAGS = -4
DISP_CHANGE_BADPARAM = -5
DISP_CHANGE_BADDUALVIEW = -6
)
const (
ENUM_CURRENT_SETTINGS = 0xFFFFFFFF
ENUM_REGISTRY_SETTINGS = 0xFFFFFFFE
)
// PIXELFORMATDESCRIPTOR
const (
PFD_TYPE_RGBA = 0
PFD_TYPE_COLORINDEX = 1
PFD_MAIN_PLANE = 0
PFD_OVERLAY_PLANE = 1
PFD_UNDERLAY_PLANE = -1
PFD_DOUBLEBUFFER = 0x00000001
PFD_STEREO = 0x00000002
PFD_DRAW_TO_WINDOW = 0x00000004
PFD_DRAW_TO_BITMAP = 0x00000008
PFD_SUPPORT_GDI = 0x00000010
PFD_SUPPORT_OPENGL = 0x00000020
PFD_GENERIC_FORMAT = 0x00000040
PFD_NEED_PALETTE = 0x00000080
PFD_NEED_SYSTEM_PALETTE = 0x00000100
PFD_SWAP_EXCHANGE = 0x00000200
PFD_SWAP_COPY = 0x00000400
PFD_SWAP_LAYER_BUFFERS = 0x00000800
PFD_GENERIC_ACCELERATED = 0x00001000
PFD_SUPPORT_DIRECTDRAW = 0x00002000
PFD_DIRECT3D_ACCELERATED = 0x00004000
PFD_SUPPORT_COMPOSITION = 0x00008000
PFD_DEPTH_DONTCARE = 0x20000000
PFD_DOUBLEBUFFER_DONTCARE = 0x40000000
PFD_STEREO_DONTCARE = 0x80000000
)
const (
INPUT_MOUSE = 0
INPUT_KEYBOARD = 1
INPUT_HARDWARE = 2
)
const (
MOUSEEVENTF_ABSOLUTE = 0x8000
MOUSEEVENTF_HWHEEL = 0x01000
MOUSEEVENTF_MOVE = 0x0001
MOUSEEVENTF_MOVE_NOCOALESCE = 0x2000
MOUSEEVENTF_LEFTDOWN = 0x0002
MOUSEEVENTF_LEFTUP = 0x0004
MOUSEEVENTF_RIGHTDOWN = 0x0008
MOUSEEVENTF_RIGHTUP = 0x0010
MOUSEEVENTF_MIDDLEDOWN = 0x0020
MOUSEEVENTF_MIDDLEUP = 0x0040
MOUSEEVENTF_VIRTUALDESK = 0x4000
MOUSEEVENTF_WHEEL = 0x0800
MOUSEEVENTF_XDOWN = 0x0080
MOUSEEVENTF_XUP = 0x0100
)
// Windows Hooks (WH_*)
// http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx
const (
WH_CALLWNDPROC = 4
WH_CALLWNDPROCRET = 12
WH_CBT = 5
WH_DEBUG = 9
WH_FOREGROUNDIDLE = 11
WH_GETMESSAGE = 3
WH_JOURNALPLAYBACK = 1
WH_JOURNALRECORD = 0
WH_KEYBOARD = 2
WH_KEYBOARD_LL = 13
WH_MOUSE = 7
WH_MOUSE_LL = 14
WH_MSGFILTER = -1
WH_SHELL = 10
WH_SYSMSGFILTER = 6
)
const (
MEM_COMMIT = 0x00001000
MEM_RESERVE = 0x00002000
MEM_RESET = 0x00080000
MEM_RESET_UNDO = 0x1000000
MEM_LARGE_PAGES = 0x20000000
MEM_PHYSICAL = 0x00400000
MEM_TOP_DOWN = 0x00100000
MEM_DECOMMIT = 0x4000
MEM_RELEASE = 0x8000
)
const (
PROCESS_CREATE_PROCESS = 0x0080
PROCESS_CREATE_THREAD = 0x0002
PROCESS_DUP_HANDLE = 0x0040
PROCESS_QUERY_INFORMATION = 0x0400
PROCESS_QUERY_LIMITED_INFORMATION = 0x1000
PROCESS_SET_INFORMATION = 0x0200
PROCESS_SET_QUOTA = 0x0100
PROCESS_SUSPEND_RESUME = 0x0800
PROCESS_TERMINATE = 0x0001
PROCESS_VM_OPERATION = 0x0008
PROCESS_VM_READ = 0x0010
PROCESS_VM_WRITE = 0x0020
SYNCHRONIZE = 0x00100000
)
const (
PAGE_EXECUTE = 0x10
PAGE_EXECUTE_READ = 0x20
PAGE_EXECUTE_READWRITE = 0x40
PAGE_EXECUTE_WRITECOPY = 0x80
PAGE_NOACCESS = 0x01
PAGE_READWRITE = 0x04
PAGE_WRITECOPY = 0x08
PAGE_TARGETS_INVALID = 0x40000000
PAGE_TARGETS_NO_UPDATE = 0x40000000
)
// SendMessageTimeout Flags
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms644952(v=vs.85).aspx
const (
SMTO_ABORTIFHUNG = 0x0002
SMTO_BLOCK = 0x0001
SMTO_NORMAL = 0x0000
SMTO_NOTIMEOUTIFNOTHUNG = 0x0008
SMTO_ERRORONEXIT = 0x0020
)
// RedrawWindow Flags
const (
RDW_ERASE = 4
RDW_ALLCHILDREN = 0x80
RDW_ERASENOW = 0x200
RDW_FRAME = 0x400
RDW_INTERNALPAINT = 2
RDW_INVALIDATE = 1
RDW_NOCHILDREN = 0x40
RDW_NOERASE = 0x20
RDW_NOFRAME = 0x800
RDW_NOINTERNALPAINT = 0x10
RDW_UPDATENOW = 0x100
RDW_VALIDATE = 8
)
You can’t perform that action at this time.