EuroAssembler Index Manual Download Source Macros


Sitemap Links Forum Tests Projects

winsgui.htm
Constants
Structures
CREATESTRUCT
LOGFONT
MINMAXINFO
MSG
PAINSTRUCT
POINT
RECT
SCROLLINFO
SMALL_RECT
TEXTMETRIC
TOOLINFO
WNDCLASS
WNDCLASSEX

This file can be included to program for Windows written in EuroAssembler.

It declares the most often used constant symbols and structures used for
GUI subsystem of MS Windows Application Programming Interface (WinAPI),
as they were derived from header files in [WindowsSDK].

winsgui HEAD
↑ RECT
Contains a set of four coordinates that represent the location and size of a rectangle.
RECT STRUC
.left              D DWORD
.top               D DWORD
.right             D DWORD
.bottom            D DWORD
 ENDSTRUC RECT
↑ SMALL_RECT
Rectangle.
SMALL_RECT STRUC
.Left              D WORD
.Top               D WORD
.Right             D WORD
.Bottom            D WORD
 ENDSTRUC SMALL_RECT
↑ POINT
The POINTS structure defines the coordinates of a point.
POINT STRUC
.x                 D DWORD
.y                 D DWORD
 ENDSTRUC POINT
↑ WNDCLASS
This structure contains the window class attributes that are registered by the RegisterClass function.
%IF %^WIDTH = 32
WNDCLASS STRUC
.style            D DWORD
.lpfnWndProc      D DWORD
.cbClsExtra       D DWORD
.cbWndExtra       D DWORD
.hInstance        D DWORD
.hIcon            D DWORD
.hCursor          D DWORD
.hbrBackground    D DWORD
.lpszMenuName     D DWORD
.lpszClassName    D DWORD
 ENDSTRUC WNDCLASS
%ENDIF

%IF %^WIDTH = 64
WNDCLASS STRUC
.style            D DWORD
                  D DWORD ; Alignment.
.lpfnWndProc      D QWORD
.cbClsExtra       D DWORD
.cbWndExtra       D DWORD
.hInstance        D QWORD
.hIcon            D QWORD
.hCursor          D QWORD
.hbrBackground    D QWORD
.lpszMenuName     D QWORD
.lpszClassName    D QWORD
 ENDSTRUC WNDCLASS
 %ENDIF
↑ WNDCLASSEX
Contains window class information. It is used with the RegisterClassEx and GetClassInfoEx functions.
%IF %^WIDTH = 32
WNDCLASSEX STRUC
.cbSize           D DWORD
.style            D DWORD
.lpfnWndProc      D DWORD
.cbClsExtra       D DWORD
.cbWndExtra       D DWORD
.hInstance        D DWORD
.hIcon            D DWORD
.hCursor          D DWORD
.hbrBackground    D DWORD
.lpszMenuName     D DWORD
.lpszClassName    D DWORD
.hIconSm          D DWORD
 ENDSTRUC WNDCLASSEX
%ENDIF

%IF %^WIDTH = 64
WNDCLASSEX STRUC
.cbSize           D DWORD
.style            D DWORD
.lpfnWndProc      D QWORD
.cbClsExtra       D DWORD
.cbWndExtra       D DWORD
.hInstance        D QWORD
.hIcon            D QWORD
.hCursor          D QWORD
.hbrBackground    D QWORD
.lpszMenuName     D QWORD
.lpszClassName    D QWORD
.hIconSm          D QWORD
 ENDSTRUC WNDCLASSEX
%ENDIF
↑ CREATESTRUCT
defines the initialization parameters passed to the window procedure of an application.
%IF %^WIDTH = 32
CREATESTRUCT STRUC
.lpCreateParams D DWORD
.hInstance      D DWORD
.hMenu          D DWORD
.hwndParent     D DWORD
.cy             D DWORD
.cx             D DWORD
.y              D DWORD
.x              D DWORD
.style          D DWORD
.lpszName       D DWORD
.lpszClass      D DWORD
.dwExStyle      D DWORD
  ENDSTRUC CREATESTRUCT
%ENDIF
%IF %^WIDTH = 64
CREATESTRUCT STRUC
.lpCreateParams D QWORD
.hInstance      D QWORD
.hMenu          D QWORD
.hwndParent     D QWORD
.cy             D DWORD
.cx             D DWORD
.y              D DWORD
.x              D DWORD
.style          D DWORD
                D DWORD ; Alignment
.lpszName       D QWORD
.lpszClass      D QWORD
.dwExStyle      D DWORD
                D DWORD ; Alignment.
  ENDSTRUC CREATESTRUCT
%ENDIF
↑ MSG
The MSG structure contains message information from a thread’s message queue.
%IF %^WIDTH = 32
MSG STRUC
.hWnd              D DWORD
.message           D DWORD
.wParam            D DWORD
.lParam            D DWORD
.time              D DWORD
.pt                DS POINT
 ENDSTRUC MSG
%ENDIF

%IF %^WIDTH = 64
MSG STRUC
.hWnd              D QWORD
.message           D DWORD
                   D DWORD ; Alignment.
.wParam            D QWORD
.lParam            D QWORD
.time              D DWORD
.pt                DS POINT
                   D DWORD ; Alignment.
 ENDSTRUC MSG
%ENDIF
↑ PAINTSTRUCT
contains information for an application.
This information can be used to paint the client area of a window owned by that application.
%IF %^WIDTH = 32
PAINTSTRUCT STRUC
.hDC         D DWORD
.fErase      D DWORD
.rcPaint     DS RECT
.fRestore    D DWORD
.fIncUpdate  D DWORD
.rgbReserved D 32*BYTE
ENDSTRUC PAINTSTRUCT
%ENDIF

%IF %^WIDTH = 64
PAINTSTRUCT STRUC
.hDC         D QWORD
.fErase      D DWORD
.rcPaint     DS RECT
.fRestore    D DWORD
.fIncUpdate  D DWORD
.rgbReserved D 32*BYTE
             D DWORD ; Alignment.
