| Index | Manual | Download | Source | Macros | Embedded word Case ins.
Sitemap | Links | Forum | Tests | Projects

# winsgui.htm
Constants
Structures
CREATESTRUCT
LOGBRUSH
LOGFONT
MINMAXINFO
MSG
PAINSTRUCT
POINT
RECT
SCROLLBARINFO
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 DWORD
    .fMask     D DWORD
    .nMin      D DWORD
    .nMax      D DWORD
    .nPage     D DWORD
    .nPos      D DWORD
    .nTrackPos D DWORD
      ENDSTRUC SCROLLINFO

↑ SCROLLBARINFO

    SCROLLBARINFO STRUC
    .cbSize        D DWORD ; Size of this structure in bytes.
    .rcScrollBar   DS RECT ; A rectangle with ccordinates of the scroll bar.
    .dxyLineButton D DWORD ; Height or width of the thumb.
    .xyThumbTop    D DWORD ; Position of the top or left of the thumb.
    .xyThumbBottom D DWORD ; Position of the bottom or right of the thumb.
    .reserved      D DWORD
    .rgstate0      D DWORD ; The scroll bar itself.
    .rgstate1      D DWORD ; The top or right arrow button.
    .rgstate2      D DWORD ; The page up or page right region.
    .rgstate3      D DWORD ; The scroll box (thumb).
    .rgstate4      D DWORD ; The page down or page left region.
    .rgstate5      D DWORD ; The bottom or left arrow button.
      ENDSTRUC SCROLLBARINFO

↑ 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

↑ LOGBRUSH
  defines the attributes of a brush.

    %IF %^WIDTH=32
    LOGBRUSH STRUC
    .lbStyle    D DWORD
    .lbColor    D DWORD
    .lbHatch    D DWORD
       ENDSTRUC LOGBRUSH
    %ENDIF
    %IF %^WIDTH=64
    LOGBRUSH STRUC
    .lbStyle    D DWORD
    .lbColor    D DWORD
    .lbHatch    D QWORD
       ENDSTRUC LOGBRUSH
    %ENDIF

↑ 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 QWORD
    .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

    ; Window field offsets for GetClassLong()
    GCL_MENUNAME        = (-8)
    GCL_HBRBACKGROUND   = (-10)
    GCL_HCURSOR         = (-12)
    GCL_HICON           = (-14)
    GCL_HMODULE         = (-16)
    GCL_CBWNDEXTRA      = (-18)
    GCL_CBCLSEXTRA      = (-20)
    GCL_WNDPROC         = (-24)
    GCL_STYLE           = (-26)
    GCW_ATOM            = (-32)

    ; Window field offsets for SetClassLongPtrA()
    GCLP_HBRBACKGROUND        = -10
    GCLP_HMODULE              = -16
    GCLP_WNDPROC              = -24
    GWLP_HINSTANCE            = -6
    GWLP_ID                   = -12
    GWLP_STYLE                = -16
    GWLP_USERDATA             = -21
    GWLP_WNDPROC              = -4

    ; 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_TT_PRECIS          = 4
    OUT_DEVICE_PRECIS      = 5
    OUT_RASTER_PRECIS      = 6
    OUT_SCREEN_OUTLINE_PRECIS = 10

    ; 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

    ; Clipboard formats
    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

    ; 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

    STATE_SYSTEM_UNAVAILABLE      =  0x00000001  // Disabled
    STATE_SYSTEM_SELECTED         =  0x00000002
    STATE_SYSTEM_FOCUSED          =  0x00000004
    STATE_SYSTEM_PRESSED          =  0x00000008
    STATE_SYSTEM_CHECKED          =  0x00000010
    STATE_SYSTEM_MIXED            =  0x00000020  // 3-state checkbox or toolbar button
    STATE_SYSTEM_INDETERMINATE    =  STATE_SYSTEM_MIXED
    STATE_SYSTEM_READONLY         =  0x00000040
    STATE_SYSTEM_HOTTRACKED       =  0x00000080
    STATE_SYSTEM_DEFAULT          =  0x00000100
    STATE_SYSTEM_EXPANDED         =  0x00000200
    STATE_SYSTEM_COLLAPSED        =  0x00000400
    STATE_SYSTEM_BUSY             =  0x00000800
    STATE_SYSTEM_FLOATING         =  0x00001000  // Children "owned" not "contained" by parent
    STATE_SYSTEM_MARQUEED         =  0x00002000
    STATE_SYSTEM_ANIMATED         =  0x00004000
    STATE_SYSTEM_INVISIBLE        =  0x00008000
    STATE_SYSTEM_OFFSCREEN        =  0x00010000
    STATE_SYSTEM_SIZEABLE         =  0x00020000
    STATE_SYSTEM_MOVEABLE         =  0x00040000
    STATE_SYSTEM_SELFVOICING      =  0x00080000
    STATE_SYSTEM_FOCUSABLE        =  0x00100000
    STATE_SYSTEM_SELECTABLE       =  0x00200000
    STATE_SYSTEM_LINKED           =  0x00400000
    STATE_SYSTEM_TRAVERSED        =  0x00800000
    STATE_SYSTEM_MULTISELECTABLE  =  0x01000000  // Supports multiple selection
    STATE_SYSTEM_EXTSELECTABLE    =  0x02000000  // Supports extended selection
    STATE_SYSTEM_ALERT_LOW        =  0x04000000  // This information is of low priority
    STATE_SYSTEM_ALERT_MEDIUM     =  0x08000000  // This information is of medium priority
    STATE_SYSTEM_ALERT_HIGH       =  0x10000000  // This information is of high priority
    STATE_SYSTEM_PROTECTED        =  0x20000000  // access to this is restricted
    STATE_SYSTEM_VALID            =  0x3FFFFFFF

    OBJID_WINDOW            = 0x00000000
    OBJID_SYSMENU           = 0xFFFFFFFF
    OBJID_TITLEBAR          = 0xFFFFFFFE
    OBJID_MENU              = 0xFFFFFFFD
    OBJID_CLIENT            = 0xFFFFFFFC
    OBJID_VSCROLL           = 0xFFFFFFFB
    OBJID_HSCROLL           = 0xFFFFFFFA
    OBJID_SIZEGRIP          = 0xFFFFFFF9
    OBJID_CARET             = 0xFFFFFFF8
    OBJID_CURSOR            = 0xFFFFFFF7
    OBJID_ALERT             = 0xFFFFFFF6
    OBJID_SOUND             = 0xFFFFFFF5
    OBJID_QUERYCLASSNAMEIDX = 0xFFFFFFF4
    OBJID_NATIVEOM          = 0xFFFFFFF0

    TRANSPARENT         = 1
    OPAQUE              = 2
    BKMODE_LAST         = 2

    ; DrawText Format Flags
    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

     ENDHEAD winsgui

▲Back to the top▲