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 STRUC .left D DWORD .top D DWORD .right D DWORD .bottom D DWORD ENDSTRUC RECT
SMALL_RECT STRUC .Left D WORD .Top D WORD .Right D WORD .Bottom D WORD ENDSTRUC SMALL_RECT
POINT STRUC .x D DWORD .y D DWORD ENDSTRUC POINT
%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
%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
%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
%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
%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 STRUC .cbSize D D .fMask D D .nMin D D .nMax D D .nPage D D .nPos D D .nTrackPos D D ENDSTRUC SCROLLINFO
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 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 STRUC .ptReserved DS POINT .ptMaxSize DS POINT .ptMaxPosition DS POINT .ptMinTrackSize DS POINT .ptMaxTrackSize DS POINT ENDSTRUC MINMAXINFO
%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
; 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