ENDSTRUC PAINTSTRUCT
%ENDIF
↑ SCROLLINFO
contains scroll bar parameters.
SCROLLINFO STRUC
.cbSize    D D
.fMask     D D
.nMin      D D
.nMax      D D
.nPage     D D
.nPos      D D
.nTrackPos D D
  ENDSTRUC SCROLLINFO
↑ TEXTMETRIC
contains basic information about a physical font.
TEXTMETRICA STRUC   ; ANSI version.
.tmHeight           D DWORD
.tmAscent           D DWORD
.tmDescent          D DWORD
.tmInternalLeading  D DWORD
.tmExternalLeading  D DWORD
.tmAveCharWidth     D DWORD
.tmMaxCharWidth     D DWORD
.tmWeight           D DWORD
.tmOverhang         D DWORD
.tmDigitizedAspectX D DWORD
.tmDigitizedAspectY D DWORD
.tmFirstChar        D BYTE
.tmLastChar         D BYTE
.tmDefaultChar      D BYTE
.tmBreakChar        D BYTE
.tmItalic           D BYTE
.tmUnderlined       D BYTE
.tmStruckOut        D BYTE
.tmPitchAndFamily   D BYTE  ; ; See TMPF_*.
.tmCharSet          D BYTE
 ENDSTRUC TEXTMETRICA

TEXTMETRICW STRUC   ; WIDE version.
.tmHeight           D DWORD
.tmAscent           D DWORD
.tmDescent          D DWORD
.tmInternalLeading  D DWORD
.tmExternalLeading  D DWORD
.tmAveCharWidth     D DWORD
.tmMaxCharWidth     D DWORD
.tmWeight           D DWORD
.tmOverhang         D DWORD
.tmDigitizedAspectX D DWORD
.tmDigitizedAspectY D DWORD
.tmFirstChar        D UNICHAR
.tmLastChar         D UNICHAR
.tmDefaultChar      D UNICHAR
.tmBreakChar        D UNICHAR
.tmItalic           D BYTE
.tmUnderlined       D BYTE
.tmStruckOut        D BYTE
.tmPitchAndFamily   D BYTE  ; See TMPF_*.
.tmCharSet          D BYTE
   ENDSTRUC TEXTMETRICW
↑ LOGFONT
defines the attributes of a font.
LOGFONT STRUC
.lfHeight         D DWORD
.lfWidth          D DWORD
.lfEscapement     D DWORD
.lfOrientation    D DWORD
.lfWeight         D DWORD
.lfItalic         D BYTE
.lfUnderline      D BYTE
.lfStrikeOut      D BYTE
.lfCharSet        D BYTE
.lfOutPrecision   D BYTE
.lfClipPrecision  D BYTE
.lfQuality        D BYTE
.lfPitchAndFamily D BYTE       ; See FF_*.
.lfFaceName       D 32*UNICHAR ; The last 16 bytes is unused when UNICODE=OFF.
        ENDSTRUC LOGFONT
↑ MINMAXINFO
Information about a window's maximized size and position and its minimum and maximum tracking size.
MINMAXINFO STRUC
.ptReserved     DS POINT
.ptMaxSize      DS POINT
.ptMaxPosition  DS POINT
.ptMinTrackSize DS POINT
.ptMaxTrackSize DS POINT
    ENDSTRUC MINMAXINFO
↑ TOOLINFO
Information about a tool in a tooltip control. 1 Only for Winver > XP, see UNICODE tooltips.
%IF %^WIDTH = 32
TOOLINFO STRUC
.cbSize   D DWORD
.uFlags   D DWORD
.hWnd     D DWORD
.uId      D DWORD
.rect     DS RECT
.hinst    D DWORD
.lpszText D DWORD
; .lParam   D DWORD  ; See 1.
   ENDSTRUC TOOLINFO
%ENDIF
%IF %^WIDTH = 64
TOOLINFO STRUC
.cbSize   D DWORD
.uFlags   D DWORD
.hWnd     D QWORD
.uId      D DWORD
.rect     DS RECT
          D DWORD ; Alignment.
.hinst    D QWORD
.lpszText D QWORD
; .lParam   D QWORD  ; See 1.
   ENDSTRUC TOOLINFO
