Removed constants from windows_windows.go, controls_windows.go, and comctl_windows.go, as we can now use the constants generator.
This commit is contained in:
parent
2ce95f3937
commit
339a77b5d6
|
@ -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(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue