From 339a77b5d6c4f019f6979cd95ab73ff8540fd91a Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Sun, 25 May 2014 12:39:53 -0400 Subject: [PATCH] Removed constants from windows_windows.go, controls_windows.go, and comctl_windows.go, as we can now use the constants generator. --- comctl_windows.go | 58 +----- controls_windows.go | 464 -------------------------------------------- sysdata_windows.go | 2 +- windows_windows.go | 259 ------------------------- 4 files changed, 3 insertions(+), 780 deletions(-) diff --git a/comctl_windows.go b/comctl_windows.go index ffef7c7..6b61cef 100644 --- a/comctl_windows.go +++ b/comctl_windows.go @@ -15,27 +15,6 @@ var ( comctlManifestCookie uintptr ) -// InitCommonControlsEx constants. -const ( - _ICC_LISTVIEW_CLASSES = 0x00000001 - _ICC_TREEVIEW_CLASSES = 0x00000002 - _ICC_BAR_CLASSES = 0x00000004 - _ICC_TAB_CLASSES = 0x00000008 - _ICC_UPDOWN_CLASS = 0x00000010 - _ICC_PROGRESS_CLASS = 0x00000020 - _ICC_HOTKEY_CLASS = 0x00000040 - _ICC_ANIMATE_CLASS = 0x00000080 - _ICC_WIN95_CLASSES = 0x000000FF - _ICC_DATE_CLASSES = 0x00000100 - _ICC_USEREX_CLASSES = 0x00000200 - _ICC_COOL_CLASSES = 0x00000400 - _ICC_INTERNET_CLASSES = 0x00000800 - _ICC_PAGESCROLLER_CLASS = 0x00001000 - _ICC_NATIVEFNTCTL_CLASS = 0x00002000 - _ICC_STANDARD_CLASSES = 0x00004000 - _ICC_LINK_CLASS = 0x00008000 -) - var ( _activateActCtx = kernel32.NewProc("ActivateActCtx") _createActCtx = kernel32.NewProc("CreateActCtxW") @@ -50,11 +29,6 @@ References: - http://support.microsoft.com/kb/830033 */ func forceCommonControls6() (err error) { - const ( - // from winbase.h - _INVALID_HANDLE_VALUE = -1 - ) - manifestfile, err := ioutil.TempFile("", "gouicomctl32v6manifest") if err != nil { return fmt.Errorf("error creating synthesized manifest file: %v", err) @@ -121,36 +95,8 @@ func initCommonControls() (err error) { // Common Controls class names. const ( - _PROGRESS_CLASS = "msctls_progress32" -) - -// Shared Common Controls styles. -const ( - _WM_USER = 0x0400 - _CCM_FIRST = 0x2000 - _CCM_SETBKCOLOR = (_CCM_FIRST + 1) -) - -// Progress Bar styles. -const ( - _PBS_SMOOTH = 0x01 - _PBS_VERTICAL = 0x04 - _PBS_MARQUEE = 0x08 -) - -// Progress Bar messages. -const ( - _PBM_SETRANGE = (_WM_USER + 1) - _PBM_SETPOS = (_WM_USER + 2) - _PBM_DELTAPOS = (_WM_USER + 3) - _PBM_SETSTEP = (_WM_USER + 4) - _PBM_STEPIT = (_WM_USER + 5) - _PBM_SETRANGE32 = (_WM_USER + 6) - _PBM_GETRANGE = (_WM_USER + 7) - _PBM_GETPOS = (_WM_USER + 8) - _PBM_SETBARCOLOR = (_WM_USER + 9) - _PBM_SETBKCOLOR = _CCM_SETBKCOLOR - _PBM_SETMARQUEE = (_WM_USER + 10) + // x (lowercase) prefix to avoid being caught by the constants generator + x_PROGRESS_CLASS = "msctls_progress32" ) var manifest = []byte(` diff --git a/controls_windows.go b/controls_windows.go index 86c4eba..e2d153c 100644 --- a/controls_windows.go +++ b/controls_windows.go @@ -7,87 +7,6 @@ import ( // "unsafe" ) -// Button styles. -const ( - // from winuser.h - _BS_PUSHBUTTON = 0x00000000 - _BS_DEFPUSHBUTTON = 0x00000001 - _BS_CHECKBOX = 0x00000002 - _BS_AUTOCHECKBOX = 0x00000003 - _BS_RADIOBUTTON = 0x00000004 - _BS_3STATE = 0x00000005 - _BS_AUTO3STATE = 0x00000006 - _BS_GROUPBOX = 0x00000007 - _BS_USERBUTTON = 0x00000008 - _BS_AUTORADIOBUTTON = 0x00000009 - _BS_PUSHBOX = 0x0000000A - _BS_OWNERDRAW = 0x0000000B - _BS_TYPEMASK = 0x0000000F - _BS_LEFTTEXT = 0x00000020 - _BS_TEXT = 0x00000000 - _BS_ICON = 0x00000040 - _BS_BITMAP = 0x00000080 - _BS_LEFT = 0x00000100 - _BS_RIGHT = 0x00000200 - _BS_CENTER = 0x00000300 - _BS_TOP = 0x00000400 - _BS_BOTTOM = 0x00000800 - _BS_VCENTER = 0x00000C00 - _BS_PUSHLIKE = 0x00001000 - _BS_MULTILINE = 0x00002000 - _BS_NOTIFY = 0x00004000 - _BS_FLAT = 0x00008000 - _BS_RIGHTBUTTON = _BS_LEFTTEXT - - // from commctrl.h -// _BS_SPLITBUTTON = 0x0000000C // Windows Vista and newer and(/or?) comctl6 only -// _BS_DEFSPLITBUTTON = 0x0000000D // Windows Vista and newer and(/or?) comctl6 only -// _BS_COMMANDLINK = 0x0000000E // Windows Vista and newer and(/or?) comctl6 only -// _BS_DEFCOMMANDLINK = 0x0000000F // Windows Vista and newer and(/or?) comctl6 only -) - -// Button messages. -const ( - // from winuser.h - _BM_GETCHECK = 0x00F0 - _BM_SETCHECK = 0x00F1 - _BM_GETSTATE = 0x00F2 - _BM_SETSTATE = 0x00F3 - _BM_SETSTYLE = 0x00F4 - _BM_CLICK = 0x00F5 - _BM_GETIMAGE = 0x00F6 - _BM_SETIMAGE = 0x00F7 - _BM_SETDONTCLICK = 0x00F8 - - // from commctrl.h - _BCM_FIRST = 0x1600 - _BCM_GETIDEALSIZE = (_BCM_FIRST + 0x0001) -) - -// Button WM_COMMAND notifications. -const ( - // from winuser.h - _BN_CLICKED = 0 - _BN_PAINT = 1 - _BN_HILITE = 2 - _BN_UNHILITE = 3 - _BN_DISABLE = 4 - _BN_DOUBLECLICKED = 5 - _BN_PUSHED = _BN_HILITE - _BN_UNPUSHED = _BN_UNHILITE - _BN_DBLCLK = _BN_DOUBLECLICKED - _BN_SETFOCUS = 6 - _BN_KILLFOCUS = 7 -) - -// Button check states. -const ( - // from winuser.h - _BST_UNCHECKED = 0x0000 - _BST_CHECKED = 0x0001 - _BST_INDETERMINATE = 0x0002 -) - /* var ( checkDlgButton = user32.NewProc("CheckDlgButton") @@ -119,389 +38,6 @@ func CheckRadioButton(hDlg HWND, nIDFirstButton int, nIDLastButton int, nIDCheck } */ -// Combobox styles. -const ( - // from winuser.h - _CBS_SIMPLE = 0x0001 - _CBS_DROPDOWN = 0x0002 - _CBS_DROPDOWNLIST = 0x0003 - _CBS_OWNERDRAWFIXED = 0x0010 - _CBS_OWNERDRAWVARIABLE = 0x0020 - _CBS_AUTOHSCROLL = 0x0040 - _CBS_OEMCONVERT = 0x0080 - _CBS_SORT = 0x0100 - _CBS_HASSTRINGS = 0x0200 - _CBS_NOINTEGRALHEIGHT = 0x0400 - _CBS_DISABLENOSCROLL = 0x0800 - _CBS_UPPERCASE = 0x2000 - _CBS_LOWERCASE = 0x4000 -) - -// Combobox messages. -const ( - // from winuser.h - _CB_GETEDITSEL = 0x0140 - _CB_LIMITTEXT = 0x0141 - _CB_SETEDITSEL = 0x0142 - _CB_ADDSTRING = 0x0143 - _CB_DELETESTRING = 0x0144 - _CB_DIR = 0x0145 - _CB_GETCOUNT = 0x0146 - _CB_GETCURSEL = 0x0147 - _CB_GETLBTEXT = 0x0148 - _CB_GETLBTEXTLEN = 0x0149 - _CB_INSERTSTRING = 0x014A - _CB_RESETCONTENT = 0x014B - _CB_FINDSTRING = 0x014C - _CB_SELECTSTRING = 0x014D - _CB_SETCURSEL = 0x014E - _CB_SHOWDROPDOWN = 0x014F - _CB_GETITEMDATA = 0x0150 - _CB_SETITEMDATA = 0x0151 - _CB_GETDROPPEDCONTROLRECT = 0x0152 - _CB_SETITEMHEIGHT = 0x0153 - _CB_GETITEMHEIGHT = 0x0154 - _CB_SETEXTENDEDUI = 0x0155 - _CB_GETEXTENDEDUI = 0x0156 - _CB_GETDROPPEDSTATE = 0x0157 - _CB_FINDSTRINGEXACT = 0x0158 - _CB_SETLOCALE = 0x0159 - _CB_GETLOCALE = 0x015A - _CB_GETTOPINDEX = 0x015B - _CB_SETTOPINDEX = 0x015C - _CB_GETHORIZONTALEXTENT = 0x015D - _CB_SETHORIZONTALEXTENT = 0x015E - _CB_GETDROPPEDWIDTH = 0x015F - _CB_SETDROPPEDWIDTH = 0x0160 - _CB_INITSTORAGE = 0x0161 - _CB_MULTIPLEADDSTRING = 0x0163 - _CB_GETCOMBOBOXINFO = 0x0164 -) - -// Combobox errors. -const ( - // from winuser.h - _CB_ERR = (-1) - _CB_ERRSPACE = (-2) - _CBN_ERRSPACE = (-1) -) - -// Combobox WM_COMMAND notificaitons. -const ( - // from winuser.h - _CBN_SELCHANGE = 1 - _CBN_DBLCLK = 2 - _CBN_SETFOCUS = 3 - _CBN_KILLFOCUS = 4 - _CBN_EDITCHANGE = 5 - _CBN_EDITUPDATE = 6 - _CBN_DROPDOWN = 7 - _CBN_CLOSEUP = 8 - _CBN_SELENDOK = 9 - _CBN_SELENDCANCEL = 10 -) - -// Edit control styles. -const ( - // from winuser.h - _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 control messages. -const ( - // from winuser.h - _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 // [;win40 Name change] - _EM_GETLIMITTEXT = 0x00D5 - _EM_POSFROMCHAR = 0x00D6 - _EM_CHARFROMPOS = 0x00D7 - _EM_SETIMESTATUS = 0x00D8 - _EM_GETIMESTATUS = 0x00D9 -) - -// Edit control WM_COMMAND notifications. -const ( - // from winuser.h - _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 - _EC_LEFTMARGIN = 0x0001 - _EC_RIGHTMARGIN = 0x0002 - _EC_USEFONTINFO = 0xFFFF - _EMSIS_COMPOSITIONSTRING = 0x0001 - _EIMES_GETCOMPSTRATONCE = 0x0001 - _EIMES_CANCELCOMPSTRINFOCUS = 0x0002 - _EIMES_COMPLETECOMPSTRKILLFOCUS = 0x0004 -) - -// Listbox styles. -const ( - // from winuser.h - _LBS_NOTIFY = 0x0001 - _LBS_SORT = 0x0002 - _LBS_NOREDRAW = 0x0004 - _LBS_MULTIPLESEL = 0x0008 - _LBS_OWNERDRAWFIXED = 0x0010 - _LBS_OWNERDRAWVARIABLE = 0x0020 - _LBS_HASSTRINGS = 0x0040 - _LBS_USETABSTOPS = 0x0080 - _LBS_NOINTEGRALHEIGHT = 0x0100 - _LBS_MULTICOLUMN = 0x0200 - _LBS_WANTKEYBOARDINPUT = 0x0400 - _LBS_EXTENDEDSEL = 0x0800 - _LBS_DISABLENOSCROLL = 0x1000 - _LBS_NODATA = 0x2000 - _LBS_NOSEL = 0x4000 - _LBS_COMBOBOX = 0x8000 - _LBS_STANDARD = (_LBS_NOTIFY | _LBS_SORT | _WS_VSCROLL | _WS_BORDER) -) - -// Listbox messages. -const ( - // from winuser.h - _LB_ADDSTRING = 0x0180 - _LB_INSERTSTRING = 0x0181 - _LB_DELETESTRING = 0x0182 - _LB_SELITEMRANGEEX = 0x0183 - _LB_RESETCONTENT = 0x0184 - _LB_SETSEL = 0x0185 - _LB_SETCURSEL = 0x0186 - _LB_GETSEL = 0x0187 - _LB_GETCURSEL = 0x0188 - _LB_GETTEXT = 0x0189 - _LB_GETTEXTLEN = 0x018A - _LB_GETCOUNT = 0x018B - _LB_SELECTSTRING = 0x018C - _LB_DIR = 0x018D - _LB_GETTOPINDEX = 0x018E - _LB_FINDSTRING = 0x018F - _LB_GETSELCOUNT = 0x0190 - _LB_GETSELITEMS = 0x0191 - _LB_SETTABSTOPS = 0x0192 - _LB_GETHORIZONTALEXTENT = 0x0193 - _LB_SETHORIZONTALEXTENT = 0x0194 - _LB_SETCOLUMNWIDTH = 0x0195 - _LB_ADDFILE = 0x0196 - _LB_SETTOPINDEX = 0x0197 - _LB_GETITEMRECT = 0x0198 - _LB_GETITEMDATA = 0x0199 - _LB_SETITEMDATA = 0x019A - _LB_SELITEMRANGE = 0x019B - _LB_SETANCHORINDEX = 0x019C - _LB_GETANCHORINDEX = 0x019D - _LB_SETCARETINDEX = 0x019E - _LB_GETCARETINDEX = 0x019F - _LB_SETITEMHEIGHT = 0x01A0 - _LB_GETITEMHEIGHT = 0x01A1 - _LB_FINDSTRINGEXACT = 0x01A2 - _LB_SETLOCALE = 0x01A5 - _LB_GETLOCALE = 0x01A6 - _LB_SETCOUNT = 0x01A7 - _LB_INITSTORAGE = 0x01A8 - _LB_ITEMFROMPOINT = 0x01A9 - _LB_MULTIPLEADDSTRING = 0x01B1 - _LB_GETLISTBOXINFO = 0x01B2 -) - -// Listbox errors. -const ( - // from winuser.h - _LB_OKAY = 0 - _LB_ERR = (-1) - _LB_ERRSPACE = (-2) - _LBN_ERRSPACE = (-2) -) - -// Listbox WM_COMMAND notifications and message returns. -const ( - // from winuser.h - _LBN_SELCHANGE = 1 - _LBN_DBLCLK = 2 - _LBN_SELCANCEL = 3 - _LBN_SETFOCUS = 4 - _LBN_KILLFOCUS = 5 -) - -// Static control styles. -const ( - // from winuser.h - _SS_LEFT = 0x00000000 - _SS_CENTER = 0x00000001 - _SS_RIGHT = 0x00000002 - _SS_ICON = 0x00000003 - _SS_BLACKRECT = 0x00000004 - _SS_GRAYRECT = 0x00000005 - _SS_WHITERECT = 0x00000006 - _SS_BLACKFRAME = 0x00000007 - _SS_GRAYFRAME = 0x00000008 - _SS_WHITEFRAME = 0x00000009 - _SS_USERITEM = 0x0000000A - _SS_SIMPLE = 0x0000000B - _SS_LEFTNOWORDWRAP = 0x0000000C - _SS_OWNERDRAW = 0x0000000D - _SS_BITMAP = 0x0000000E - _SS_ENHMETAFILE = 0x0000000F - _SS_ETCHEDHORZ = 0x00000010 - _SS_ETCHEDVERT = 0x00000011 - _SS_ETCHEDFRAME = 0x00000012 - _SS_TYPEMASK = 0x0000001F - _SS_REALSIZECONTROL = 0x00000040 - _SS_NOPREFIX = 0x00000080 - _SS_NOTIFY = 0x00000100 - _SS_CENTERIMAGE = 0x00000200 - _SS_RIGHTJUST = 0x00000400 - _SS_REALSIZEIMAGE = 0x00000800 - _SS_SUNKEN = 0x00001000 - _SS_EDITCONTROL = 0x00002000 - _SS_ENDELLIPSIS = 0x00004000 - _SS_PATHELLIPSIS = 0x00008000 - _SS_WORDELLIPSIS = 0x0000C000 - _SS_ELLIPSISMASK = 0x0000C000 -) - -// Static control messages and WM_COMMAND notifications. -const ( - // from winuser.h - _STM_SETICON = 0x0170 - _STM_GETICON = 0x0171 - _STM_SETIMAGE = 0x0172 - _STM_GETIMAGE = 0x0173 - _STN_CLICKED = 0 - _STN_DBLCLK = 1 - _STN_ENABLE = 2 - _STN_DISABLE = 3 -) - -// SetScrollPos/GetScrollPos scrollbar identifiers. -const ( - // from winuser.h - _SB_HORZ = 0 - _SB_VERT = 1 - _SB_CTL = 2 - _SB_BOTH = 3 -) - -// Scrollbar event types. -const ( - // from winuser.h - _SB_LINEUP = 0 - _SB_LINELEFT = 0 - _SB_LINEDOWN = 1 - _SB_LINERIGHT = 1 - _SB_PAGEUP = 2 - _SB_PAGELEFT = 2 - _SB_PAGEDOWN = 3 - _SB_PAGERIGHT = 3 - _SB_THUMBPOSITION = 4 - _SB_THUMBTRACK = 5 - _SB_TOP = 6 - _SB_LEFT = 6 - _SB_BOTTOM = 7 - _SB_RIGHT = 7 - _SB_ENDSCROLL = 8 -) - -// ScrollWindowEx flags. -const ( - // from winuser.h - _SW_SCROLLCHILDREN = 0x0001 - _SW_INVALIDATE = 0x0002 - _SW_ERASE = 0x0004 -) - -// Scrollbar messages. -const ( - // from winuser.h - _SBM_SETPOS = 0x00E0 - _SBM_GETPOS = 0x00E1 - _SBM_SETRANGE = 0x00E2 - _SBM_SETRANGEREDRAW = 0x00E6 - _SBM_GETRANGE = 0x00E3 - _SBM_ENABLE_ARROWS = 0x00E4 - _SBM_SETSCROLLINFO = 0x00E9 - _SBM_GETSCROLLINFO = 0x00EA - _SBM_GETSCROLLBARINFO = 0x00EB -) - -// Scrollbar notifications. (These are actually sent to the parent window.) -const ( - // from winuser.h - _WM_HSCROLL = 0x0114 - _WM_VSCROLL = 0x0115 -) - -// SCROLLINFO flags. -const ( - // from winuser.h - _SIF_RANGE = 0x0001 - _SIF_PAGE = 0x0002 - _SIF_POS = 0x0004 - _SIF_DISABLENOSCROLL = 0x0008 - _SIF_TRACKPOS = 0x0010 - _SIF_ALL = (_SIF_RANGE | _SIF_PAGE | _SIF_POS | _SIF_TRACKPOS) -) - -// ScrollWindowEx return values. -const ( - // from wingdi.h - _ERROR = 0 - _NULLREGION = 1 - _SIMPLEREGION = 2 - _COMPLEXREGION = 3 -) - var ( _getScrollInfo = user32.NewProc("GetScrollInfo") _setScrollInfo = user32.NewProc("SetScrollInfo") diff --git a/sysdata_windows.go b/sysdata_windows.go index 7320488..99fc436 100644 --- a/sysdata_windows.go +++ b/sysdata_windows.go @@ -105,7 +105,7 @@ var classTypes = [nctypes]*classData{ lenMsg: _LB_GETCOUNT, }, c_progressbar: &classData{ - name: _PROGRESS_CLASS, + name: x_PROGRESS_CLASS, style: _PBS_SMOOTH | controlstyle, xstyle: 0 | controlxstyle, doNotLoadFont: true, diff --git a/windows_windows.go b/windows_windows.go index f40df1a..e7add03 100644 --- a/windows_windows.go +++ b/windows_windows.go @@ -7,154 +7,6 @@ import ( "unsafe" ) -// Window styles. -const ( - _WS_BORDER = 0x00800000 - _WS_CAPTION = 0x00C00000 - _WS_CHILD = 0x40000000 - _WS_CHILDWINDOW = 0x40000000 - _WS_CLIPCHILDREN = 0x02000000 - _WS_CLIPSIBLINGS = 0x04000000 - _WS_DISABLED = 0x08000000 - _WS_DLGFRAME = 0x00400000 - _WS_GROUP = 0x00020000 - _WS_HSCROLL = 0x00100000 - _WS_ICONIC = 0x20000000 - _WS_MAXIMIZE = 0x01000000 - _WS_MAXIMIZEBOX = 0x00010000 - _WS_MINIMIZE = 0x20000000 - _WS_MINIMIZEBOX = 0x00020000 - _WS_OVERLAPPED = 0x00000000 - _WS_OVERLAPPEDWINDOW = (_WS_OVERLAPPED | _WS_CAPTION | _WS_SYSMENU | _WS_THICKFRAME | _WS_MINIMIZEBOX | _WS_MAXIMIZEBOX) - _WS_POPUP = 0x80000000 - _WS_POPUPWINDOW = (_WS_POPUP | _WS_BORDER | _WS_SYSMENU) - _WS_SIZEBOX = 0x00040000 - _WS_SYSMENU = 0x00080000 - _WS_TABSTOP = 0x00010000 - _WS_THICKFRAME = 0x00040000 - _WS_TILED = 0x00000000 - _WS_TILEDWINDOW = (_WS_OVERLAPPED | _WS_CAPTION | _WS_SYSMENU | _WS_THICKFRAME | _WS_MINIMIZEBOX | _WS_MAXIMIZEBOX) - _WS_VISIBLE = 0x10000000 - _WS_VSCROLL = 0x00200000 -) - -// Extended window styles. -const ( - _WS_EX_ACCEPTFILES = 0x00000010 - _WS_EX_APPWINDOW = 0x00040000 - _WS_EX_CLIENTEDGE = 0x00000200 - _WS_EX_COMPOSITED = 0x02000000 - _WS_EX_CONTEXTHELP = 0x00000400 - _WS_EX_CONTROLPARENT = 0x00010000 - _WS_EX_DLGMODALFRAME = 0x00000001 - _WS_EX_LAYERED = 0x00080000 - _WS_EX_LAYOUTRTL = 0x00400000 - _WS_EX_LEFT = 0x00000000 - _WS_EX_LEFTSCROLLBAR = 0x00004000 - _WS_EX_LTRREADING = 0x00000000 - _WS_EX_MDICHILD = 0x00000040 - _WS_EX_NOACTIVATE = 0x08000000 - _WS_EX_NOINHERITLAYOUT = 0x00100000 - _WS_EX_NOPARENTNOTIFY = 0x00000004 - _WS_EX_OVERLAPPEDWINDOW = (_WS_EX_WINDOWEDGE | _WS_EX_CLIENTEDGE) - _WS_EX_PALETTEWINDOW = (_WS_EX_WINDOWEDGE | _WS_EX_TOOLWINDOW | _WS_EX_TOPMOST) - _WS_EX_RIGHT = 0x00001000 - _WS_EX_RIGHTSCROLLBAR = 0x00000000 - _WS_EX_RTLREADING = 0x00002000 - _WS_EX_STATICEDGE = 0x00020000 - _WS_EX_TOOLWINDOW = 0x00000080 - _WS_EX_TOPMOST = 0x00000008 - _WS_EX_TRANSPARENT = 0x00000020 - _WS_EX_WINDOWEDGE = 0x00000100 -) - -// bizarrely, this value is given on the page for CreateMDIWindow, but not CreateWindow or CreateWindowEx -const ( - _CW_USEDEFAULT = 0x80000000 -) - -// GetSysColor values. These can be cast to HBRUSH (after adding 1) for WNDCLASS as well. -const ( - _COLOR_3DDKSHADOW = 21 - _COLOR_3DFACE = 15 - _COLOR_3DHIGHLIGHT = 20 - _COLOR_3DHILIGHT = 20 - _COLOR_3DLIGHT = 22 - _COLOR_3DSHADOW = 16 - _COLOR_ACTIVEBORDER = 10 - _COLOR_ACTIVECAPTION = 2 - _COLOR_APPWORKSPACE = 12 - _COLOR_BACKGROUND = 1 - _COLOR_BTNFACE = 15 - _COLOR_BTNHIGHLIGHT = 20 - _COLOR_BTNHILIGHT = 20 - _COLOR_BTNSHADOW = 16 - _COLOR_BTNTEXT = 18 - _COLOR_CAPTIONTEXT = 9 - _COLOR_DESKTOP = 1 - _COLOR_GRADIENTACTIVECAPTION = 27 - _COLOR_GRADIENTINACTIVECAPTION = 28 - _COLOR_GRAYTEXT = 17 - _COLOR_HIGHLIGHT = 13 - _COLOR_HIGHLIGHTTEXT = 14 - _COLOR_HOTLIGHT = 26 - _COLOR_INACTIVEBORDER = 11 - _COLOR_INACTIVECAPTION = 3 - _COLOR_INACTIVECAPTIONTEXT = 19 - _COLOR_INFOBK = 24 - _COLOR_INFOTEXT = 23 - _COLOR_MENU = 4 - _COLOR_MENUHILIGHT = 29 - _COLOR_MENUBAR = 30 - _COLOR_MENUTEXT = 7 - _COLOR_SCROLLBAR = 0 - _COLOR_WINDOW = 5 - _COLOR_WINDOWFRAME = 6 - _COLOR_WINDOWTEXT = 8 -) - -// SetWindowPos hWndInsertAfter values. -const ( - _HWND_BOTTOM = _HWND(1) - _HWND_TOP = _HWND(0) -) - -// SetWindowPos uFlags values. -const ( - _SWP_DRAWFRAME = 0x0020 - _SWP_FRAMECHANGED = 0x0020 - _SWP_HIDEWINDOW = 0x0080 - _SWP_NOACTIVATE = 0x0010 - _SWP_NOCOPYBITS = 0x0100 - _SWP_NOMOVE = 0x0002 - _SWP_NOOWNERZORDER = 0x0200 - _SWP_NOREDRAW = 0x0008 - _SWP_NOREPOSITION = 0x0200 - _SWP_NOSENDCHANGING = 0x0400 - _SWP_NOSIZE = 0x0001 - _SWP_NOZORDER = 0x0004 - _SWP_SHOWWINDOW = 0x0040 - _SWP_ASYNCWINDOWPOS = 0x4000 - _SWP_DEFERERASE = 0x2000 -) - -// ShowWindow settings. -const ( - _SW_FORCEMINIMIZE = 11 - _SW_HIDE = 0 - _SW_MAXIMIZE = 3 - _SW_MINIMIZE = 6 - _SW_RESTORE = 9 - _SW_SHOW = 5 - _SW_SHOWDEFAULT = 10 - _SW_SHOWMAXIMIZED = 3 - _SW_SHOWMINIMIZED = 2 - _SW_SHOWMINNOACTIVE = 7 - _SW_SHOWNA = 8 - _SW_SHOWNOACTIVATE = 4 - _SW_SHOWNORMAL = 1 -) - var ( _adjustWindowRectEx = user32.NewProc("AdjustWindowRectEx") _createWindowEx = user32.NewProc("CreateWindowExW") @@ -166,117 +18,6 @@ var ( _showWindow = user32.NewProc("ShowWindow") ) -// WM_SETICON and WM_GETICON values. -const ( - _ICON_BIG = 1 - _ICON_SMALL = 0 - _ICON_SMALL2 = 2 // WM_GETICON only? -) - -// Window messages. -const ( - _MN_GETHMENU = 0x01E1 - _WM_ERASEBKGND = 0x0014 - _WM_GETFONT = 0x0031 - _WM_GETTEXT = 0x000D - _WM_GETTEXTLENGTH = 0x000E - _WM_SETFONT = 0x0030 - _WM_SETICON = 0x0080 - _WM_SETTEXT = 0x000C -) - -// WM_INPUTLANGCHANGEREQUEST values. -const ( - _INPUTLANGCHANGE_BACKWARD = 0x0004 - _INPUTLANGCHANGE_FORWARD = 0x0002 - _INPUTLANGCHANGE_SYSCHARSET = 0x0001 -) - -// WM_NCCALCSIZE return values. -const ( - _WVR_ALIGNTOP = 0x0010 - _WVR_ALIGNRIGHT = 0x0080 - _WVR_ALIGNLEFT = 0x0020 - _WVR_ALIGNBOTTOM = 0x0040 - _WVR_HREDRAW = 0x0100 - _WVR_VREDRAW = 0x0200 - _WVR_REDRAW = 0x0300 - _WVR_VALIDRECTS = 0x0400 -) - -// WM_SHOWWINDOW reasons (lParam). -const ( - _SW_OTHERUNZOOM = 4 - _SW_OTHERZOOM = 2 - _SW_PARENTCLOSING = 1 - _SW_PARENTOPENING = 3 -) - -// WM_SIZE values. -const ( - _SIZE_MAXHIDE = 4 - _SIZE_MAXIMIZED = 2 - _SIZE_MAXSHOW = 3 - _SIZE_MINIMIZED = 1 - _SIZE_RESTORED = 0 -) - -// WM_SIZING edge values (wParam). -const ( - _WMSZ_BOTTOM = 6 - _WMSZ_BOTTOMLEFT = 7 - _WMSZ_BOTTOMRIGHT = 8 - _WMSZ_LEFT = 1 - _WMSZ_RIGHT = 2 - _WMSZ_TOP = 3 - _WMSZ_TOPLEFT = 4 - _WMSZ_TOPRIGHT = 5 -) - -// WM_STYLECHANGED and WM_STYLECHANGING values (wParam). -const ( - _GWL_EXSTYLE = -20 - _GWL_STYLE = -16 -) - -// Window notifications. -const ( - _WM_ACTIVATEAPP = 0x001C - _WM_CANCELMODE = 0x001F - _WM_CHILDACTIVATE = 0x0022 - _WM_CLOSE = 0x0010 - _WM_COMPACTING = 0x0041 - _WM_CREATE = 0x0001 - _WM_DESTROY = 0x0002 -// _WM_DPICHANGED = 0x02E0 // Windows 8.1 and newer only - _WM_ENABLE = 0x000A - _WM_ENTERSIZEMOVE = 0x0231 - _WM_EXITSIZEMOVE = 0x0232 - _WM_GETICON = 0x007F - _WM_GETMINMAXINFO = 0x0024 - _WM_INPUTLANGCHANGE = 0x0051 - _WM_INPUTLANGCHANGEREQUEST = 0x0050 - _WM_MOVE = 0x0003 - _WM_MOVING = 0x0216 - _WM_NCACTIVATE = 0x0086 - _WM_NCCALCSIZE = 0x0083 - _WM_NCCREATE = 0x0081 - _WM_NCDESTROY = 0x0082 - _WM_NULL = 0x0000 - _WM_QUERYDRAGICON = 0x0037 - _WM_QUERYOPEN = 0x0013 - _WM_QUIT = 0x0012 - _WM_SHOWWINDOW = 0x0018 - _WM_SIZE = 0x0005 - _WM_SIZING = 0x0214 - _WM_STYLECHANGED = 0x007D - _WM_STYLECHANGING = 0x007C - _WM_THEMECHANGED = 0x031A -// _WM_USERCHANGED = 0x0054 // Windows XP only: [Note This message is not supported as of Windows Vista.; also listed as not supported by server Windows] - _WM_WINDOWPOSCHANGED = 0x0047 - _WM_WINDOWPOSCHANGING = 0x0046 -) - type _MINMAXINFO struct { ptReserved _POINT ptMaxSize _POINT