%ENDIF
↑ Constants
Encoding of constant symbols used in WinAPI.
;  Window Messages
WM_NULL                   = 0x0000
WM_CREATE                 = 0x0001
WM_DESTROY                = 0x0002
WM_MOVE                   = 0x0003
WM_SIZE                   = 0x0005
WM_ACTIVATE               = 0x0006
WM_SETFOCUS               = 0x0007
WM_KILLFOCUS              = 0x0008
WM_ENABLE                 = 0x000A
WM_SETREDRAW              = 0x000B
WM_SETTEXT                = 0x000C
WM_GETTEXT                = 0x000D
WM_GETTEXTLENGTH          = 0x000E
WM_PAINT                  = 0x000F
WM_CLOSE                  = 0x0010
WM_QUERYENDSESSION        = 0x0011
WM_QUIT                   = 0x0012
WM_QUERYOPEN              = 0x0013
WM_ERASEBKGND             = 0x0014
WM_SYSCOLORCHANGE         = 0x0015
WM_ENDSESSION             = 0x0016
WM_SHOWWINDOW             = 0x0018
WM_SETTINGCHANGE          = 0x001A
WM_WININICHANGE           = 0x001A
WM_DEVMODECHANGE          = 0x001B
WM_ACTIVATEAPP            = 0x001C
WM_FONTCHANGE             = 0x001D
WM_TIMECHANGE             = 0x001E
WM_CANCELMODE             = 0x001F
WM_SETCURSOR              = 0x0020
WM_MOUSEACTIVATE          = 0x0021
WM_CHILDACTIVATE          = 0x0022
WM_QUEUESYNC              = 0x0023
WM_GETMINMAXINFO          = 0x0024
WM_PAINTICON              = 0x0026
WM_ICONERASEBKGND         = 0x0027
WM_NEXTDLGCTL             = 0x0028
WM_SPOOLERSTATUS          = 0x002A
WM_DRAWITEM               = 0x002B
WM_MEASUREITEM            = 0x002C
WM_DELETEITEM             = 0x002D
WM_VKEYTOITEM             = 0x002E
WM_CHARTOITEM             = 0x002F
WM_SETFONT                = 0x0030
WM_GETFONT                = 0x0031
WM_SETHOTKEY              = 0x0032
WM_GETHOTKEY              = 0x0033
WM_QUERYDRAGICON          = 0x0037
WM_COMPAREITEM            = 0x0039
WM_GETOBJECT              = 0x003D
WM_COMPACTING             = 0x0041
WM_COMMNOTIFY             = 0x0044
WM_WINDOWPOSCHANGING      = 0x0046
WM_WINDOWPOSCHANGED       = 0x0047
WM_POWER                  = 0x0048
WM_COPYDATA               = 0x004A
WM_CANCELJOURNAL          = 0x004B
WM_NOTIFY                 = 0x004E
WM_INPUTLANGCHANGEREQUEST = 0x0050
WM_INPUTLANGCHANGE        = 0x0051
WM_TCARD                  = 0x0052
WM_HELP                   = 0x0053
WM_USERCHANGED            = 0x0054
WM_NOTIFYFORMAT           = 0x0055
WM_CONTEXTMENU            = 0x007B
WM_STYLECHANGING          = 0x007C
WM_STYLECHANGED           = 0x007D
WM_DISPLAYCHANGE          = 0x007E
WM_GETICON                = 0x007F
WM_SETICON                = 0x0080
WM_NCCREATE               = 0x0081
WM_NCDESTROY              = 0x0082
WM_NCCALCSIZE             = 0x0083
WM_NCHITTEST              = 0x0084
WM_NCPAINT                = 0x0085
WM_NCACTIVATE             = 0x0086
WM_GETDLGCODE             = 0x0087
WM_SYNCPAINT              = 0x0088
WM_NCMOUSEMOVE            = 0x00A0
WM_NCLBUTTONDOWN          = 0x00A1
WM_NCLBUTTONUP            = 0x00A2
WM_NCLBUTTONDBLCLK        = 0x00A3
WM_NCRBUTTONDOWN          = 0x00A4
WM_NCRBUTTONUP            = 0x00A5
WM_NCRBUTTONDBLCLK        = 0x00A6
WM_NCMBUTTONDOWN          = 0x00A7
WM_NCMBUTTONUP            = 0x00A8
WM_NCMBUTTONDBLCLK        = 0x00A9
WM_NCXBUTTONDOWN          = 0x00AB
WM_NCXBUTTONUP            = 0x00AC
WM_NCXBUTTONDBLCLK        = 0x00AD
WM_KEYDOWN                = 0x0100
WM_KEYFIRST               = 0x0100
WM_KEYUP                  = 0x0101
WM_CHAR                   = 0x0102
WM_DEADCHAR               = 0x0103
WM_SYSKEYDOWN             = 0x0104
WM_SYSKEYUP               = 0x0105
WM_SYSCHAR                = 0x0106
WM_SYSDEADCHAR            = 0x0107
WM_KEYLAST                = 0x0108
WM_IME_STARTCOMPOSITION   = 0x010D
WM_IME_ENDCOMPOSITION     = 0x010E
WM_IME_KEYLAST            = 0x010F
WM_IME_COMPOSITION        = 0x010F
WM_INITDIALOG             = 0x0110
WM_COMMAND                = 0x0111
WM_SYSCOMMAND             = 0x0112
WM_TIMER                  = 0x0113
WM_HSCROLL                = 0x0114
WM_VSCROLL                = 0x0115
WM_INITMENU               = 0x0116
WM_INITMENUPOPUP          = 0x0117
WM_MENUSELECT             = 0x011F
WM_MENUCHAR               = 0x0120
WM_ENTERIDLE              = 0x0121
WM_MENURBUTTONUP          = 0x0122
WM_MENUDRAG               = 0x0123
WM_MENUGETOBJECT          = 0x0124
WM_UNINITMENUPOPUP        = 0x0125
WM_MENUCOMMAND            = 0x0126
WM_CHANGEUISTATE          = 0x0127
WM_UPDATEUISTATE          = 0x0128
WM_QUERYUISTATE           = 0x0129
WM_CTLCOLORMSGBOX         = 0x0132
WM_CTLCOLOREDIT           = 0x0133
WM_CTLCOLORLISTBOX        = 0x0134
WM_CTLCOLORBTN            = 0x0135
WM_CTLCOLORDLG            = 0x0136
WM_CTLCOLORSCROLLBAR      = 0x0137
WM_CTLCOLORSTATIC         = 0x0138
WM_MOUSEMOVE              = 0x0200
WM_MOUSEFIRST             = 0x0200
WM_LBUTTONDOWN            = 0x0201
WM_LBUTTONUP              = 0x0202
WM_LBUTTONDBLCLK          = 0x0203
WM_RBUTTONDOWN            = 0x0204
WM_RBUTTONUP              = 0x0205
WM_RBUTTONDBLCLK          = 0x0206
WM_MBUTTONDOWN            = 0x0207
WM_MBUTTONUP              = 0x0208
WM_MBUTTONDBLCLK          = 0x0209
WM_MOUSEWHEEL             = 0x020A
WM_XBUTTONDOWN            = 0x020B
WM_XBUTTONUP              = 0x020C
WM_MOUSELAST              = 0x020D
WM_XBUTTONDBLCLK          = 0x020D
WM_PARENTNOTIFY           = 0x0210
WM_ENTERMENULOOP          = 0x0211
WM_EXITMENULOOP           = 0x0212
WM_NEXTMENU               = 0x0213
WM_SIZING                 = 0x0214
WM_CAPTURECHANGED         = 0x0215
WM_MOVING                 = 0x0216
WM_POWERBROADCAST         = 0x0218
WM_DEVICECHANGE           = 0x0219
WM_MDICREATE              = 0x0220
WM_MDIDESTROY             = 0x0221
WM_MDIACTIVATE            = 0x0222
WM_MDIRESTORE             = 0x0223
WM_MDINEXT                = 0x0224
WM_MDIMAXIMIZE            = 0x0225
WM_MDITILE                = 0x0226
WM_MDICASCADE             = 0x0227
WM_MDIICONARRANGE         = 0x0228
WM_MDIGETACTIVE           = 0x0229
WM_MDISETMENU             = 0x0230
WM_ENTERSIZEMOVE          = 0x0231
WM_EXITSIZEMOVE           = 0x0232
WM_DROPFILES              = 0x0233
WM_MDIREFRESHMENU         = 0x0234
WM_IME_SETCONTEXT         = 0x0281
WM_IME_NOTIFY             = 0x0282
WM_IME_CONTROL            = 0x0283
WM_IME_COMPOSITIONFULL    = 0x0284
WM_IME_SELECT             = 0x0285
WM_IME_CHAR               = 0x0286
WM_IME_REQUEST            = 0x0288
WM_IME_KEYDOWN            = 0x0290
WM_IME_KEYUP              = 0x0291
WM_NCMOUSEHOVER           = 0x02A0
WM_MOUSEHOVER             = 0x02A1
WM_NCMOUSELEAVE           = 0x02A2
WM_MOUSELEAVE             = 0x02A3
WM_CUT                    = 0x0300
WM_COPY                   = 0x0301
WM_PASTE                  = 0x0302
WM_CLEAR                  = 0x0303
WM_UNDO                   = 0x0304
WM_RENDERFORMAT           = 0x0305
WM_RENDERALLFORMATS       = 0x0306
WM_DESTROYCLIPBOARD       = 0x0307
WM_DRAWCLIPBOARD          = 0x0308
WM_PAINTCLIPBOARD         = 0x0309
WM_VSCROLLCLIPBOARD       = 0x030A
WM_SIZECLIPBOARD          = 0x030B
WM_ASKCBFORMATNAME        = 0x030C
WM_CHANGECBCHAIN          = 0x030D
WM_HSCROLLCLIPBOARD       = 0x030E
WM_QUERYNEWPALETTE        = 0x030F
WM_PALETTEISCHANGING      = 0x0310
WM_PALETTECHANGED         = 0x0311
WM_HOTKEY                 = 0x0312
WM_PRINT                  = 0x0317
WM_PRINTCLIENT            = 0x0318
WM_APPCOMMAND             = 0x0319
WM_HANDHELDFIRST          = 0x0358
WM_HANDHELDLAST           = 0x035F
WM_AFXFIRST               = 0x0360
WM_AFXLAST                = 0x037F
WM_PENWINFIRST            = 0x0380
WM_PENWINLAST             = 0x038F
WM_USER                   = 0x0400
WM_APP                    = 0x8000

