www.pudn.com > fd.zip > WIN32.ASI
;************************************************************************* ; ; WIN32.INC - Win32 assembly language structures & constants ; ; ;************************************************************************* ; ; NOTE: this file only implements the structures and constants that ; wap32.asm uses. You may extend it for your own applications. ; ;************************************************************************* ; ; ; C/C++ Run Time Library - Version 6.0 ; ; Copyright (c) 1985, 1993 by Borland International ; All Rights Reserved. ; UCHAR EQUUSHORT EQU ; used only if we really need 16 bits UINT EQU ; 32 bits for WIN32 ULONG EQU ;******************************************************************* ; ; Rectangle ; ;******************************************************************* RECT struc rcLeft UINT ? rcTop UINT ? rcRight UINT ? rcBottom UINT ? RECT ends ;******************************************************************* ; ; Window Class structure ; ;******************************************************************* WNDCLASS struc clsStyle UINT ? ; class style clsLpfnWndProc ULONG ? clsCbClsExtra UINT ? clsCbWndExtra UINT ? clsHInstance UINT ? ; instance handle clsHIcon UINT ? ; class icon handle clsHCursor UINT ? ; class cursor handle clsHbrBackground UINT ? ; class background brush clsLpszMenuName ULONG ? ; menu name clsLpszClassName ULONG ? ; far ptr to class name WNDCLASS ends PAINTSTRUCT STRUC PShdc UINT ? PSfErase UINT ? PSrcPaint UCHAR size RECT dup(?) PSfRestore UINT ? PSfIncUpdate UINT ? PSrgbReserved UCHAR 16 dup(?) PAINTSTRUCT ENDS MSGSTRUCT struc msHWND UINT ? msMESSAGE UINT ? msWPARAM UINT ? msLPARAM ULONG ? msTIME ULONG ? msPT ULONG ? MSGSTRUCT ends MINMAXINFO struc res_x dd ? res_y dd ? maxsize_x dd ? maxsize_y dd ? maxposition_x dd ? maxposition_y dd ? mintrackposition_x dd ? mintrackposition_y dd ? maxtrackposition_x dd ? maxtrackposition_y dd ? MINMAXINFO ends ; ; Stock Logical Objects ; WHITE_PEN = 6 BLACK_PEN = 7 NULL_PEN = 8 DOT_MARKER = 9 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 ; ; 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 ; ; Window State Messages ; IFNDEF NOWM WM_STATE = 0000H WM_NULL = 0000h WM_CREATE = 0001h WM_DESTROY = 0002h WM_MOVE = 0003h WM_SIZE = 0005h WM_ACTIVATE = 0006h WM_SETFOCUS = 0007h WM_KILLFOCUS = 0008h WM_ENABLE = 000Ah WM_SETREDRAW = 000Bh WM_SETTEXT = 000Ch WM_GETTEXT = 000Dh WM_GETTEXTLENGTH = 000Eh WM_PAINT = 000Fh WM_CLOSE = 0010h WM_QUERYENDSESSION = 0011h WM_QUIT = 0012h WM_QUERYOPEN = 0013h WM_ERASEBKGND = 0014h WM_SYSCOLORCHANGE = 0015h WM_ENDSESSION = 0016h WM_SYSTEMERROR = 0017h WM_SHOWWINDOW = 0018h WM_CTLCOLOR = 0019h WM_WININICHANGE = 001Ah WM_DEVMODECHANGE = 001Bh WM_ACTIVATEAPP = 001Ch WM_FONTCHANGE = 001Dh WM_TIMECHANGE = 001Eh WM_CANCELMODE = 001Fh WM_SETCURSOR = 0020h WM_MOUSEACTIVATE = 0021h WM_CHILDACTIVATE = 0022h WM_QUEUESYNC = 0023h WM_GETMINMAXINFO = 0024h WM_PAINTICON = 0026h WM_ICONERASEBKGND = 0027h WM_NEXTDLGCTL = 0028h WM_SPOOLERSTATUS = 002Ah WM_DRAWITEM = 002Bh WM_MEASUREITEM = 002Ch WM_DELETEITEM = 002Dh WM_VKEYTOITEM = 002Eh WM_CHARTOITEM = 002Fh WM_SETFONT = 0030h WM_GETFONT = 0031h WM_QUERYDRAGICON = 0037h WM_COMPAREITEM = 0039h WM_COMPACTING = 0041h WM_COMMNOTIFY = 0044h WM_WINDOWPOSCHANGING= 0046h WM_WINDOWPOSCHANGED = 0047h WM_POWER = 0048h WM_NCCREATE = 0081h WM_NCDESTROY = 0082h WM_NCCALCSIZE = 0083h WM_NCHITTEST = 0084h WM_NCPAINT = 0085h WM_NCACTIVATE = 0086h WM_GETDLGCODE = 0087h WM_NCMOUSEMOVE = 00A0h WM_NCLBUTTONDOWN = 00A1h WM_NCLBUTTONUP = 00A2h WM_NCLBUTTONDBLCLK = 00A3h WM_NCRBUTTONDOWN = 00A4h WM_NCRBUTTONUP = 00A5h WM_NCRBUTTONDBLCLK = 00A6h WM_NCMBUTTONDOWN = 00A7h WM_NCMBUTTONUP = 00A8h WM_NCMBUTTONDBLCLK = 00A9h WM_KEYFIRST = 0100h WM_KEYDOWN = 0100h WM_KEYUP = 0101h WM_CHAR = 0102h WM_DEADCHAR = 0103h WM_SYSKEYDOWN = 0104h WM_SYSKEYUP = 0105h WM_SYSCHAR = 0106h WM_SYSDEADCHAR = 0107h WM_KEYLAST = 0108h WM_INITDIALOG = 0110h WM_COMMAND = 0111h WM_SYSCOMMAND = 0112h WM_TIMER = 0113h WM_HSCROLL = 0114h WM_VSCROLL = 0115h WM_INITMENU = 0116h WM_INITMENUPOPUP = 0117h WM_MENUSELECT = 011Fh WM_MENUCHAR = 0120h WM_ENTERIDLE = 0121h WM_MOUSEFIRST = 0200h WM_MOUSEMOVE = 0200h WM_LBUTTONDOWN = 0201h WM_LBUTTONUP = 0202h WM_LBUTTONDBLCLK = 0203h WM_RBUTTONDOWN = 0204h WM_RBUTTONUP = 0205h WM_RBUTTONDBLCLK = 0206h WM_MBUTTONDOWN = 0207h WM_MBUTTONUP = 0208h WM_MBUTTONDBLCLK = 0209h WM_MOUSELAST = 0209h WM_PARENTNOTIFY = 0210h WM_MDICREATE = 0220h WM_MDIDESTROY = 0221h WM_MDIACTIVATE = 0222h WM_MDIRESTORE = 0223h WM_MDINEXT = 0224h WM_MDIMAXIMIZE = 0225h WM_MDITILE = 0226h WM_MDICASCADE = 0227h WM_MDIICONARRANGE = 0228h WM_MDIGETACTIVE = 0229h WM_MDISETMENU = 0230h WM_DROPFILES = 0233h WM_CUT = 0300h WM_COPY = 0301h WM_PASTE = 0302h WM_CLEAR = 0303h WM_UNDO = 0304h WM_RENDERFORMAT = 0305h WM_RENDERALLFORMATS = 0306h WM_DESTROYCLIPBOARD = 0307h WM_DRAWCLIPBOARD = 0308h WM_PAINTCLIPBOARD = 0309h WM_VSCROLLCLIPBOARD = 030Ah WM_SIZECLIPBOARD = 030Bh WM_ASKCBFORMATNAME = 030Ch WM_CHANGECBCHAIN = 030Dh WM_HSCROLLCLIPBOARD = 030Eh WM_QUERYNEWPALETTE = 030Fh WM_PALETTEISCHANGING = 0310h WM_PALETTECHANGED = 0311h WM_PENWINFIRST equ 0380h WM_PENWINLAST equ 038Fh WM_COALESCE_FIRST equ 0390h WM_COALESCE_LAST equ 039Fh ; private window messages start here WM_USER = 0400H ENDIF ; NOWM ; WM_MOUSEACTIVATE Return Codes MA_ACTIVATE = 1 MA_ACTIVATEANDEAT = 2 MA_NOACTIVATE = 3 ; Size message commands SIZENORMAL = 0 SIZEICONIC = 1 SIZEFULLSCREEN = 2 SIZEZOOMSHOW = 3 SIZEZOOMHIDE = 4 ; 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 ; 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 ; ; Key state masks for mouse messages ; MK_LBUTTON = 0001h MK_RBUTTON = 0002h MK_SHIFT = 0004h MK_CONTROL = 0008h MK_MBUTTON = 0010h ; ; Class styles ; CS_VREDRAW = 0001h CS_HREDRAW = 0002h CS_KEYCVTWINDOW = 0004H CS_DBLCLKS = 0008h ; 0010h reserved CS_OWNDC = 0020h CS_CLASSDC = 0040h CS_PARENTDC = 0080h CS_NOKEYCVT = 0100h CS_SAVEBITS = 0800h CS_NOCLOSE = 0200h CS_BYTEALIGNCLIENT = 1000h CS_BYTEALIGNWINDOW = 2000h CS_GLOBALCLASS = 4000h ; Global window class ; ; Special CreateWindow position value ; CW_USEDEFAULT EQU 8000h ; ; Windows styles ; WS_OVERLAPPED = 000000000h WS_ICONICPOPUP = 0C0000000h WS_POPUP = 080000000h WS_CHILD = 040000000h WS_MINIMIZE = 020000000h WS_VISIBLE = 010000000h WS_DISABLED = 008000000h WS_CLIPSIBLINGS = 004000000h WS_CLIPCHILDREN = 002000000h WS_MAXIMIZE = 001000000h WS_CAPTION = 000C00000h ; WS_BORDER | WS_DLGFRAME WS_BORDER = 000800000h WS_DLGFRAME = 000400000h WS_VSCROLL = 000200000h WS_HSCROLL = 000100000h WS_SYSMENU = 000080000h WS_THICKFRAME = 000040000h WS_HREDRAW = 000020000h WS_VREDRAW = 000010000h WS_GROUP = 000020000h WS_TABSTOP = 000010000h WS_MINIMIZEBOX = 000020000h WS_MAXIMIZEBOX = 000010000h ; Common Window Styles WS_OVERLAPPEDWINDOW = WS_OVERLAPPED OR WS_CAPTION OR WS_SYSMENU OR WS_THICKFRAME OR WS_MINIMIZEBOX OR WS_MAXIMIZEBOX WS_POPUPWINDOW = WS_POPUP OR WS_BORDER OR WS_SYSMENU WS_CHILDWINDOW = WS_CHILD WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW WS_TILED = WS_OVERLAPPED WS_ICONIC = WS_MINIMIZE WS_SIZEBOX = WS_THICKFRAME ; Extended Window Styles (low words) WS_EX_DLGMODALFRAME = 0001 WS_EX_DRAGOBJECT = 0002 WS_EX_NOPARENTNOTIFY = 0004 WS_EX_TOPMOST = 0008 ; PeekMessage() Options PM_NOREMOVE = 0000h PM_REMOVE = 0001h PM_NOYIELD = 0002h ; SetWindowPos Flags SWP_NOSIZE = 0001h SWP_NOMOVE = 0002h SWP_NOZORDER = 0004h SWP_NOREDRAW = 0008h SWP_NOACTIVATE = 0010h SWP_DRAWFRAME = 0020h SWP_SHOWWINDOW = 0040h SWP_HIDEWINDOW = 0080h SWP_NOCOPYBITS = 0100h SWP_NOREPOSITION = 0200h ; ; Predefined cursor & icon IDs ; IDC_ARROW = 32512 IDC_IBEAM = 32513 IDC_WAIT = 32514 IDC_CROSS = 32515 IDC_UPARROW = 32516 IDC_SIZE = 32640 IDC_ICON = 32641 IDC_SIZENWSE = 32642 IDC_SIZENESW = 32643 IDC_SIZEWE = 32644 IDC_SIZENS = 32645 IDI_APPLICATION = 32512 IDI_HAND = 32513 IDI_QUESTION = 32514 IDI_EXCLAMATION = 32515 IDI_ASTERISK = 32516 COLOR_SCROLLBAR = 0 COLOR_BACKGROUND = 1 COLOR_ACTIVECAPTION = 2 COLOR_INACTIVECAPTION = 3 COLOR_MENU = 4 COLOR_WINDOW = 5 COLOR_WINDOWFRAME = 6 COLOR_MENUTEXT = 7 COLOR_WINDOWTEXT = 8 COLOR_CAPTIONTEXT = 9 COLOR_ACTIVEBORDER = 10 COLOR_INACTIVEBORDER = 11 COLOR_APPWORKSPACE = 12 COLOR_HIGHLIGHT = 13 COLOR_HIGHLIGHTTEXT = 14 COLOR_BTNFACE = 15 COLOR_BTNSHADOW = 16 COLOR_GRAYTEXT = 17 COLOR_BTNTEXT = 18 ; ; Scroll bar constants ; SB_HORZ = 0 SB_VERT = 1 SB_CTL = 2 SB_BOTH = 3 ; ; Scroll Commands ; SB_LINEUP = 0 SB_LINEDOWN = 1 SB_PAGEUP = 2 SB_PAGEDOWN = 3 SB_THUMBPOSITION = 4 SB_THUMBTRACK = 5 SB_TOP = 6 SB_BOTTOM = 7 SB_ENDSCROLL = 8 ; ; MessageBox type flags ; MB_OK = 0000H MB_OKCANCEL = 0001H MB_ABORTRETRYIGNORE = 0002H MB_YESNOCANCEL = 0003H MB_YESNO = 0004H MB_RETRYCANCEL = 0005H MB_ICONHAND = 0010H MB_ICONQUESTION = 0020H MB_ICONEXCLAMATION = 0030H MB_ICONASTERISK = 0040H MB_DEFBUTTON1 = 0000H MB_DEFBUTTON2 = 0100H MB_DEFBUTTON3 = 0200H MB_APPLMODAL = 0000H MB_SYSTEMMODAL = 1000H MB_TASKMODAL = 2000H MB_NOFOCUS = 8000H ; ;*************** DIALOG BOX Command IDs ******************************* ; IDOK = 1 IDCANCEL = 2 IDABORT = 3 IDRETRY = 4 IDIGNORE = 5 IDYES = 6 IDNO = 7 ;*************************** virtual keys ******************************* ; Virtual Keys, Standard Set VK_LBUTTON = 01H VK_RBUTTON = 02H VK_CANCEL = 03H VK_BACK = 08H VK_TAB = 09H VK_CLEAR = 0cH VK_RETURN = 0dH VK_SHIFT = 10H VK_CONTROL = 11H VK_MENU = 12H VK_PAUSE = 13H VK_CAPITAL = 14H VK_ESCAPE = 1bH VK_SPACE = 20H VK_PRIOR = 21H VK_NEXT = 22H VK_END = 23H VK_HOME = 24H VK_LEFT = 25H VK_UP = 26H VK_RIGHT = 27H VK_DOWN = 28H ; VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z' ; VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '0' VK_PRINT = 2aH VK_EXECUTE = 2bH VK_SNAPSHOT = 2ch ; Printscreen key.. VK_INSERT = 2dH VK_DELETE = 2eH VK_HELP = 2fH VK_NUMPAD0 = 60H VK_NUMPAD1 = 61H VK_NUMPAD2 = 62H VK_NUMPAD3 = 63H VK_NUMPAD4 = 64H VK_NUMPAD5 = 65H VK_NUMPAD6 = 66H VK_NUMPAD7 = 67H VK_NUMPAD8 = 68H VK_NUMPAD9 = 69H VK_MULTIPLY = 6AH VK_ADD = 6BH VK_SEPARATER = 6CH VK_SUBTRACT = 6DH VK_DECIMAL = 6EH VK_DIVIDE = 6FH VK_F1 = 70H VK_F2 = 71H VK_F3 = 72H VK_F4 = 73H VK_F5 = 74H VK_F6 = 75H VK_F7 = 76H VK_F8 = 77H VK_F9 = 78H VK_F10 = 79H VK_F11 = 7aH VK_F12 = 7bH VK_F13 = 7cH VK_F14 = 7dH VK_F15 = 7eH VK_F16 = 7fH VK_F17 = 80H VK_F18 = 81H VK_F19 = 82H VK_F20 = 83H VK_F21 = 84H VK_F22 = 85H VK_F23 = 86H VK_F24 = 87H VK_NUMLOCK = 90H VK_SCROLL = 91H ;********************* MDI ******************************* MDICREATESTRUCT struc szClass dd ? szTitle dd ? hOwner dd ? x dd ? y dd ? cxc dd ? cyc dd ? style dd ? lParam dd ? MDICREATESTRUCT ends CLIENTCREATESTRUCT struc hWindowMenu dd ? idFirstChild dd ? CLIENTCREATESTRUCT ends ;********************* menu stuff ************************* ; ; Menu flags for Change/Check/Enable MenuItem ; MF_INSERT = 0000h MF_CHANGE = 0080h MF_APPEND = 0100h MF_DELETE = 0200h MF_REMOVE = 1000h MF_BYCOMMAND = 0000h MF_BYPOSITION = 0400h MF_SEPARATOR = 0800h MF_ENABLED = 0000h MF_GRAYED = 0001h MF_DISABLED = 0002h MF_UNCHECKED = 0000h MF_CHECKED = 0008h MF_USECHECKBITMAPS= 0200h MF_STRING = 0000h MF_BITMAP = 0004h MF_OWNERDRAW = 0100h MF_POPUP = 0010h MF_MENUBARBREAK = 0020h MF_MENUBREAK = 0040h MF_UNHILITE = 0000h MF_HILITE = 0080h MF_SYSMENU = 2000h MF_HELP = 4000h MF_MOUSESELECT = 8000h ; ************************ brushes *************************** LOGBRUSH struc lbStyle dd ? lbColor dd ? lbHatch dd ? LOGBRUSH ends ; ; stock brushes ; WHITE_BRUSH = 0 LTGRAY_BRUSH = 1 GRAY_BRUSH = 2 DKGRAY_BRUSH = 3 BLACK_BRUSH = 4 NULL_BRUSH = 5 HOLLOW_BRUSH = 5 ; ; Brush Styles ; BS_SOLID = 0 BS_NULL = 1 BS_HOLLOW = BS_NULL BS_HATCHED = 2 BS_PATTERN = 3 BS_INDEXED = 4 BS_DIBPATTERN = 5 ;************************** system menu **************************** ; ; System Menu Command Values ; SC_SIZE = 0F000h SC_MOVE = 0F010h SC_MINIMIZE = 0F020h SC_MAXIMIZE = 0F030h SC_NEXTWINDOW = 0F040h SC_PREVWINDOW = 0F050h SC_CLOSE = 0F060h SC_VSCROLL = 0F070h SC_HSCROLL = 0F080h SC_MOUSEMENU = 0F090h SC_KEYMENU = 0F100h SC_ARRANGE = 0F110h SC_RESTORE = 0F120h SC_TASKLIST = 0F130h SC_SCREENSAVE = 0F140h SC_HOTKEY = 0F150h SC_ICON = SC_MINIMIZE SC_ZOOM = SC_MAXIMIZE ; ; HEAP constants, WINNT style ; HEAP_NO_SERIALIZE =00000001h HEAP_GROWABLE =00000002h HEAP_GENERATE_EXCEPTIONS =00000004h HEAP_ZERO_MEMORY =00000008h HEAP_REALLOC_IN_PLACE_ONLY =00000010h HEAP_TAIL_CHECKING_ENABLED =00000020h HEAP_FREE_CHECKING_ENABLED =00000040h HEAP_DISABLE_COALESCE_ON_FREE =00000080h HEAP_CREATE_ALIGN_16 =00010000h HEAP_CREATE_ENABLE_TRACING =00020000h HEAP_MAXIMUM_TAG =0FFFh HEAP_PSEUDO_TAG_FLAG =8000h HEAP_TAG_SHIFT =16 ; ;************************* System Metrics ****************************** ; ; GetSystemMetrics() codes SM_CXSCREEN = 0 SM_CYSCREEN = 1 SM_CXVSCROLL = 2 SM_CYHSCROLL = 3 SM_CYCAPTION = 4 SM_CXBORDER = 5 SM_CYBORDER = 6 SM_CXDLGFRAME = 7 SM_CYDLGFRAME = 8 SM_CYVTHUMB = 9 SM_CXHTHUMB = 10 SM_CXICON = 11 SM_CYICON = 12 SM_CXCURSOR = 13 SM_CYCURSOR = 14 SM_CYMENU = 15 SM_CXFULLSCREEN = 16 SM_CYFULLSCREEN = 17 SM_CYKANJIWINDOW = 18 SM_MOUSEPRESENT = 19 SM_CYVSCROLL = 20 SM_CXHSCROLL = 21 SM_DEBUG = 22 SM_SWAPBUTTON = 23 SM_RESERVED1 = 24 SM_RESERVED2 = 25 SM_RESERVED3 = 26 SM_RESERVED4 = 27 SM_CXMIN = 28 SM_CYMIN = 29 SM_CXSIZE = 30 SM_CYSIZE = 31 SM_CXFRAME = 32 SM_CYFRAME = 33 SM_CXMINTRACK = 34 SM_CYMINTRACK = 35 IFNDEF NOWIN31 SM_CXDOUBLECLK = 36 SM_CYDOUBLECLK = 37 SM_CXICONSPACING = 38 SM_CYICONSPACING = 39 SM_MENUDROPALIGNMENT = 40 SM_PENWINDOWS = 41 SM_DBCSENABLED = 42 ENDIF SM_CMETRICSMAX = 43