; Class styles
CS_VREDRAW                = 0x0001
CS_HREDRAW                = 0x0002
CS_DBLCLKS                = 0x0008
CS_OWNDC                  = 0x0020
CS_CLASSDC                = 0x0040
CS_PARENTDC               = 0x0080
CS_NOCLOSE                = 0x0200
CS_SAVEBITS               = 0x0800
CS_BYTEALIGNCLIENT        = 0x1000
CS_BYTEALIGNWINDOW        = 0x2000
CS_GLOBALCLASS            = 0x4000
CS_IME                    = 0x00010000

; RedrawWindow() flags
RDW_INVALIDATE            = 0x0001
RDW_INTERNALPAINT         = 0x0002
RDW_ERASE                 = 0x0004
RDW_VALIDATE              = 0x0008
RDW_NOINTERNALPAINT       = 0x0010
RDW_NOERASE               = 0x0020
RDW_NOCHILDREN            = 0x0040
RDW_ALLCHILDREN           = 0x0080
RDW_UPDATENOW             = 0x0100
RDW_ERASENOW              = 0x0200
RDW_FRAME                 = 0x0400
RDW_NOFRAME               = 0x0800

; WM_SIZE message wParam values
SIZE_RESTORED             = 0
SIZE_MINIMIZED            = 1
SIZE_MAXIMIZED            = 2
SIZE_MAXSHOW              = 3
SIZE_MAXHIDE              = 4

; MessageBox() flags
MB_OK                     = 00000000h
MB_OKCANCEL               = 00000001h
MB_ABORTRETRYIGNORE       = 00000002h
MB_YESNOCANCEL            = 00000003h
MB_YESNO                  = 00000004h
MB_RETRYCANCEL            = 00000005h
MB_ICONHAND               = 00000010h
MB_ICONQUESTION           = 00000020h
MB_ICONEXCLAMATION        = 00000030h
MB_ICONASTERISK           = 00000040h
MB_ICONWARNING            = MB_ICONEXCLAMATION
MB_ICONERROR              = MB_ICONHAND
MB_ICONINFORMATION        = MB_ICONASTERISK
MB_ICONSTOP               = MB_ICONHAND
MB_DEFBUTTON1             = 00000000h
MB_DEFBUTTON2             = 00000100h
MB_DEFBUTTON3             = 00000200h
MB_DEFBUTTON4             = 00000300h
MB_APPLMODAL              = 00000000h
MB_SYSTEMMODAL            = 00001000h
MB_TASKMODAL              = 00002000h
MB_HELP                   = 00004000h
MB_TOPMOST                = 00040000h
MB_RIGHT                  = 00080000h
MB_RTLREADING             = 00100000h
MB_NOFOCUS                = 00008000h
MB_SETFOREGROUND          = 00010000h
MB_DEFAULT_DESKTOP_ONLY   = 00020000h
MB_SERVICE_NOTIFICATION   = 00200000h  ;NT 4.0 and later (see MessageBox doc)
MB_TYPEMASK               = 0000000Fh
MB_USERICON               = 00000080h
MB_ICONMASK               = 000000F0h
MB_DEFMASK                = 00000F00h
MB_MODEMASK               = 00003000h
MB_MISCMASK               = 0000C000h

; GetSystemMetrics() codes
CW_USEDEFAULT             = 0x80000000
SM_ARRANGE                = 56
SM_CLEANBOOT              = 67
SM_CMONITORS              = 80
SM_CMOUSEBUTTONS          = 43
SM_CXBORDER               =  5
SM_CXCURSOR               = 13
SM_CXDLGFRAME             =  7
SM_CXDOUBLECLK            = 36
SM_CXDRAG                 = 68
SM_CXEDGE                 = 45
SM_CXFIXEDFRAME           =  7
SM_CXFRAME                = 32
SM_CXFULLSCREEN           = 16
SM_CXHSCROLL              = 21
SM_CXHTHUMB               = 10
SM_CXICON                 = 11
SM_CXICONSPACING          = 38
SM_CXMAXIMIZED            = 61
SM_CXMAXTRACK             = 59
SM_CXMENUCHECK            = 71
SM_CXMENUSIZE             = 54
SM_CXMIN                  = 28
SM_CXMINIMIZED            = 57
SM_CXMINSPACING           = 47
SM_CXMINTRACK             = 34
SM_CXSCREEN               =  0
SM_CXSIZE                 = 30
SM_CXSIZEFRAME            = 32
SM_CXSMICON               = 49
SM_CXSMSIZE               = 52
SM_CXVIRTUALSCREEN        = 78
SM_CXVSCROLL              =  2
SM_CYBORDER               =  6
SM_CYCAPTION              =  4
SM_CYCURSOR               = 14
SM_CYDLGFRAME             =  8
SM_CYDOUBLECLK            = 37
SM_CYDRAG                 = 69
SM_CYEDGE                 = 46
SM_CYFIXEDFRAME           =  8
SM_CYFRAME                = 33
SM_CYFULLSCREEN           = 17
SM_CYHSCROLL              =  3
SM_CYICON                 = 12
SM_CYICONSPACING          = 39
SM_CYKANJIWINDOW          = 18
SM_CYMAXIMIZED            = 62
SM_CYMAXTRACK             = 60
SM_CYMENU                 = 15
SM_CYMENUCHECK            = 72
SM_CYMENUSIZE             = 55
SM_CYMIN                  = 29
SM_CYMINIMIZED            = 58
SM_CYMINSPACING           = 48
SM_CYMINTRACK             = 35
SM_CYSCREEN               =  1
SM_CYSIZE                 = 31
SM_CYSIZEFRAME            = 33
SM_CYSMCAPTION            = 51
SM_CYSMICON               = 50
SM_CYSMSIZE               = 53
SM_CYVIRTUALSCREEN        = 79
SM_CYVSCROLL              = 20
SM_CYVTHUMB               =  9
SM_DBCSENABLED            = 42
SM_DEBUG                  = 22
SM_IMMENABLED             = 82
SM_MENUDROPALIGNMENT      = 40
SM_MIDEASTENABLED         = 74
SM_MOUSEPRESENT           = 19
SM_MOUSEWHEELPRESENT      = 75
SM_NETWORK                = 63
SM_PENWINDOWS             = 41
SM_SAMEDISPLAYFORMAT      = 81
SM_SECURE                 = 44
SM_SHOWSOUNDS             = 70
SM_SLOWMACHINE            = 73
SM_SWAPBUTTON             = 23
SM_XVIRTUALSCREEN         = 76
SM_YVIRTUALSCREEN         = 77

; Window Styles
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 | WS_DLGFRAME
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                  = WS_OVERLAPPED
WS_ICONIC                 = WS_MINIMIZE
WS_SIZEBOX                = WS_THICKFRAME

; Common Window Styles
WS_OVERLAPPEDWINDOW       = WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX
WS_TILEDWINDOW            = WS_OVERLAPPEDWINDOW
WS_POPUPWINDOW            = WS_POPUP|WS_BORDER|WS_SYSMENU
WS_CHILDWINDOW            = WS_CHILD

; Extended Window Styles
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_LAYERED             = 0x00080000
WS_EX_OVERLAPPEDWINDOW    = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE
WS_EX_PALETTEWINDOW       = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST
WS_EX_NOINHERITLAYOUT     = 0x00100000
WS_EX_LAYOUTRTL           = 0x00400000
WS_EX_NOACTIVATE          = 0x08000000

; Window field offsets for GetWindowLong()
GWL_WNDPROC               =  -4
GWL_HINSTANCE             =  -6
GWL_HWNDPARENT            =  -8
GWL_ID                    = -12
GWL_STYLE                 = -16
GWL_EXSTYLE               = -20
GWL_USERDATA              = -21

; Stock Logical Objects
WHITE_BRUSH               =  0
LTGRAY_BRUSH              =  1
GRAY_BRUSH                =  2
DKGRAY_BRUSH              =  3
BLACK_BRUSH               =  4
NULL_BRUSH                =  5
HOLLOW_BRUSH              =  5
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
CLR_INVALID               = -1

; Brush Styles
BS_SOLID                  = 0
BS_NULL                   = 1
BS_HOLLOW                 = 1
BS_HATCHED                = 2
BS_PATTERN                = 3
BS_INDEXED                = 4
BS_DIBPATTERN             = 5
BS_DIBPATTERNPT           = 6
BS_PATTERN8X8             = 7
BS_DIBPATTERN8X8          = 8
BS_MONOPATTERN            = 9

; Hatch Styles
HS_HORIZONTAL             = 0       ; -----
HS_VERTICAL               = 1       ; |||||
HS_FDIAGONAL              = 2       ; \\\\\
HS_BDIAGONAL              = 3       ; /////
HS_CROSS                  = 4       ; +++++
HS_DIAGCROSS              = 5       ; xxxxx

; Pen Styles
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
PS_ENDCAP_ROUND           = 0x00000000
PS_ENDCAP_SQUARE          = 0x00000100
PS_ENDCAP_FLAT            = 0x00000200
PS_ENDCAP_MASK            = 0x00000F00
PS_JOIN_ROUND             = 0x00000000
PS_JOIN_BEVEL             = 0x00001000
PS_JOIN_MITER             = 0x00002000
PS_JOIN_MASK              = 0x0000F000
PS_COSMETIC               = 0x00000000
PS_GEOMETRIC              = 0x00010000
PS_TYPE_MASK              = 0x000F0000
AD_COUNTERCLOCKWISE       = 1
AD_CLOCKWISE              = 2

; Standard Cursor IDs
IDC_ARROW                 = 32512
IDC_IBEAM                 = 32513
IDC_WAIT                  = 32514
IDC_CROSS                 = 32515
IDC_UPARROW               = 32516
IDC_SIZE                  = 32640  ; OBSOLETE: use IDC_SIZEALL
IDC_ICON                  = 32641  ; OBSOLETE: use IDC_ARROW
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

; System Menu Command Values
SC_SIZE                   = 0xF000
SC_MOVE                   = 0xF010
SC_MINIMIZE               = 0xF020
SC_MAXIMIZE               = 0xF030
SC_NEXTWINDOW             = 0xF040
SC_PREVWINDOW             = 0xF050
SC_CLOSE                  = 0xF060
SC_VSCROLL                = 0xF070
SC_HSCROLL                = 0xF080
SC_MOUSEMENU              = 0xF090
SC_KEYMENU                = 0xF100
SC_ARRANGE                = 0xF110
SC_RESTORE                = 0xF120
SC_TASKLIST               = 0xF130
SC_SCREENSAVE             = 0xF140
SC_HOTKEY                 = 0xF150
SC_DEFAULT                = 0xF160
SC_MONITORPOWER           = 0xF170
SC_CONTEXTHELP            = 0xF180
SC_SEPARATOR              = 0xF00F

; Device Parameters for GetDeviceCaps()
DRIVERVERSION    = 0     ; Device driver version
TECHNOLOGY       = 2     ; Device classification
HORZSIZE         = 4     ; Horizontal size in millimeters
VERTSIZE         = 6     ; Vertical size in millimeters
HORZRES          = 8     ; Horizontal width in pixels
VERTRES          = 10    ; Vertical height in pixels
BITSPIXEL        = 12    ; Number of bits per pixel
PLANES           = 14    ; Number of planes
NUMBRUSHES       = 16    ; Number of brushes the device has
NUMPENS          = 18    ; Number of pens the device has
NUMMARKERS       = 20    ; Number of markers the device has
NUMFONTS         = 22    ; Number of fonts the device has
NUMCOLORS        = 24    ; Number of colors the device supports
PDEVICESIZE      = 26    ; Size required for device descriptor
CURVECAPS        = 28    ; Curve capabilities
LINECAPS         = 30    ; Line capabilities
POLYGONALCAPS    = 32    ; Polygonal capabilities
TEXTCAPS         = 34    ; Text capabilities
CLIPCAPS         = 36    ; Clipping capabilities
RASTERCAPS       = 38    ; Bitblt capabilities
ASPECTX          = 40    ; Length of the X leg
ASPECTY          = 42    ; Length of the Y leg
ASPECTXY         = 44    ; Length of the hypotenuse
LOGPIXELSX       = 88    ; Logical pixels/inch in X
LOGPIXELSY       = 90    ; Logical pixels/inch in Y
SIZEPALETTE      = 104    ; Number of entries in physical palette
NUMRESERVED      = 106    ; Number of reserved entries in palette
COLORRES         = 108    ; Actual color resolution
PHYSICALWIDTH    = 110    ; Physical Width in device units
PHYSICALHEIGHT   = 111    ; Physical Height in device units
PHYSICALOFFSETX  = 112    ; Physical Printable Area x margin
PHYSICALOFFSETY  = 113    ; Physical Printable Area y margin
SCALINGFACTORX   = 114    ; Scaling factor x
SCALINGFACTORY   = 115    ; Scaling factor y
VREFRESH         = 116    ; Current vertical refresh rate of the display device (for displays only) in Hz
DESKTOPVERTRES   = 117    ; Horizontal width of entire desktop in pixels
DESKTOPHORZRES   = 118    ; Vertical height of entire desktop in pixels
BLTALIGNMENT     = 119    ; Preferred blt alignment
SHADEBLENDCAPS   = 120    ; Shading and blending caps
COLORMGMTCAPS    = 121    ; Color Management caps

; Dialog command id's.
IDOK             = 1
IDCANCEL         = 2
IDABORT          = 3
IDRETRY          = 4
IDIGNORE         = 5
IDYES            = 6
IDNO             = 7
IDCLOSE          = 8
IDHELP           = 9
IDC_STATIC       = -1

; Scroll Bar Constants
SB_HORZ          = 0
SB_VERT          = 1
SB_CTL           = 2
SB_BOTH          = 3

; Scroll Bar Commands
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

; ShowWindow() Commands
SW_HIDE              = 0
SW_SHOWNORMAL        = 1
SW_NORMAL            = 1
SW_SHOWMINIMIZED     = 2
SW_SHOWMAXIMIZED     = 3
SW_MAXIMIZE          = 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
SW_MAX               = 11

; Old ShowWindow() Commands
HIDE_WINDOW          = 0
SHOW_OPENWINDOW      = 1
SHOW_ICONWINDOW      = 2
SHOW_FULLSCREEN      = 3
SHOW_OPENNOACTIVATE  = 4

; Identifiers for the WM_SHOWWINDOW message
SW_PARENTCLOSING     = 1
SW_OTHERZOOM         = 2
SW_PARENTOPENING     = 3
SW_OTHERUNZOOM       = 4

; Virtual Keys, Standard Set
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_ALT               = VK_MENU
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_L* & VK_R* - left and right Shift, Ctrl, Alt virtual keys.
; Used only as parameters to GetAsyncKeyState() and GetKeyState().
; No other API or message will distinguish left and right keys in this way.
VK_LSHIFT            = 0xA0
VK_RSHIFT            = 0xA1
VK_LCONTROL          = 0xA2
VK_RCONTROL          = 0xA3
VK_LMENU             = 0xA4
VK_RMENU             = 0xA5

; Key State Masks for Mouse Messages
MK_LBUTTON           = 0x0001
MK_RBUTTON           = 0x0002
MK_SHIFT             = 0x0004
MK_CONTROL           = 0x0008
MK_MBUTTON           = 0x0010
MK_XBUTTON1          = 0x0020
MK_XBUTTON2          = 0x0040

; Mouse events
TME_HOVER            = 0x00000001
TME_LEAVE            = 0x00000002
TME_NONCLIENT        = 0x00000010
TME_QUERY            = 0x40000000
TME_CANCEL           = 0x80000000
HOVER_DEFAULT        = 0xFFFFFFFF

; FONT.lfPitchAndFamily flags.
TMPF_FIXED_PITCH     = 0x01
TMPF_VECTOR          = 0x02
TMPF_TRUETYPE        = 0x04
TMPF_DEVICE          = 0x08
DEFAULT_PITCH        = 0x00
FIXED_PITCH          = 0x01 ; Proportional font (!).
VARIABLE_PITCH       = 0x02
MONO_FONT            = 0x08
FF_DONTCARE          = 0x00
FF_ROMAN             = 0x10
FF_SWISS             = 0x20
FF_MODERN            = 0x30
FF_SCRIPT            = 0x40
FF_DECORATIVE        = 0x50
TMPF_DONTCARE        = FF_DONTCARE
TMPF_ROMAN           = FF_ROMAN
TMPF_SWISS           = FF_SWISS
TMPF_MODERN          = FF_MODERN
TMPF_SCRIPT          = FF_SCRIPT
TMPF_DECORATIVE      = FF_DECORATIVE

; LOGFONT.lfCharSet
ANSI_CHARSET         =  0
DEFAULT_CHARSET      =  1
SYMBOL_CHARSET       =  2
SHIFTJIS_CHARSET     =  128
HANGEUL_CHARSET      =  129
HANGUL_CHARSET       =  129
GB2312_CHARSET       =  134
CHINESEBIG5_CHARSET  =  136
OEM_CHARSET          =  255
JOHAB_CHARSET        =  130
HEBREW_CHARSET       =  177
ARABIC_CHARSET       =  178
GREEK_CHARSET        =  161
TURKISH_CHARSET      =  162
VIETNAMESE_CHARSET   =  163
THAI_CHARSET         =  222
EASTEUROPE_CHARSET   =  238
RUSSIAN_CHARSET      =  204

; Font Weights LOGFONT.lfWeight
FW_DONTCARE          = 0
FW_THIN              = 100
FW_NORMAL            = 400
FW_MEDIUM            = 500
FW_BOLD              = 700
FW_HEAVY             = 900

; Font quality LOGFONT.lfQUality
DEFAULT_QUALITY        = 0
DRAFT_QUALITY          = 1
PROOF_QUALITY          = 2
NONANTIALIASED_QUALITY = 3
ANTIALIASED_QUALITY    = 4

; Font output precision LOGFONT.lfOutPrecision
OUT_DEFAULT_PRECIS     = 0
OUT_STRING_PRECIS      = 1
OUT_CHARACTER_PRECIS   = 2
OUT_DEVICE_PRECIS      = 5

; Font clip precision LOGFONT.lfOutPrecision
CLIP_DEFAULT_PRECIS    = 0
CLIP_CHARACTER_PRECIS  = 1
CLIP_STROKE_PRECIS     = 2

; Scroll bar messages
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
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

; Tooltip
TTS_ALWAYSTIP          = 0x01
TTS_NOPREFIX           = 0x02
TTS_NOANIMATE          = 0x10
TTS_NOFADE             = 0x20
TTS_BALLOON            = 0x40
TTF_IDISHWND           = 0x0001
TTF_CENTERTIP          = 0x0002
TTF_RTLREADING         = 0x0004
TTF_SUBCLASS           = 0x0010
TTF_TRACK              = 0x0020
TTF_ABSOLUTE           = 0x0080
TTF_TRANSPARENT        = 0x0100
TTF_DI_SETITEM         = 0x8000  ; Valid only on the TTN_NEEDTEXT callback.
TTDT_AUTOMATIC         = 0
TTDT_RESHOW            = 1
TTDT_AUTOPOP           = 2
TTDT_INITIAL           = 3
TTI_NONE               = 0
TTI_INFO               = 1
TTI_WARNING            = 2
TTI_ERROR              = 3

; Tool Tip Messages
%u %SETC (('W'-'A') & %^UNICODE) + 'A'
TTM_ACTIVATE           = WM_USER + 1
TTM_SETDELAYTIME       = WM_USER + 3
TTM_ADDTOOLA           = WM_USER + 4
TTM_ADDTOOLW           = WM_USER + 50
TTM_ADDTOOL            = TTM_ADDTOOL%u
TTM_DELTOOLA           = WM_USER + 5
TTM_DELTOOLW           = WM_USER + 51
TTM_DELTOOL            = TTM_DELTOOL%u
TTM_NEWTOOLRECTA       = WM_USER + 6
TTM_NEWTOOLRECTW       = WM_USER + 52
TTM_NEWTOOLRECT        = TTM_NEWTOOLRECT%u
TTM_RELAYEVENT         = WM_USER + 7
TTM_GETTOOLINFOA       = WM_USER + 8
TTM_GETTOOLINFOW       = WM_USER + 53
TTM_GETTOOLINFO        = TTM_GETTOOLINFO%u
TTM_SETTOOLINFOA       = WM_USER + 9
TTM_SETTOOLINFOW       = WM_USER + 54
TTM_SETTOOLINFO        = TTM_SETTOOLINFO%u
TTM_HITTESTA           = WM_USER +10
TTM_HITTESTW           = WM_USER +55
TTM_HITTEST            = TTM_HITTEST%u
TTM_GETTEXTA           = WM_USER +11
TTM_GETTEXTW           = WM_USER +56
TTM_GETTEXT            = TTM_GETTEXT%u
TTM_UPDATETIPTEXTA     = WM_USER +12
TTM_UPDATETIPTEXTW     = WM_USER +57
TTM_UPDATETIPTEXT      = TTM_UPDATETIPTEXT%u
TTM_GETTOOLCOUNT       = WM_USER +13
TTM_ENUMTOOLSA         = WM_USER +14
TTM_ENUMTOOLSW         = WM_USER +58
TTM_ENUMTOOLS          = TTM_ENUMTOOLS%u
TTM_GETCURRENTTOOLA    = WM_USER + 15
TTM_GETCURRENTTOOLW    = WM_USER + 59
TTM_GETCURRENTTOOL     = TTM_GETCURRENTTOOL%u
TTM_WINDOWFROMPOINT    = WM_USER + 16
TTM_TRACKACTIVATE      = WM_USER + 17  ; wParam = TRUE/FALSE start end  lparam = LPTOOLINFO
TTM_TRACKPOSITION      = WM_USER + 18  ; lParam = dwPos
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  ; lParam = lprc
TTM_GETMARGIN          = WM_USER + 27  ; lParam = lprc
TTM_POP                = WM_USER + 28
TTM_UPDATE             = WM_USER + 29
TTM_GETBUBBLESIZE      = WM_USER + 30
TTM_ADJUSTRECT         = WM_USER + 31
TTM_SETTITLEA          = WM_USER + 32  ; wParam = TTI_*, lParam = char* szTitle
TTM_SETTITLEW          = WM_USER + 33  ; wParam = TTI_*, lParam = wchar* szTitle
TTM_SETTITLE           = TTM_SETTITLE%u

; SetWindowPos Flags
SWP_NOSIZE             = 0x0001
SWP_NOMOVE             = 0x0002
SWP_NOZORDER           = 0x0004
SWP_NOREDRAW           = 0x0008
SWP_NOACTIVATE         = 0x0010
SWP_FRAMECHANGED       = 0x0020  ; The frame changed: send WM_NCCALCSIZE
SWP_SHOWWINDOW         = 0x0040
SWP_HIDEWINDOW         = 0x0080
SWP_NOCOPYBITS         = 0x0100
SWP_NOOWNERZORDER      = 0x0200  ; Don't do owner Z ordering
SWP_NOSENDCHANGING     = 0x0400  ; Don't send WM_WINDOWPOSCHANGING
SWP_DRAWFRAME          = SWP_FRAMECHANGED
SWP_NOREPOSITION       = SWP_NOOWNERZORDER
SWP_DEFERERASE         = 0x2000
SWP_ASYNCWINDOWPOS     = 0x4000
HWND_TOP               = 0
HWND_BOTTOM            = 1
HWND_TOPMOST           = -1
HWND_NOTOPMOST         = -2

; Status bar control.
SB_SETTEXTA            = WM_USER+1
SB_GETTEXTA            = WM_USER+2
SB_GETTEXTLENGTHA      = WM_USER+3
SB_SETPARTS            = WM_USER+4
SB_GETPARTS            = WM_USER+6
SB_GETBORDERS          = WM_USER+7
SB_SETMINHEIGHT        = WM_USER+8
SB_SIMPLE              = WM_USER+9
SB_GETRECT             = WM_USER+10
SB_SETTEXTW            = WM_USER+11
SB_GETTEXTLENGTHW      = WM_USER+12
SB_GETTEXTW            = WM_USER+13
SB_ISSIMPLE            = WM_USER+14
SB_SETICON             = WM_USER+15
SB_SETTIPTEXTA         = WM_USER+16
SB_SETTIPTEXTW         = WM_USER+17
SB_GETTIPTEXTA         = WM_USER+18
SB_GETTIPTEXTW         = WM_USER+19
SB_GETICON             = WM_USER+20
%IF %^UNICODE
SB_GETTEXT             = SB_GETTEXTW
SB_GETTEXTLENGTH       = SB_GETTEXTLENGTHW
SB_GETTIPEXT           = SB_GETTIPTEXTW
SB_SETTEXT             = SB_SETTEXTW
SB_SETTIPTEXT          = SB_SETTIPTEXTW
%ELSE
SB_GETTEXT             = SB_GETTEXTA
SB_GETTEXTLENGTH       = SB_GETTEXTLENGTHA
SB_GETTIPTEXT          = SB_GETTIPTEXTA
SB_SETTEXT             = SB_SETTEXTA
SB_SETTIPTEXT          = SB_SETTIPTEXTA
%ENDIF

SB_SIMPLEID            = 0x00ff
SBT_NOBORDERS          = 0x0100
SBT_POPOUT             = 0x0200
SBT_RTLREADING         = 0x0400
SBT_NOTABPARSING       = 0x0800
SBT_TOOLTIPS           = 0x0800
SBT_OWNERDRAW          = 0x1000
SBARS_SIZEGRIP         = 0x0100
SBARS_TOOLTIPS         = 0x0800
 ENDHEAD winsgui

▲Back to the top▲