{**************************************************************************** Copyright (c) 1993,94 by Florian Kl„mpfl ****************************************************************************} unit pmwin; interface uses os2def; type MPARAM = pointer; PMPARAM = ^MPARAM; MRESULT = pointer; PMRESULT = ^MRESULT; {!!!!!!!!! eigentlich Prozedurevariablen } FNWP = pointer; PFN = pointer; { muá auáerdem in OS2DEF.PP definiert werden } PFNWP = ^FNWP; const WS_VISIBLE = $80000000; WS_DISABLED = $40000000; WS_CLIPCHILDREN = $20000000; WS_CLIPSIBLINGS = $10000000; WS_PARENTCLIP = $08000000; WS_SAVEBITS = $04000000; WS_SYNCPAINT = $02000000; WS_MINIMIZED = $01000000; WS_MAXIMIZED = $00800000; WS_ANIMATE = $00400000; WS_GROUP = $00010000; WS_TABSTOP = $00020000; WS_MULTISELECT = $00040000; CS_MOVENOTIFY = $00000001; CS_SIZEREDRAW = $00000004; CS_HITTEST = $00000008; CS_PUBLIC = $00000010; CS_FRAME = $00000020; CS_CLIPCHILDREN = $20000000; CS_CLIPSIBLINGS = $10000000; CS_PARENTCLIP = $08000000; CS_SAVEBITS = $04000000; CS_SYNCPAINT = $02000000; HWND_DESKTOP = 1; HWND_OBJECT = 2; HWND_TOP = 3; HWND_BOTTOM = 4; HWND_THREADCAPTURE = 5; function WinRegisterClass(hab : HAB;pszClassName : PSZ;pfnWndProc : PFNWP;flStyle : ULONG;cbWindowData : ULONG) : BOOL; function WinDefWindowProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT; function WinDestroyWindow(hwnd : HWND) : BOOL; function WinShowWindow(hwnd : HWND;fShow : BOOL) : BOOL; function WinQueryWindowRect(hwnd : HWND;prclDest : PRECTL) : BOOL; function WinGetPS(hwnd : HWND) : HPS; function WinReleasePS(hps : HPS) : BOOL; function WinEndPaint(hps : HPS) : BOOL; function WinGetClipPS(hwnd : HWND;hwndClip : HWND;fl : ULONG) : HPS; function WinIsWindowShowing(hwnd : HWND) : BOOL; function WinBeginPaint(hwnd : HWND;hps : HPS;prclPaint : PRECTL) : HPS; function WinOpenWindowDC(hwnd : HWND) : HDC; function WinScrollWindow(hwnd : HWND;dx : LONG;dy : LONG;prclScroll : PRECTL;prclClip : PRECTL;hrgnUpdate : HRGN;prclUpdate : PRECTL;rgfsw : ULONG) : LONG; const PSF_LOCKWINDOWUPDATE = $0001; PSF_CLIPUPWARDS = $0002; PSF_CLIPDOWNWARDS = $0004; PSF_CLIPSIBLINGS = $0008; PSF_CLIPCHILDREN = $0010; PSF_PARENTCLIP = $0020; SW_SCROLLCHILDREN = $0001; SW_INVALIDATERGN = $0002; function WinFillRect(hps : HPS;prcl : PRECTL;lColor : LONG) : BOOL; type QVERSDATA = record environment : USHORT; version : USHORT; end; PQVERSDATA = ^QVERSDATA; const QV_OS2 = $0000; QV_CMS = $0001; QV_TSO = $0002; QV_TSOBATCH = $0003; QV_OS400 = $0004; function WinQueryVersion(hab : HAB) : ULONG; function WinInitialize(flOptions : ULONG) : HAB; function WinTerminate(hab : HAB) : BOOL; function WinQueryAnchorBlock(hwnd : HWND) : HAB; function WinCreateWindow(hwndParent : HWND;pszClass : PSZ;pszName : PSZ;flStyle : ULONG;x : LONG;y : LONG;cx : LONG;cy : LONG;hwndOwner : HWND;hwndInsertBehind : HWND;id : ULONG;pCtlData : PVOID;pPresParams : PVOID) : HWND; function WinEnableWindow(hwnd : HWND;fEnable : BOOL) : BOOL; function WinIsWindowEnabled(hwnd : HWND) : BOOL; function WinEnableWindowUpdate(hwnd : HWND;fEnable : BOOL) : BOOL; function WinIsWindowVisible(hwnd : HWND) : BOOL; function WinQueryWindowText(hwnd : HWND;cchBufferMax : LONG;pchBuffer : PCH) : LONG; function WinSetWindowText(hwnd : HWND;pszText : PSZ) : BOOL; function WinQueryWindowTextLength(hwnd : HWND) : LONG; function WinWindowFromID(hwndParent : HWND;id : ULONG) : HWND; function WinIsWindow(hab : HAB;hwnd : HWND) : BOOL; function WinQueryWindow(hwnd : HWND;cmd : LONG) : HWND; function WinMultWindowFromIDs(hwndParent : HWND;prghwnd : PHWND;idFirst : ULONG;idLast : ULONG) : LONG; const QW_NEXT = 0; QW_PREV = 1; QW_TOP = 2; QW_BOTTOM = 3; QW_OWNER = 4; QW_PARENT = 5; QW_NEXTTOP = 6; QW_PREVTOP = 7; QW_FRAMEOWNER = 8; function WinSetParent(hwnd : HWND;hwndNewParent : HWND;fRedraw : BOOL) : BOOL; function WinIsChild(hwnd : HWND;hwndParent : HWND) : BOOL; function WinSetOwner(hwnd : HWND;hwndNewOwner : HWND) : BOOL; function WinQueryWindowProcess(hwnd : HWND;ppid : PPID;ptid : PTID) : BOOL; function WinQueryObjectWindow(hwndDesktop : HWND) : HWND; function WinQueryDesktopWindow(hab : HAB;hdc : HDC) : HWND; type SWP = record fl : ULONG; cy : LONG; cx : LONG; y : LONG; x : LONG; hwndInsertBehind : HWND; hwnd : HWND; ulReserved1 : ULONG; ulReserved2 : ULONG; end; PSWP = ^SWP; function WinSetWindowPos(hwnd : HWND;hwndInsertBehind : HWND;x : LONG;y : LONG;cx : LONG;cy : LONG;fl : ULONG) : BOOL; function WinSetMultWindowPos(hab : HAB;pswp : PSWP;cswp : ULONG) : BOOL; function WinQueryWindowPos(hwnd : HWND;pswp : PSWP) : BOOL; const AWP_MINIMIZED = $00010000; AWP_MAXIMIZED = $00020000; AWP_RESTORED = $00040000; AWP_ACTIVATE = $00080000; AWP_DEACTIVATE = $00100000; SWP_SIZE = $0001; SWP_MOVE = $0002; SWP_ZORDER = $0004; SWP_SHOW = $0008; SWP_HIDE = $0010; SWP_NOREDRAW = $0020; SWP_NOADJUST = $0040; SWP_ACTIVATE = $0080; SWP_DEACTIVATE = $0100; SWP_EXTSTATECHANGE = $0200; SWP_MINIMIZE = $0400; SWP_MAXIMIZE = $0800; SWP_RESTORE = $1000; SWP_FOCUSACTIVATE = $2000; SWP_FOCUSDEACTIVATE = $4000; SWP_NOAUTOCLOSE = $8000; function WinUpdateWindow(hwnd : HWND) : BOOL; function WinInvalidateRect(hwnd : HWND;pwrc : PRECTL;fIncludeChildren : BOOL) : BOOL; function WinInvalidateRegion(hwnd : HWND;hrgn : HRGN;fIncludeChildren : BOOL) : BOOL; function WinInvertRect(hps : HPS;prcl : PRECTL) : BOOL; function WinDrawBitmap(hpsDst : HPS;hbm : HBITMAP;pwrcSrc : PRECTL;pptlDst : PPOINTL;clrFore : LONG;clrBack : LONG;fl : ULONG) : BOOL; const DBM_NORMAL = $0000; DBM_INVERT = $0001; DBM_HALFTONE = $0002; DBM_STRETCH = $0004; DBM_IMAGEATTRS = $0008; function WinDrawText(hps : HPS;cchText : LONG;lpchText : PCH;prcl : PRECTL;clrFore : LONG;clrBack : LONG;flCmd : ULONG) : LONG; const DT_LEFT = $0000; DT_QUERYEXTENT = $0002; DT_UNDERSCORE = $0010; DT_STRIKEOUT = $0020; DT_TEXTATTRS = $0040; DT_EXTERNALLEADING = $0080; DT_CENTER = $0100; DT_RIGHT = $0200; DT_TOP = $0000; DT_VCENTER = $0400; DT_BOTTOM = $0800; DT_HALFTONE = $1000; DT_MNEMONIC = $2000; DT_WORDBREAK = $4000; DT_ERASERECT = $8000; function WinDrawBorder(hps : HPS;prcl : PRECTL;cx : LONG;cy : LONG;clrFore : LONG;clrBack : LONG;flCmd : ULONG) : BOOL; const DB_PATCOPY = $0000; DB_PATINVERT = $0001; DB_DESTINVERT = $0002; DB_AREAMIXMODE = $0003; DB_ROP = $0007; DB_INTERIOR = $0008; DB_AREAATTRS = $0010; DB_STANDARD = $0100; DB_DLGBORDER = $0200; function WinLoadString(hab : HAB;hmod : HMODULE;id : ULONG;cchMax : LONG;pchBuffer : PSZ) : LONG; function WinLoadMessage(hab : HAB;hmod : HMODULE;id : ULONG;cchMax : LONG;pchBuffer : PSZ) : LONG; function WinSetActiveWindow(hwndDesktop : HWND;hwnd : HWND) : BOOL; type CREATESTRUCT = record pPresParams : PVOID; pCtlData : PVOID; id : ULONG; hwndInsertBehind : HWND; hwndOwner : HWND; cy : LONG; cx : LONG; y : LONG; x : LONG; flStyle : ULONG; pszText : PSZ; pszClass : PSZ; hwndParent : HWND; end; PCREATESTRUCT = ^CREATESTRUCT; CLASSINFO = record flClassStyle : ULONG; pfnWindowProc : PFNWP; cbWindowData : ULONG; end; PCLASSINFO = ^CLASSINFO; function WinSubclassWindow(hwnd : HWND;pfnwp : PFNWP) : PFNWP; function WinQueryClassName(hwnd : HWND;cchMax : LONG;pch : PCH) : LONG; function WinQueryClassInfo(hab : HAB;pszClassName : PSZ;pClassInfo : PCLASSINFO) : BOOL; function WinQueryActiveWindow(hwndDesktop : HWND) : HWND; function WinIsThreadActive(hab : HAB) : BOOL; function WinQuerySysModalWindow(hwndDesktop : HWND) : HWND; function WinSetSysModalWindow(hwndDesktop : HWND;hwnd : HWND) : BOOL; function WinQueryWindowUShort(hwnd : HWND;index : LONG) : USHORT; function WinSetWindowUShort(hwnd : HWND;index : LONG;us : USHORT) : BOOL; function WinQueryWindowULong(hwnd : HWND;index : LONG) : ULONG; function WinSetWindowULong(hwnd : HWND;index : LONG;ul : ULONG) : BOOL; function WinQueryWindowPtr(hwnd : HWND;index : LONG) : PVOID; function WinSetWindowPtr(hwnd : HWND;index : LONG;p : PVOID) : BOOL; function WinSetWindowBits(hwnd : HWND;index : LONG;flData : ULONG;flMask : ULONG) : BOOL; const QWS_USER = 0; QWS_ID = -1; QWS_MIN = -1; QWL_USER = 0; QWL_STYLE = -2; QWP_PFNWP = -3; QWL_HMQ = -4; QWL_RESERVED = -5; QWL_MIN = -6; QWL_HHEAP = $0004; QWL_HWNDFOCUSSAVE = $0018; QWL_DEFBUTTON = $0040; QWL_PSSCBLK = $0048; QWL_PFEPBLK = $004c; QWL_PSTATBLK = $0050; QWS_FLAGS = $0008; QWS_RESULT = $000a; QWS_XRESTORE = $000c; QWS_YRESTORE = $000e; QWS_CXRESTORE = $0010; QWS_CYRESTORE = $0012; QWS_XMINIMIZE = $0014; QWS_YMINIMIZE = $0016; type HENUM = LHANDLE; function WinBeginEnumWindows(hwnd : HWND) : HENUM; function WinGetNextWindow(henum : HENUM) : HWND; function WinEndEnumWindows(henum : HENUM) : BOOL; function WinWindowFromPoint(hwnd : HWND;pptl : PPOINTL;fChildren : BOOL) : HWND; function WinMapWindowPoints(hwndFrom : HWND;hwndTo : HWND;prgptl : PPOINTL;cwpt : LONG) : BOOL; function WinValidateRect(hwnd : HWND;prcl : PRECTL;fIncludeChildren : BOOL) : BOOL; function WinValidateRegion(hwnd : HWND;hrgn : HRGN;fIncludeChildren : BOOL) : BOOL; function WinWindowFromDC(hdc : HDC) : HWND; function WinQueryWindowDC(hwnd : HWND) : HDC; function WinGetScreenPS(hwndDesktop : HWND) : HPS; function WinLockWindowUpdate(hwndDesktop : HWND;hwndLockUpdate : HWND) : BOOL; function WinLockVisRegions(hwndDesktop : HWND;fLock : BOOL) : BOOL; function WinQueryUpdateRect(hwnd : HWND;prcl : PRECTL) : BOOL; function WinQueryUpdateRegion(hwnd : HWND;hrgn : HRGN) : LONG; function WinExcludeUpdateRegion(hps : HPS;hwnd : HWND) : LONG; type QMSG = record hwnd : HWND; msg : ULONG; mp1 : MPARAM; mp2 : MPARAM; time : ULONG; ptl : POINTL; reserved : ULONG; end; PQMSG = ^QMSG; const WM_NULL = $0000; WM_CREATE = $0001; WM_DESTROY = $0002; WM_ENABLE = $0004; WM_SHOW = $0005; WM_MOVE = $0006; WM_SIZE = $0007; WM_ADJUSTWINDOWPOS = $0008; WM_CALCVALIDRECTS = $0009; WM_SETWINDOWPARAMS = $000a; WM_QUERYWINDOWPARAMS = $000b; WM_HITTEST = $000c; WM_ACTIVATE = $000d; WM_SETFOCUS = $000f; WM_SETSELECTION = $0010; WM_PPAINT = $0011; WM_PSETFOCUS = $0012; WM_PSYSCOLORCHANGE = $0013; WM_PSIZE = $0014; WM_PACTIVATE = $0015; WM_PCONTROL = $0016; WM_COMMAND = $0020; WM_SYSCOMMAND = $0021; WM_HELP = $0022; WM_PAINT = $0023; WM_TIMER = $0024; WM_SEM1 = $0025; WM_SEM2 = $0026; WM_SEM3 = $0027; WM_SEM4 = $0028; WM_CLOSE = $0029; WM_QUIT = $002a; WM_SYSCOLORCHANGE = $002b; WM_SYSVALUECHANGED = $002d; WM_APPTERMINATENOTIFY = $002e; WM_PRESPARAMCHANGED = $002f; WM_CONTROL = $0030; WM_VSCROLL = $0031; WM_HSCROLL = $0032; WM_INITMENU = $0033; WM_MENUSELECT = $0034; WM_MENUEND = $0035; WM_DRAWITEM = $0036; WM_MEASUREITEM = $0037; WM_CONTROLPOINTER = $0038; WM_QUERYDLGCODE = $003a; WM_INITDLG = $003b; WM_SUBSTITUTESTRING = $003c; WM_MATCHMNEMONIC = $003d; WM_SAVEAPPLICATION = $003e; WM_HELPBASE = $0F00; WM_HELPTOP = $0FFF; WM_USER = $1000; CMDSRC_PUSHBUTTON = 1; CMDSRC_MENU = 2; CMDSRC_ACCELERATOR = 3; CMDSRC_FONTDLG = 4; CMDSRC_FILEDLG = 5; CMDSRC_PRINTDLG = 6; CMDSRC_COLORDLG = 7; CMDSRC_OTHER = 0; {$PACKRECORDS 1} type CMDMSG = record cmd : USHORT; unused : USHORT; source : USHORT; fMouse : USHORT; end; PCMDMSG = ^CMDMSG; {$PACKRECORDS NORMAL} MQINFO = record cb : ULONG; pid : PID; tid : TID; cmsgs : ULONG; pReserved : PVOID; end; PMQINFO = ^MQINFO; function WinSendMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT; function WinCreateMsgQueue(hab : HAB;cmsg : LONG) : HMQ; function WinDestroyMsgQueue(hmq : HMQ) : BOOL; function WinQueryQueueInfo(hmq : HMQ;pmqi : PMQINFO;cbCopy : ULONG) : BOOL; function WinCancelShutdown(hmq : HMQ;fCancelAlways : BOOL) : BOOL; function WinGetMsg(hab : HAB;pqmsg : PQMSG;hwndFilter : HWND;msgFilterFirst : ULONG;msgFilterLast : ULONG) : BOOL; function WinPeekMsg(hab : HAB;pqmsg : PQMSG;hwndFilter : HWND;msgFilterFirst : ULONG;msgFilterLast : ULONG;fl : ULONG) : BOOL; function WinDispatchMsg(hab : HAB;pqmsg : PQMSG) : MRESULT; function WinPostMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : BOOL; function WinRegisterUserMsg(hab : HAB;msgid : ULONG;datatype1 : LONG;dir1 : LONG;datatype2 : LONG;dir2 : LONG;datatyper : LONG) : BOOL; function WinRegisterUserDatatype(hab : HAB;datatype : LONG;count : LONG;types : PLONG) : BOOL; function WinSetMsgMode(hab : HAB;classname : PSZ;control : LONG) : BOOL; function WinSetSynchroMode(hab : HAB;mode : LONG) : BOOL; const PM_REMOVE = $0001; PM_NOREMOVE = $0000; RUM_IN = 1; RUM_OUT = 2; RUM_INOUT = 3; SMD_DELAYED = $0001; SMD_IMMEDIATE = $0002; SSM_SYNCHRONOUS = $0001; SSM_ASYNCHRONOUS = $0002; SSM_MIXED = $0003; CVR_ALIGNLEFT = $0001; CVR_ALIGNBOTTOM = $0002; CVR_ALIGNRIGHT = $0004; CVR_ALIGNTOP = $0008; CVR_REDRAW = $0010; HT_NORMAL = 0; HT_TRANSPARENT = (-1); HT_DISCARD = (-2); HT_ERROR = (-3); type WNDPARAMS = record fsStatus : ULONG; cchText : ULONG; pszText : PSZ; cbPresParams : ULONG; pPresParams : PVOID; cbCtlData : ULONG; pCtlData : PVOID; end; PWNDPARAMS = ^WNDPARAMS; const WPM_TEXT = $0001; WPM_CTLDATA = $0002; WPM_PRESPARAMS = $0004; WPM_CCHTEXT = $0008; WPM_CBCTLDATA = $0010; WPM_CBPRESPARAMS = $0020; function WinInSendMsg(hab : HAB) : BOOL; function WinBroadcastMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM;rgf : ULONG) : BOOL; const BMSG_POST = $0000; BMSG_SEND = $0001; BMSG_POSTQUEUE = $0002; BMSG_DESCENDANTS = $0004; BMSG_FRAMEONLY = $0008; function WinWaitMsg(hab : HAB;msgFirst : ULONG;msgLast : ULONG) : BOOL; function WinQueryQueueStatus(hwndDesktop : HWND) : ULONG; const QS_KEY = $0001; QS_MOUSEBUTTON = $0002; QS_MOUSEMOVE = $0004; QS_MOUSE = $0006; QS_TIMER = $0008; QS_PAINT = $0010; QS_POSTMSG = $0020; QS_SEM1 = $0040; QS_SEM2 = $0080; QS_SEM3 = $0100; QS_SEM4 = $0200; QS_SENDMSG = $0400; function WinQueryMsgPos(hab : HAB;pptl : PPOINTL) : BOOL; function WinQueryMsgTime(hab : HAB) : ULONG; type HEV = ULONG; HMTX = ULONG; HMUX = ULONG; function WinWaitEventSem(hev : HEV;ulTimeout : ULONG) : APIRET; function WinRequestMutexSem(hmtx : HMTX;ulTimeout : ULONG) : APIRET; function WinWaitMuxWaitSem(hmux : HMUX;ulTimeout : ULONG;pulUser : PULONG) : APIRET; function WinPostQueueMsg(hmq : HMQ;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : BOOL; const SMIM_ALL = $0EFF; SMI_NOINTEREST = $0001; SMI_INTEREST = $0002; SMI_RESET = $0004; SMI_AUTODISPATCH = $0008; function WinSetMsgInterest(hwnd : HWND;msg_class : ULONG;control : LONG) : BOOL; function WinSetClassMsgInterest(hab : HAB;pszClassName : PSZ;msg_class : ULONG;control : LONG) : BOOL; function WinSetFocus(hwndDesktop : HWND;hwndSetFocus : HWND) : BOOL; function WinFocusChange(hwndDesktop : HWND;hwndSetFocus : HWND;flFocusChange : ULONG) : BOOL; const FC_NOSETFOCUS = $0001; FC_NOBRINGTOTOP = FC_NOSETFOCUS; FC_NOLOSEFOCUS = $0002; FC_NOBRINGTOPFIRSTWINDOW = FC_NOLOSEFOCUS; FC_NOSETACTIVE = $0004; FC_NOLOSEACTIVE = $0008; FC_NOSETSELECTION = $0010; FC_NOLOSESELECTION = $0020; QFC_NEXTINCHAIN = $0001; QFC_ACTIVE = $0002; QFC_FRAME = $0003; QFC_SELECTACTIVE = $0004; QFC_PARTOFCHAIN = $0005; function WinSetCapture(hwndDesktop : HWND;hwnd : HWND) : BOOL; function WinQueryCapture(hwndDesktop : HWND) : HWND; const WM_MOUSEFIRST = $0070; WM_MOUSELAST = $0079; WM_BUTTONCLICKFIRST = $0071; WM_BUTTONCLICKLAST = $0079; WM_MOUSEMOVE = $0070; WM_BUTTON1DOWN = $0071; WM_BUTTON1UP = $0072; WM_BUTTON1DBLCLK = $0073; WM_BUTTON2DOWN = $0074; WM_BUTTON2UP = $0075; WM_BUTTON2DBLCLK = $0076; WM_BUTTON3DOWN = $0077; WM_BUTTON3UP = $0078; WM_BUTTON3DBLCLK = $0079; WM_EXTMOUSEFIRST = $0410; WM_EXTMOUSELAST = $0419; WM_CHORD = $0410; WM_BUTTON1MOTIONSTART = $0411; WM_BUTTON1MOTIONEND = $0412; WM_BUTTON1CLICK = $0413; WM_BUTTON2MOTIONSTART = $0414; WM_BUTTON2MOTIONEND = $0415; WM_BUTTON2CLICK = $0416; WM_BUTTON3MOTIONSTART = $0417; WM_BUTTON3MOTIONEND = $0418; WM_BUTTON3CLICK = $0419; WM_MOUSETRANSLATEFIRST = $0420; WM_MOUSETRANSLATELAST = $0428; WM_BEGINDRAG = $0420; WM_ENDDRAG = $0421; WM_SINGLESELECT = $0422; WM_OPEN = $0423; WM_CONTEXTMENU = $0424; WM_CONTEXTHELP = $0425; WM_TEXTEDIT = $0426; WM_BEGINSELECT = $0427; WM_ENDSELECT = $0428; function WinQueryFocus(hwndDesktop : HWND) : HWND; const WM_CHAR = $007a; WM_VIOCHAR = $007b; KC_NONE = $0000; KC_CHAR = $0001; KC_VIRTUALKEY = $0002; KC_SCANCODE = $0004; KC_SHIFT = $0008; KC_CTRL = $0010; KC_ALT = $0020; KC_KEYUP = $0040; KC_PREVDOWN = $0080; KC_LONEKEY = $0100; KC_DEADKEY = $0200; KC_COMPOSITE = $0400; KC_INVALIDCOMP = $0800; KC_TOGGLE = $1000; KC_INVALIDCHAR = $2000; KC_DBCSRSRVD1 = $4000; KC_DBCSRSRVD2 = $8000; {$PACKRECORDS 1} type MSEMSG = record x : SHORT; y : SHORT; codeHitTest : USHORT; fsInp : USHORT; end; PMSEMSG = ^MSEMSG; CHRMSG = record fs : USHORT; cRepeat : UCHAR; scancode : UCHAR; chr : USHORT; vkey : USHORT; end; PCHRMSG = ^CHRMSG; {$PACKRECORDS NORMAL} const INP_NONE = $0000; INP_KBD = $0001; INP_MULT = $0002; INP_RES2 = $0004; INP_SHIFT = $0008; INP_CTRL = $0010; INP_ALT = $0020; INP_RES3 = $0040; INP_RES4 = $0080; INP_IGNORE = $FFFF; VK_BUTTON1 = $01; VK_BUTTON2 = $02; VK_BUTTON3 = $03; VK_BREAK = $04; VK_BACKSPACE = $05; VK_TAB = $06; VK_BACKTAB = $07; VK_NEWLINE = $08; VK_SHIFT = $09; VK_CTRL = $0A; VK_ALT = $0B; VK_ALTGRAF = $0C; VK_PAUSE = $0D; VK_CAPSLOCK = $0E; VK_ESC = $0F; VK_SPACE = $10; VK_PAGEUP = $11; VK_PAGEDOWN = $12; VK_END = $13; VK_HOME = $14; VK_LEFT = $15; VK_UP = $16; VK_RIGHT = $17; VK_DOWN = $18; VK_PRINTSCRN = $19; VK_INSERT = $1A; VK_DELETE = $1B; VK_SCRLLOCK = $1C; VK_NUMLOCK = $1D; VK_ENTER = $1E; VK_SYSRQ = $1F; VK_F1 = $20; VK_F2 = $21; VK_F3 = $22; VK_F4 = $23; VK_F5 = $24; VK_F6 = $25; VK_F7 = $26; VK_F8 = $27; VK_F9 = $28; VK_F10 = $29; VK_F11 = $2A; VK_F12 = $2B; VK_F13 = $2C; VK_F14 = $2D; VK_F15 = $2E; VK_F16 = $2F; VK_F17 = $30; VK_F18 = $31; VK_F19 = $32; VK_F20 = $33; VK_F21 = $34; VK_F22 = $35; VK_F23 = $36; VK_F24 = $37; VK_ENDDRAG = $38; VK_MENU = VK_F10; VK_DBCSFIRST = $0080; VK_DBCSLAST = $00ff; VK_USERFIRST = $0100; VK_USERLAST = $01ff; function WinGetKeyState(hwndDesktop : HWND;vkey : LONG) : LONG; function WinGetPhysKeyState(hwndDesktop : HWND;sc : LONG) : LONG; function WinEnablePhysInput(hwndDesktop : HWND;fEnable : BOOL) : BOOL; function WinIsPhysInputEnabled(hwndDesktop : HWND) : BOOL; function WinSetKeyboardStateTable(hwndDesktop : HWND;pKeyStateTable : PBYTE;fSet : BOOL) : BOOL; const WM_JOURNALNOTIFY = $007c; JRN_QUEUESTATUS = $00000001; JRN_PHYSKEYSTATE = $00000002; function WinGetDlgMsg(hwndDlg : HWND;pqmsg : PQMSG) : BOOL; function WinLoadDlg(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;hmod : HMODULE;idDlg : ULONG;pCreateParams : PVOID) : HWND; function WinDlgBox(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;hmod : HMODULE;idDlg : ULONG;pCreateParams : PVOID) : ULONG; function WinDismissDlg(hwndDlg : HWND;usResult : ULONG) : BOOL; function WinQueryDlgItemShort(hwndDlg : HWND;idItem : ULONG;pResult : PSHORT;fSigned : BOOL) : BOOL; function WinSetDlgItemShort(hwndDlg : HWND;idItem : ULONG;usValue : USHORT;fSigned : BOOL) : BOOL; function WinSetDlgItemText(hwndDlg : HWND;idItem : ULONG;pszText : PSZ) : BOOL; function WinQueryDlgItemText(hwndDlg : HWND;idItem : ULONG;cchBufferMax : LONG;pchBuffer : PSZ) : ULONG; function WinQueryDlgItemTextLength(hwndDlg : HWND;idItem : ULONG) : LONG; function WinDefDlgProc(hwndDlg : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT; const DID_OK = 1; DID_CANCEL = 2; DID_ERROR = $ffff; function WinAlarm(hwndDesktop : HWND;rgfType : ULONG) : BOOL; const WA_WARNING = 0; WA_NOTE = 1; WA_ERROR = 2; WA_CWINALARMS = 3; function WinMessageBox(hwndParent : HWND;hwndOwner : HWND;pszText : PSZ;pszCaption : PSZ;idWindow : ULONG;flStyle : ULONG) : ULONG; const MB_OK = $0000; MB_OKCANCEL = $0001; MB_RETRYCANCEL = $0002; MB_ABORTRETRYIGNORE = $0003; MB_YESNO = $0004; MB_YESNOCANCEL = $0005; MB_CANCEL = $0006; MB_ENTER = $0007; MB_ENTERCANCEL = $0008; MB_NOICON = $0000; MB_CUANOTIFICATION = $0000; MB_ICONQUESTION = $0010; MB_ICONEXCLAMATION = $0020; MB_CUAWARNING = $0020; MB_ICONASTERISK = $0030; MB_ICONHAND = $0040; MB_CUACRITICAL = $0040; MB_QUERY = MB_ICONQUESTION; MB_WARNING = MB_CUAWARNING; MB_INFORMATION = MB_ICONASTERISK; MB_CRITICAL = MB_CUACRITICAL; MB_ERROR = MB_CRITICAL; MB_DEFBUTTON1 = $0000; MB_DEFBUTTON2 = $0100; MB_DEFBUTTON3 = $0200; MB_APPLMODAL = $0000; MB_SYSTEMMODAL = $1000; MB_HELP = $2000; MB_MOVEABLE = $4000; MBID_OK = 1; MBID_CANCEL = 2; MBID_ABORT = 3; MBID_RETRY = 4; MBID_IGNORE = 5; MBID_YES = 6; MBID_NO = 7; MBID_HELP = 8; MBID_ENTER = 9; MBID_ERROR = $ffff; DLGC_ENTRYFIELD = $0001; DLGC_BUTTON = $0002; DLGC_RADIOBUTTON = $0004; DLGC_STATIC = $0008; DLGC_DEFAULT = $0010; DLGC_PUSHBUTTON = $0020; DLGC_CHECKBOX = $0040; DLGC_SCROLLBAR = $0080; DLGC_MENU = $0100; DLGC_TABONCLICK = $0200; DLGC_MLE = $0400; function WinProcessDlg(hwndDlg : HWND) : ULONG; function WinSendDlgItemMsg(hwndDlg : HWND;idItem : ULONG;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT; function WinMapDlgPoints(hwndDlg : HWND;prgwptl : PPOINTL;cwpt : ULONG;fCalcWindowCoords : BOOL) : BOOL; function WinEnumDlgItem(hwndDlg : HWND;hwnd : HWND;code : ULONG) : HWND; function WinSubstituteStrings(hwnd : HWND;pszSrc : PSZ;cchDstMax : LONG;pszDst : PSZ) : LONG; const EDI_FIRSTTABITEM = 0; EDI_LASTTABITEM = 1; EDI_NEXTTABITEM = 2; EDI_PREVTABITEM = 3; EDI_FIRSTGROUPITEM = 4; EDI_LASTGROUPITEM = 5; EDI_NEXTGROUPITEM = 6; EDI_PREVGROUPITEM = 7; {$PACKRECORDS 2} type DLGTITEM = record fsItemStatus : USHORT; cChildren : USHORT; cchClassName : USHORT; offClassName : USHORT; cchText : USHORT; offText : USHORT; flStyle : ULONG; x : SHORT; y : SHORT; cx : SHORT; cy : SHORT; id : USHORT; offPresParams : USHORT; offCtlData : USHORT; end; PDLGTITEM = ^DLGTITEM; DLGTEMPLATE = record cbTemplate : USHORT; _type : USHORT; codepage : USHORT; offadlgti : USHORT; fsTemplateStatus : USHORT; iItemFocus : USHORT; coffPresParams : USHORT; adlgti : array[0..0] of DLGTITEM; end; PDLGTEMPLATE = ^DLGTEMPLATE; {$PACKRECORDS NORMAL} function WinCreateDlg(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;pdlgt : PDLGTEMPLATE;pCreateParams : PVOID) : HWND; const SS_TEXT = $0001; SS_GROUPBOX = $0002; SS_ICON = $0003; SS_BITMAP = $0004; SS_FGNDRECT = $0005; SS_HALFTONERECT = $0006; SS_BKGNDRECT = $0007; SS_FGNDFRAME = $0008; SS_HALFTONEFRAME = $0009; SS_BKGNDFRAME = $000a; SS_SYSICON = $000b; SS_AUTOSIZE = $0040; SM_SETHANDLE = $0100; SM_QUERYHANDLE = $0101; BS_PUSHBUTTON = 0; BS_CHECKBOX = 1; BS_AUTOCHECKBOX = 2; BS_RADIOBUTTON = 3; BS_AUTORADIOBUTTON = 4; BS_3STATE = 5; BS_AUTO3STATE = 6; BS_USERBUTTON = 7; BS_PRIMARYSTYLES = $000f; BS_BITMAP = $0040; BS_ICON = $0080; BS_HELP = $0100; BS_SYSCOMMAND = $0200; BS_DEFAULT = $0400; BS_NOPOINTERFOCUS = $0800; BS_NOBORDER = $1000; BS_NOCURSORSELECT = $2000; BS_AUTOSIZE = $4000; {$PACKRECORDS 2} type BTNCDATA = record cb : USHORT; fsCheckState : USHORT; fsHiliteState : USHORT; hImage : LHANDLE; end; PBTNCDATA = ^BTNCDATA; {$PACKRECORDS NORMAL} USERBUTTON = record hwnd : HWND; hps : HPS; fsState : ULONG; fsStateOld : ULONG; end; PUSERBUTTON = ^USERBUTTON; const BM_CLICK = $0120; BM_QUERYCHECKINDEX = $0121; BM_QUERYHILITE = $0122; BM_SETHILITE = $0123; BM_QUERYCHECK = $0124; BM_SETCHECK = $0125; BM_SETDEFAULT = $0126; BN_CLICKED = 1; BN_DBLCLICKED = 2; BN_PAINT = 3; BDS_HILITED = $0100; BDS_DISABLED = $0200; BDS_DEFAULT = $0400; ES_LEFT = $00000000; ES_CENTER = $00000001; ES_RIGHT = $00000002; ES_AUTOSCROLL = $00000004; ES_MARGIN = $00000008; ES_AUTOTAB = $00000010; ES_READONLY = $00000020; ES_COMMAND = $00000040; ES_UNREADABLE = $00000080; ES_AUTOSIZE = $00000200; ES_ANY = $00000000; ES_SBCS = $00001000; ES_DBCS = $00002000; ES_MIXED = $00003000; CBS_SIMPLE = $0001; CBS_DROPDOWN = $0002; CBS_DROPDOWNLIST = $0004; CBS_COMPATIBLE = $0008; CBID_LIST = $029A; CBID_EDIT = $029B; CBM_SHOWLIST = $0170; CBM_HILITE = $0171; CBM_ISLISTSHOWING = $0172; CBN_EFCHANGE = 1; CBN_EFSCROLL = 2; CBN_MEMERROR = 3; CBN_LBSELECT = 4; CBN_LBSCROLL = 5; CBN_SHOWLIST = 6; CBN_ENTER = 7; {$PACKRECORDS 2} type ENTRYFDATA = record cb : USHORT; cchEditLimit : USHORT; ichMinSel : USHORT; ichMaxSel : USHORT; end; PENTRYFDATA = ^ENTRYFDATA; {$PACKRECORDS NORMAL} const EM_QUERYCHANGED = $0140; EM_QUERYSEL = $0141; EM_SETSEL = $0142; EM_SETTEXTLIMIT = $0143; EM_CUT = $0144; EM_COPY = $0145; EM_CLEAR = $0146; EM_PASTE = $0147; EM_QUERYFIRSTCHAR = $0148; EM_SETFIRSTCHAR = $0149; EM_QUERYREADONLY = $014a; EM_SETREADONLY = $014b; EM_SETINSERTMODE = $014c; EN_SETFOCUS = $0001; EN_KILLFOCUS = $0002; EN_CHANGE = $0004; EN_SCROLL = $0008; EN_MEMERROR = $0010; EN_OVERFLOW = $0020; EN_INSERTMODETOGGLE = $0040; LS_MULTIPLESEL = $00000001; LS_OWNERDRAW = $00000002; LS_NOADJUSTPOS = $00000004; LS_HORZSCROLL = $00000008; LS_EXTENDEDSEL = $00000010; LN_SELECT = 1; LN_SETFOCUS = 2; LN_KILLFOCUS = 3; LN_SCROLL = 4; LN_ENTER = 5; LM_QUERYITEMCOUNT = $0160; LM_INSERTITEM = $0161; LM_SETTOPINDEX = $0162; LM_DELETEITEM = $0163; LM_SELECTITEM = $0164; LM_QUERYSELECTION = $0165; LM_SETITEMTEXT = $0166; LM_QUERYITEMTEXTLENGTH = $0167; LM_QUERYITEMTEXT = $0168; LM_SETITEMHANDLE = $0169; LM_QUERYITEMHANDLE = $016a; LM_SEARCHSTRING = $016b; LM_SETITEMHEIGHT = $016c; LM_QUERYTOPINDEX = $016d; LM_DELETEALL = $016e; LIT_CURSOR = (-4); LIT_ERROR = (-3); LIT_MEMERROR = (-2); LIT_NONE = (-1); LIT_FIRST = (-1); LIT_END = (-1); LIT_SORTASCENDING = (-2); LIT_SORTDESCENDING = (-3); LSS_SUBSTRING = $0001; LSS_PREFIX = $0002; LSS_CASESENSITIVE = $0004; MS_ACTIONBAR = $00000001; MS_TITLEBUTTON = $00000002; MS_VERTICALFLIP = $00000004; MS_CONDITIONALCASCADE = $00000040; function WinLoadMenu(hwndFrame : HWND;hmod : HMODULE;idMenu : ULONG) : HWND; const MM_INSERTITEM = $0180; MM_DELETEITEM = $0181; MM_QUERYITEM = $0182; MM_SETITEM = $0183; MM_QUERYITEMCOUNT = $0184; MM_STARTMENUMODE = $0185; MM_ENDMENUMODE = $0186; MM_REMOVEITEM = $0188; MM_SELECTITEM = $0189; MM_QUERYSELITEMID = $018a; MM_QUERYITEMTEXT = $018b; MM_QUERYITEMTEXTLENGTH = $018c; MM_SETITEMHANDLE = $018d; MM_SETITEMTEXT = $018e; MM_ITEMPOSITIONFROMID = $018f; MM_ITEMIDFROMPOSITION = $0190; MM_QUERYITEMATTR = $0191; MM_SETITEMATTR = $0192; MM_ISITEMVALID = $0193; MM_QUERYITEMRECT = $0194; MM_QUERYDEFAULTITEMID = $0431; MM_SETDEFAULTITEMID = $0432; function WinCreateMenu(hwndParent : HWND;lpmt : PVOID) : HWND; type OWNERITEM = record hwnd : HWND; hps : HPS; fsState : ULONG; fsAttribute : ULONG; fsStateOld : ULONG; fsAttributeOld : ULONG; rclItem : RECTL; idItem : LONG; hItem : ULONG; end; POWNERITEM = ^OWNERITEM; {$PACKRECORDS 2} MENUITEM = record iPosition : SHORT; afStyle : USHORT; afAttribute : USHORT; id : USHORT; hwndSubMenu : HWND; hItem : ULONG; end; PMENUITEM = ^MENUITEM; {$PACKRECORDS NORMAL} const MIT_END = (-1); MIT_NONE = (-1); MIT_MEMERROR = (-1); MIT_ERROR = (-1); MIT_FIRST = (-2); MIT_LAST = (-3); MID_NONE = MIT_NONE; MID_ERROR = (-1); MIS_TEXT = $0001; MIS_BITMAP = $0002; MIS_SEPARATOR = $0004; MIS_OWNERDRAW = $0008; MIS_SUBMENU = $0010; MIS_MULTMENU = $0020; MIS_SYSCOMMAND = $0040; MIS_HELP = $0080; MIS_STATIC = $0100; MIS_BUTTONSEPARATOR = $0200; MIS_BREAK = $0400; MIS_BREAKSEPARATOR = $0800; MIS_GROUP = $1000; MIS_SINGLE = $2000; MIA_NODISMISS = $0020; MIA_FRAMED = $1000; MIA_CHECKED = $2000; MIA_DISABLED = $4000; MIA_HILITED = $8000; function WinPopupMenu(hwndParent : HWND;hwndOwner : HWND;hwndMenu : HWND;x : LONG;y : LONG;idItem : LONG;fs : ULONG) : BOOL; const PU_POSITIONONITEM = $0001; PU_HCONSTRAIN = $0002; PU_VCONSTRAIN = $0004; PU_NONE = $0000; PU_MOUSEBUTTON1DOWN = $0008; PU_MOUSEBUTTON2DOWN = $0010; PU_MOUSEBUTTON3DOWN = $0018; PU_SELECTITEM = $0020; PU_MOUSEBUTTON1 = $0040; PU_MOUSEBUTTON2 = $0080; PU_MOUSEBUTTON3 = $0100; PU_KEYBOARD = $0200; SBS_HORZ = 0; SBS_VERT = 1; SBS_THUMBSIZE = 2; SBS_AUTOTRACK = 4; SBS_AUTOSIZE = $2000; SBM_SETSCROLLBAR = $01a0; SBM_SETPOS = $01a1; SBM_QUERYPOS = $01a2; SBM_QUERYRANGE = $01a3; SBM_SETTHUMBSIZE = $01a6; SB_LINEUP = 1; SB_LINEDOWN = 2; SB_LINELEFT = 1; SB_LINERIGHT = 2; SB_PAGEUP = 3; SB_PAGEDOWN = 4; SB_PAGELEFT = 3; SB_PAGERIGHT = 4; SB_SLIDERTRACK = 5; SB_SLIDERPOSITION = 6; SB_ENDSCROLL = 7; {$PACKRECORDS 2} type SBCDATA = record cb : USHORT; sHilite : USHORT; posFirst : SHORT; posLast : SHORT; posThumb : SHORT; cVisible : SHORT; cTotal : SHORT; end; PSBCDATA = ^SBCDATA; {$PACKRECORDS NORMAL} {$PACKRECORDS 2} FRAMECDATA = record cb : USHORT; flCreateFlags : ULONG; hmodResources : USHORT; idResources : USHORT; end; PFRAMECDATA = ^FRAMECDATA; {$PACKRECORDS NORMAL} const FCF_TITLEBAR = $00000001; FCF_SYSMENU = $00000002; FCF_MENU = $00000004; FCF_SIZEBORDER = $00000008; FCF_MINBUTTON = $00000010; FCF_MAXBUTTON = $00000020; FCF_MINMAX = $00000030; FCF_VERTSCROLL = $00000040; FCF_HORZSCROLL = $00000080; FCF_DLGBORDER = $00000100; FCF_BORDER = $00000200; FCF_SHELLPOSITION = $00000400; FCF_TASKLIST = $00000800; FCF_NOBYTEALIGN = $00001000; FCF_NOMOVEWITHOWNER = $00002000; FCF_ICON = $00004000; FCF_ACCELTABLE = $00008000; FCF_SYSMODAL = $00010000; FCF_SCREENALIGN = $00020000; FCF_MOUSEALIGN = $00040000; FCF_HIDEBUTTON = $01000000; FCF_HIDEMAX = $01000020; FCF_DBE_APPSTAT = $80000000; FCF_AUTOICON = $40000000; FCF_STANDARD = $0000CC3F; FS_ICON = $00000001; FS_ACCELTABLE = $00000002; FS_SHELLPOSITION = $00000004; FS_TASKLIST = $00000008; FS_NOBYTEALIGN = $00000010; FS_NOMOVEWITHOWNER = $00000020; FS_SYSMODAL = $00000040; FS_DLGBORDER = $00000080; FS_BORDER = $00000100; FS_SCREENALIGN = $00000200; FS_MOUSEALIGN = $00000400; FS_SIZEBORDER = $00000800; FS_AUTOICON = $00001000; FS_DBE_APPSTAT = $00008000; FS_STANDARD = $0000000F; FF_FLASHWINDOW = $0001; FF_ACTIVE = $0002; FF_FLASHHILITE = $0004; FF_OWNERHIDDEN = $0008; FF_DLGDISMISSED = $0010; FF_OWNERDISABLED = $0020; FF_SELECTED = $0040; FF_NOACTIVATESWP = $0080; function WinCreateStdWindow(hwndParent : HWND;flStyle : ULONG;pflCreateFlags : PULONG;pszClientClass : PSZ;pszTitle : PSZ;styleClient : ULONG;hmod : HMODULE;idResources : ULONG;phwndClient : PHWND) : HWND; function WinFlashWindow(hwndFrame : HWND;fFlash : BOOL) : BOOL; const WM_FLASHWINDOW = $0040; WM_FORMATFRAME = $0041; WM_UPDATEFRAME = $0042; WM_FOCUSCHANGE = $0043; WM_SETBORDERSIZE = $0044; WM_TRACKFRAME = $0045; WM_MINMAXFRAME = $0046; WM_SETICON = $0047; WM_QUERYICON = $0048; WM_SETACCELTABLE = $0049; WM_QUERYACCELTABLE = $004a; WM_TRANSLATEACCEL = $004b; WM_QUERYTRACKINFO = $004c; WM_QUERYBORDERSIZE = $004d; WM_NEXTMENU = $004e; WM_ERASEBACKGROUND = $004f; WM_QUERYFRAMEINFO = $0050; WM_QUERYFOCUSCHAIN = $0051; WM_OWNERPOSCHANGE = $0052; WM_CALCFRAMERECT = $0053; WM_WINDOWPOSCHANGED = $0055; WM_ADJUSTFRAMEPOS = $0056; WM_QUERYFRAMECTLCOUNT = $0059; WM_QUERYHELPINFO = $005B; WM_SETHELPINFO = $005C; WM_ERROR = $005D; WM_REALIZEPALETTE = $005E; FI_FRAME = $00000001; FI_OWNERHIDE = $00000002; FI_ACTIVATEOK = $00000004; FI_NOMOVEWITHOWNER = $00000008; function WinCreateFrameControls(hwndFrame : HWND;pfcdata : PFRAMECDATA;pszTitle : PSZ) : BOOL; function WinCalcFrameRect(hwndFrame : HWND;prcl : PRECTL;fClient : BOOL) : BOOL; function WinGetMinPosition(hwnd : HWND;pswp : PSWP;pptl : PPOINTL) : BOOL; function WinGetMaxPosition(hwnd : HWND;pswp : PSWP) : BOOL; type HSAVEWP = LHANDLE; function WinSaveWindowPos(hsvwp : HSAVEWP;pswp : PSWP;cswp : ULONG) : BOOL; const FID_SYSMENU = $8002; FID_TITLEBAR = $8003; FID_MINMAX = $8004; FID_MENU = $8005; FID_VERTSCROLL = $8006; FID_HORZSCROLL = $8007; FID_CLIENT = $8008; FID_DBE_APPSTAT = $8010; FID_DBE_KBDSTAT = $8011; FID_DBE_PECIC = $8012; FID_DBE_KKPOPUP = $8013; SC_SIZE = $8000; SC_MOVE = $8001; SC_MINIMIZE = $8002; SC_MAXIMIZE = $8003; SC_CLOSE = $8004; SC_NEXT = $8005; SC_APPMENU = $8006; SC_SYSMENU = $8007; SC_RESTORE = $8008; SC_NEXTFRAME = $8009; SC_NEXTWINDOW = $8010; SC_TASKMANAGER = $8011; SC_HELPKEYS = $8012; SC_HELPINDEX = $8013; SC_HELPEXTENDED = $8014; SC_SWITCHPANELIDS = $8015; SC_DBE_FIRST = $8018; SC_DBE_LAST = $801F; SC_BEGINDRAG = $8020; SC_ENDDRAG = $8021; SC_SELECT = $8022; SC_OPEN = $8023; SC_CONTEXTMENU = $8024; SC_CONTEXTHELP = $8025; SC_TEXTEDIT = $8026; SC_BEGINSELECT = $8027; SC_ENDSELECT = $8028; SC_WINDOW = $8029; SC_HIDE = $802a; TBM_SETHILITE = $01e3; TBM_QUERYHILITE = $01e4; function WinCopyRect(hab : HAB;prclDst : PRECTL;prclSrc : PRECTL) : BOOL; function WinSetRect(hab : HAB;prcl : PRECTL;xLeft : LONG;yBottom : LONG;xRight : LONG;yTop : LONG) : BOOL; function WinIsRectEmpty(hab : HAB;prcl : PRECTL) : BOOL; function WinEqualRect(hab : HAB;prcl1 : PRECTL;prcl2 : PRECTL) : BOOL; function WinSetRectEmpty(hab : HAB;prcl : PRECTL) : BOOL; function WinOffsetRect(hab : HAB;prcl : PRECTL;cx : LONG;cy : LONG) : BOOL; function WinInflateRect(hab : HAB;prcl : PRECTL;cx : LONG;cy : LONG) : BOOL; function WinPtInRect(hab : HAB;prcl : PRECTL;pptl : PPOINTL) : BOOL; function WinIntersectRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL; function WinUnionRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL; function WinSubtractRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL; function WinMakeRect(hab : HAB;pwrc : PRECTL) : BOOL; function WinMakePoints(hab : HAB;pwpt : PPOINTL;cwpt : ULONG) : BOOL; function WinQuerySysValue(hwndDesktop : HWND;iSysValue : LONG) : LONG; function WinSetSysValue(hwndDesktop : HWND;iSysValue : LONG;lValue : LONG) : BOOL; const SV_SWAPBUTTON = 0; SV_DBLCLKTIME = 1; SV_CXDBLCLK = 2; SV_CYDBLCLK = 3; SV_CXSIZEBORDER = 4; SV_CYSIZEBORDER = 5; SV_ALARM = 6; SV_RESERVEDFIRST1 = 7; SV_RESERVEDLAST1 = 8; SV_CURSORRATE = 9; SV_FIRSTSCROLLRATE = 10; SV_SCROLLRATE = 11; SV_NUMBEREDLISTS = 12; SV_WARNINGFREQ = 13; SV_NOTEFREQ = 14; SV_ERRORFREQ = 15; SV_WARNINGDURATION = 16; SV_NOTEDURATION = 17; SV_ERRORDURATION = 18; SV_RESERVEDFIRST = 19; SV_RESERVEDLAST = 19; SV_CXSCREEN = 20; SV_CYSCREEN = 21; SV_CXVSCROLL = 22; SV_CYHSCROLL = 23; SV_CYVSCROLLARROW = 24; SV_CXHSCROLLARROW = 25; SV_CXBORDER = 26; SV_CYBORDER = 27; SV_CXDLGFRAME = 28; SV_CYDLGFRAME = 29; SV_CYTITLEBAR = 30; SV_CYVSLIDER = 31; SV_CXHSLIDER = 32; SV_CXMINMAXBUTTON = 33; SV_CYMINMAXBUTTON = 34; SV_CYMENU = 35; SV_CXFULLSCREEN = 36; SV_CYFULLSCREEN = 37; SV_CXICON = 38; SV_CYICON = 39; SV_CXPOINTER = 40; SV_CYPOINTER = 41; SV_DEBUG = 42; SV_CMOUSEBUTTONS = 43; SV_CPOINTERBUTTONS = 43; SV_POINTERLEVEL = 44; SV_CURSORLEVEL = 45; SV_TRACKRECTLEVEL = 46; SV_CTIMERS = 47; SV_MOUSEPRESENT = 48; SV_CXBYTEALIGN = 49; SV_CXALIGN = 49; SV_CYBYTEALIGN = 50; SV_CYALIGN = 50; SV_NOTRESERVED = 56; SV_EXTRAKEYBEEP = 57; SV_SETLIGHTS = 58; SV_INSERTMODE = 59; SV_MENUROLLDOWNDELAY = 64; SV_MENUROLLUPDELAY = 65; SV_ALTMNEMONIC = 66; SV_TASKLISTMOUSEACCESS = 67; SV_CXICONTEXTWIDTH = 68; SV_CICONTEXTLINES = 69; SV_CHORDTIME = 70; SV_CXCHORD = 71; SV_CYCHORD = 72; SV_CXMOTION = 73; SV_CYMOTION = 74; SV_BEGINDRAG = 75; SV_ENDDRAG = 76; SV_SINGLESELECT = 77; SV_OPEN = 78; SV_CONTEXTMENU = 79; SV_CONTEXTHELP = 80; SV_TEXTEDIT = 81; SV_BEGINSELECT = 82; SV_ENDSELECT = 83; SV_BEGINDRAGKB = 84; SV_ENDDRAGKB = 85; SV_SELECTKB = 86; SV_OPENKB = 87; SV_CONTEXTMENUKB = 88; SV_CONTEXTHELPKB = 89; SV_TEXTEDITKB = 90; SV_BEGINSELECTKB = 91; SV_ENDSELECTKB = 92; SV_ANIMATION = 93; SV_ANIMATIONSPEED = 94; SV_MONOICONS = 95; SV_KBDALTERED = 96; SV_PRINTSCREEN = 97; SV_CSYSVALUES = 98; type PARAM = record id : ULONG; cb : ULONG; ab : array[0..1-1] of BYTE; end; NPPARAM = ^PARAM; PPARAM = ^PARAM; PRESPARAMS = record cb : ULONG; aparam : array[0..1-1] of PARAM; end; NPPRESPARAMS = ^PRESPARAMS; PPRESPARAMS = ^PRESPARAMS; function WinSetPresParam(hwnd : HWND;id : ULONG;cbParam : ULONG;pbParam : PVOID) : BOOL; function WinQueryPresParam(hwnd : HWND;id1 : ULONG;id2 : ULONG;pulId : PULONG;cbBuf : ULONG;pbBuf : PVOID;fs : ULONG) : ULONG; function WinRemovePresParam(hwnd : HWND;id : ULONG) : BOOL; const PP_FOREGROUNDCOLOR = 1; PP_FOREGROUNDCOLORINDEX = 2; PP_BACKGROUNDCOLOR = 3; PP_BACKGROUNDCOLORINDEX = 4; PP_HILITEFOREGROUNDCOLOR = 5; PP_HILITEFOREGROUNDCOLORINDEX = 6; PP_HILITEBACKGROUNDCOLOR = 7; PP_HILITEBACKGROUNDCOLORINDEX = 8; PP_DISABLEDFOREGROUNDCOLOR = 9; PP_DISABLEDFOREGROUNDCOLORINDEX = 10; PP_DISABLEDBACKGROUNDCOLOR = 11; PP_DISABLEDBACKGROUNDCOLORINDEX = 12; PP_BORDERCOLOR = 13; PP_BORDERCOLORINDEX = 14; PP_FONTNAMESIZE = 15; PP_FONTHANDLE = 16; PP_RESERVED = 17; PP_ACTIVECOLOR = 18; PP_ACTIVECOLORINDEX = 19; PP_INACTIVECOLOR = 20; PP_INACTIVECOLORINDEX = 21; PP_ACTIVETEXTFGNDCOLOR = 22; PP_ACTIVETEXTFGNDCOLORINDEX = 23; PP_ACTIVETEXTBGNDCOLOR = 24; PP_ACTIVETEXTBGNDCOLORINDEX = 25; PP_INACTIVETEXTFGNDCOLOR = 26; PP_INACTIVETEXTFGNDCOLORINDEX = 27; PP_INACTIVETEXTBGNDCOLOR = 28; PP_INACTIVETEXTBGNDCOLORINDEX = 29; PP_SHADOW = 30; PP_MENUFOREGROUNDCOLOR = 31; PP_MENUFOREGROUNDCOLORINDEX = 32; PP_MENUBACKGROUNDCOLOR = 33; PP_MENUBACKGROUNDCOLORINDEX = 34; PP_MENUHILITEFGNDCOLOR = 35; PP_MENUHILITEFGNDCOLORINDEX = 36; PP_MENUHILITEBGNDCOLOR = 37; PP_MENUHILITEBGNDCOLORINDEX = 38; PP_MENUDISABLEDFGNDCOLOR = 39; PP_MENUDISABLEDFGNDCOLORINDEX = 40; PP_MENUDISABLEDBGNDCOLOR = 41; PP_MENUDISABLEDBGNDCOLORINDEX = 42; PP_USER = $8000; QPF_NOINHERIT = $0001; QPF_ID1COLORINDEX = $0002; QPF_ID2COLORINDEX = $0004; QPF_PURERGBCOLOR = $0008; QPF_VALIDFLAGS = $000F; function WinQuerySysColor(hwndDesktop : HWND;clr : LONG;lReserved : LONG) : LONG; function WinSetSysColors(hwndDesktop : HWND;flOptions : ULONG;flFormat : ULONG;clrFirst : LONG;cclr : ULONG;pclr : PLONG) : BOOL; const SYSCLR_SHADOWHILITEBGND = (-50); SYSCLR_SHADOWHILITEFGND = (-49); SYSCLR_SHADOWTEXT = (-48); SYSCLR_ENTRYFIELD = (-47); SYSCLR_MENUDISABLEDTEXT = (-46); SYSCLR_MENUHILITE = (-45); SYSCLR_MENUHILITEBGND = (-44); SYSCLR_PAGEBACKGROUND = (-43); SYSCLR_FIELDBACKGROUND = (-42); SYSCLR_BUTTONLIGHT = (-41); SYSCLR_BUTTONMIDDLE = (-40); SYSCLR_BUTTONDARK = (-39); SYSCLR_BUTTONDEFAULT = (-38); SYSCLR_TITLEBOTTOM = (-37); SYSCLR_SHADOW = (-36); SYSCLR_ICONTEXT = (-35); SYSCLR_DIALOGBACKGROUND = (-34); SYSCLR_HILITEFOREGROUND = (-33); SYSCLR_HILITEBACKGROUND = (-32); SYSCLR_INACTIVETITLETEXTBGND = (-31); SYSCLR_ACTIVETITLETEXTBGND = (-30); SYSCLR_INACTIVETITLETEXT = (-29); SYSCLR_ACTIVETITLETEXT = (-28); SYSCLR_OUTPUTTEXT = (-27); SYSCLR_WINDOWSTATICTEXT = (-26); SYSCLR_SCROLLBAR = (-25); SYSCLR_BACKGROUND = (-24); SYSCLR_ACTIVETITLE = (-23); SYSCLR_INACTIVETITLE = (-22); SYSCLR_MENU = (-21); SYSCLR_WINDOW = (-20); SYSCLR_WINDOWFRAME = (-19); SYSCLR_MENUTEXT = (-18); SYSCLR_WINDOWTEXT = (-17); SYSCLR_TITLETEXT = (-16); SYSCLR_ACTIVEBORDER = (-15); SYSCLR_INACTIVEBORDER = (-14); SYSCLR_APPWORKSPACE = (-13); SYSCLR_HELPBACKGROUND = (-12); SYSCLR_HELPTEXT = (-11); SYSCLR_HELPHILITE = (-10); SYSCLR_CSYSCOLORS = 41; function WinStartTimer(hab : HAB;hwnd : HWND;idTimer : ULONG;dtTimeout : ULONG) : ULONG; function WinStopTimer(hab : HAB;hwnd : HWND;idTimer : ULONG) : BOOL; function WinGetCurrentTime(hab : HAB) : ULONG; const TID_CURSOR = $ffff; TID_SCROLL = $fffe; TID_FLASHWINDOW = $fffd; TID_USERMAX = $7fff; type HACCEL = LHANDLE; const AF_CHAR = $0001; AF_VIRTUALKEY = $0002; AF_SCANCODE = $0004; AF_SHIFT = $0008; AF_CONTROL = $0010; AF_ALT = $0020; AF_LONEKEY = $0040; AF_SYSCOMMAND = $0100; AF_HELP = $0200; {$PACKRECORDS 2} type ACCEL = record fs : USHORT; key : USHORT; cmd : USHORT; end; PACCEL = ^ACCEL; ACCELTABLE = record cAccel : USHORT; codepage : USHORT; aaccel : array[0..1-1] of ACCEL; end; PACCELTABLE = ^ACCELTABLE; {$PACKRECORDS NORMAL} function WinLoadAccelTable(hab : HAB;hmod : HMODULE;idAccelTable : ULONG) : HACCEL; function WinCopyAccelTable(haccel : HACCEL;pAccelTable : PACCELTABLE;cbCopyMax : ULONG) : ULONG; function WinCreateAccelTable(hab : HAB;pAccelTable : PACCELTABLE) : HACCEL; function WinDestroyAccelTable(haccel : HACCEL) : BOOL; function WinTranslateAccel(hab : HAB;hwnd : HWND;haccel : HACCEL;pqmsg : PQMSG) : BOOL; function WinSetAccelTable(hab : HAB;haccel : HACCEL;hwndFrame : HWND) : BOOL; function WinQueryAccelTable(hab : HAB;hwndFrame : HWND) : HACCEL; const EAF_DEFAULTOWNER = $0001; EAF_UNCHANGEABLE = $0002; EAF_REUSEICON = $0004; type TRACKINFO = record cxBorder : LONG; cyBorder : LONG; cxGrid : LONG; cyGrid : LONG; cxKeyboard : LONG; cyKeyboard : LONG; rclTrack : RECTL; rclBoundary : RECTL; ptlMinTrackSize : POINTL; ptlMaxTrackSize : POINTL; fs : ULONG; end; PTRACKINFO = ^TRACKINFO; function WinTrackRect(hwnd : HWND;hps : HPS;pti : PTRACKINFO) : BOOL; function WinShowTrackRect(hwnd : HWND;fShow : BOOL) : BOOL; const TF_LEFT = $0001; TF_TOP = $0002; TF_RIGHT = $0004; TF_BOTTOM = $0008; TF_MOVE = $000F; TF_SETPOINTERPOS = $0010; TF_GRID = $0020; TF_STANDARD = $0040; TF_ALLINBOUNDARY = $0080; TF_VALIDATETRACKRECT = $0100; TF_PARTINBOUNDARY = $0200; WM_RENDERFMT = $0060; WM_RENDERALLFMTS = $0061; WM_DESTROYCLIPBOARD = $0062; WM_PAINTCLIPBOARD = $0063; WM_SIZECLIPBOARD = $0064; WM_HSCROLLCLIPBOARD = $0065; WM_VSCROLLCLIPBOARD = $0066; WM_DRAWCLIPBOARD = $0067; CF_TEXT = 1; CF_BITMAP = 2; CF_DSPTEXT = 3; CF_DSPBITMAP = 4; CF_METAFILE = 5; CF_DSPMETAFILE = 6; CF_PALETTE = 9; SZFMT_TEXT = '#1'; SZFMT_BITMAP = '#2'; SZFMT_DSPTEXT = '#3'; SZFMT_DSPBITMAP = '#4'; SZFMT_METAFILE = '#5'; SZFMT_DSPMETAFILE = '#6'; SZFMT_PALETTE = '#9'; SZFMT_SYLK = 'Sylk'; SZFMT_DIF = 'Dif'; SZFMT_TIFF = 'Tiff'; SZFMT_OEMTEXT = 'OemText'; SZFMT_DIB = 'Dib'; SZFMT_OWNERDISPLAY = 'OwnerDisplay'; SZFMT_LINK = 'Link'; SZFMT_METAFILEPICT = 'MetaFilePict'; SZFMT_DSPMETAFILEPICT = 'DspMetaFilePict'; SZFMT_CPTEXT = 'Codepage Text'; SZDDEFMT_RTF = 'Rich Text Format'; SZDDEFMT_PTRPICT = 'Printer_Picture'; {$PACKRECORDS 2} type MFP = record sizeBounds : POINTL; sizeMM : POINTL; cbLength : ULONG; mapMode : USHORT; reserved : USHORT; abData : array[0..1-1] of BYTE; end; PMFP = ^MFP; CPTEXT = record idCountry : USHORT; usCodepage : USHORT; usLangID : USHORT; usSubLangID : USHORT; abText : array[0..1-1] of BYTE; end; PCPTEXT = ^CPTEXT; {$PACKRECORDS NORMAL} function WinSetClipbrdOwner(hab : HAB;hwnd : HWND) : BOOL; function WinSetClipbrdData(hab : HAB;ulData : ULONG;fmt : ULONG;rgfFmtInfo : ULONG) : BOOL; function WinQueryClipbrdData(hab : HAB;fmt : ULONG) : ULONG; function WinQueryClipbrdFmtInfo(hab : HAB;fmt : ULONG;prgfFmtInfo : PULONG) : BOOL; function WinSetClipbrdViewer(hab : HAB;hwndNewClipViewer : HWND) : BOOL; const CFI_OWNERFREE = $0001; CFI_OWNERDISPLAY = $0002; CFI_POINTER = $0400; CFI_HANDLE = $0200; function WinEnumClipbrdFmts(hab : HAB;fmt : ULONG) : ULONG; function WinEmptyClipbrd(hab : HAB) : BOOL; function WinOpenClipbrd(hab : HAB) : BOOL; function WinCloseClipbrd(hab : HAB) : BOOL; function WinQueryClipbrdOwner(hab : HAB) : HWND; function WinQueryClipbrdViewer(hab : HAB) : HWND; function WinDestroyCursor(hwnd : HWND) : BOOL; function WinShowCursor(hwnd : HWND;fShow : BOOL) : BOOL; function WinCreateCursor(hwnd : HWND;x : LONG;y : LONG;cx : LONG;cy : LONG;fs : ULONG;prclClip : PRECTL) : BOOL; const CURSOR_SOLID = $0000; CURSOR_HALFTONE = $0001; CURSOR_FRAME = $0002; CURSOR_FLASH = $0004; CURSOR_SETPOS = $8000; type CURSORINFO = record hwnd : HWND; x : LONG; y : LONG; cx : LONG; cy : LONG; fs : ULONG; rclClip : RECTL; end; PCURSORINFO = ^CURSORINFO; function WinQueryCursorInfo(hwndDesktop : HWND;pCursorInfo : PCURSORINFO) : BOOL; type HPOINTER = LHANDLE; function WinSetPointer(hwndDesktop : HWND;hptrNew : HPOINTER) : BOOL; function WinSetPointerOwner(hptr : HPOINTER;pid : PID;fDestroy : BOOL) : BOOL; function WinShowPointer(hwndDesktop : HWND;fShow : BOOL) : BOOL; function WinQuerySysPointer(hwndDesktop : HWND;iptr : LONG;fLoad : BOOL) : HPOINTER; const SPTR_ARROW = 1; SPTR_TEXT = 2; SPTR_WAIT = 3; SPTR_SIZE = 4; SPTR_MOVE = 5; SPTR_SIZENWSE = 6; SPTR_SIZENESW = 7; SPTR_SIZEWE = 8; SPTR_SIZENS = 9; SPTR_APPICON = 10; SPTR_ICONINFORMATION = 11; SPTR_ICONQUESTION = 12; SPTR_ICONERROR = 13; SPTR_ICONWARNING = 14; SPTR_CPTR = 14; SPTR_ILLEGAL = 18; SPTR_FILE = 19; SPTR_FOLDER = 20; SPTR_MULTFILE = 21; SPTR_PROGRAM = 22; SPTR_HANDICON = SPTR_ICONERROR; SPTR_QUESICON = SPTR_ICONQUESTION; SPTR_BANGICON = SPTR_ICONWARNING; SPTR_NOTEICON = SPTR_ICONINFORMATION; function WinLoadPointer(hwndDesktop : HWND;hmod : HMODULE;idres : ULONG) : HPOINTER; function WinCreatePointer(hwndDesktop : HWND;hbmPointer : HBITMAP;fPointer : BOOL;xHotspot : LONG;yHotspot : LONG) : HPOINTER; function WinSetPointerPos(hwndDesktop : HWND;x : LONG;y : LONG) : BOOL; function WinDestroyPointer(hptr : HPOINTER) : BOOL; function WinQueryPointer(hwndDesktop : HWND) : HPOINTER; function WinQueryPointerPos(hwndDesktop : HWND;pptl : PPOINTL) : BOOL; type POINTERINFO = record fPointer : ULONG; xHotspot : LONG; yHotspot : LONG; hbmPointer : HBITMAP; hbmColor : HBITMAP; hbmMiniPointer : HBITMAP; hbmMiniColor : HBITMAP; end; PPOINTERINFO = ^POINTERINFO; function WinCreatePointerIndirect(hwndDesktop : HWND;pptri : PPOINTERINFO) : HPOINTER; function WinQueryPointerInfo(hptr : HPOINTER;pPointerInfo : PPOINTERINFO) : BOOL; function WinDrawPointer(hps : HPS;x : LONG;y : LONG;hptr : HPOINTER;fs : ULONG) : BOOL; const DP_NORMAL = $0000; DP_HALFTONED = $0001; DP_INVERTED = $0002; function WinGetSysBitmap(hwndDesktop : HWND;ibm : ULONG) : HBITMAP; const SBMP_OLD_SYSMENU = 1; SBMP_OLD_SBUPARROW = 2; SBMP_OLD_SBDNARROW = 3; SBMP_OLD_SBRGARROW = 4; SBMP_OLD_SBLFARROW = 5; SBMP_MENUCHECK = 6; SBMP_OLD_CHECKBOXES = 7; SBMP_BTNCORNERS = 8; SBMP_OLD_MINBUTTON = 9; SBMP_OLD_MAXBUTTON = 10; SBMP_OLD_RESTOREBUTTON = 11; SBMP_OLD_CHILDSYSMENU = 12; SBMP_DRIVE = 15; SBMP_FILE = 16; SBMP_FOLDER = 17; SBMP_TREEPLUS = 18; SBMP_TREEMINUS = 19; SBMP_PROGRAM = 22; SBMP_MENUATTACHED = 23; SBMP_SIZEBOX = 24; SBMP_SYSMENU = 25; SBMP_MINBUTTON = 26; SBMP_MAXBUTTON = 27; SBMP_RESTOREBUTTON = 28; SBMP_CHILDSYSMENU = 29; SBMP_SYSMENUDEP = 30; SBMP_MINBUTTONDEP = 31; SBMP_MAXBUTTONDEP = 32; SBMP_RESTOREBUTTONDEP = 33; SBMP_CHILDSYSMENUDEP = 34; SBMP_SBUPARROW = 35; SBMP_SBDNARROW = 36; SBMP_SBLFARROW = 37; SBMP_SBRGARROW = 38; SBMP_SBUPARROWDEP = 39; SBMP_SBDNARROWDEP = 40; SBMP_SBLFARROWDEP = 41; SBMP_SBRGARROWDEP = 42; SBMP_SBUPARROWDIS = 43; SBMP_SBDNARROWDIS = 44; SBMP_SBLFARROWDIS = 45; SBMP_SBRGARROWDIS = 46; SBMP_COMBODOWN = 47; SBMP_CHECKBOXES = 48; function WinSetHook(hab : HAB;hmq : HMQ;iHook : LONG;pfnHook : PFN;hmod : HMODULE) : BOOL; function WinReleaseHook(hab : HAB;hmq : HMQ;iHook : LONG;pfnHook : PFN;hmod : HMODULE) : BOOL; function WinCallMsgFilter(hab : HAB;pqmsg : PQMSG;msgf : ULONG) : BOOL; const HK_SENDMSG = 0; HK_INPUT = 1; HK_MSGFILTER = 2; HK_JOURNALRECORD = 3; HK_JOURNALPLAYBACK = 4; HK_HELP = 5; HK_LOADER = 6; HK_REGISTERUSERMSG = 7; HK_MSGCONTROL = 8; HK_PLIST_ENTRY = 9; HK_PLIST_EXIT = 10; HK_FINDWORD = 11; HK_CODEPAGECHANGED = 12; HK_WINDOWDC = 15; HK_DESTROYWINDOW = 16; HK_CHECKMSGFILTER = 20; HMQ_CURRENT = 1; MSGF_DIALOGBOX = 1; MSGF_MESSAGEBOX = 2; MSGF_TRACK = 8; MSGF_DDEPOSTMSG = 3; HLPM_FRAME = (-1); HLPM_WINDOW = (-2); HLPM_MENU = (-3); PM_MODEL_1X = 0; PM_MODEL_2X = 1; type SMHSTRUCT = record mp2 : MPARAM; mp1 : MPARAM; msg : ULONG; hwnd : HWND; model : ULONG; end; PSMHSTRUCT = ^SMHSTRUCT; const LHK_DELETEPROC = 1; LHK_DELETELIB = 2; LHK_LOADPROC = 3; LHK_LOADLIB = 4; MCHK_MSGINTEREST = 1; MCHK_CLASSMSGINTEREST = 2; MCHK_SYNCHRONISATION = 3; MCHK_MSGMODE = 4; RUMHK_DATATYPE = 1; RUMHK_MSG = 2; function WinSetClassThunkProc(pszClassname : PSZ;pfnThunkProc : PFN) : BOOL; function WinQueryClassThunkProc(pszClassname : PSZ) : PFN; function WinSetWindowThunkProc(hwnd : HWND;pfnThunkProc : PFN) : BOOL; function WinQueryWindowThunkProc(hwnd : HWND) : PFN; function WinQueryWindowModel(hwnd : HWND) : LONG; function WinQueryCp(hmq : HMQ) : ULONG; function WinSetCp(hmq : HMQ;idCodePage : ULONG) : BOOL; function WinQueryCpList(hab : HAB;ccpMax : ULONG;prgcp : PULONG) : ULONG; function WinCpTranslateString(hab : HAB;cpSrc : ULONG;pszSrc : PSZ;cpDst : ULONG;cchDestMax : ULONG;pchDest : PSZ) : BOOL; function WinCpTranslateChar(hab : HAB;cpSrc : ULONG;chSrc : UCHAR;cpDst : ULONG) : UCHAR; function WinUpper(hab : HAB;idcp : ULONG;idcc : ULONG;psz : PSZ) : ULONG; function WinUpperChar(hab : HAB;idcp : ULONG;idcc : ULONG;c : ULONG) : ULONG; function WinNextChar(hab : HAB;idcp : ULONG;idcc : ULONG;psz : PSZ) : PSZ; function WinPrevChar(hab : HAB;idcp : ULONG;idcc : ULONG;pszStart : PSZ;psz : PSZ) : PSZ; function WinCompareStrings(hab : HAB;idcp : ULONG;idcc : ULONG;psz1 : PSZ;psz2 : PSZ;reserved : ULONG) : ULONG; const WCS_ERROR = 0; WCS_EQ = 1; WCS_LT = 2; WCS_GT = 3; type HATOMTBL = LHANDLE; ATOM = ULONG; function WinCreateAtomTable(cbInitial : ULONG;cBuckets : ULONG) : HATOMTBL; function WinDestroyAtomTable(hAtomTbl : HATOMTBL) : HATOMTBL; function WinAddAtom(hAtomTbl : HATOMTBL;pszAtomName : PSZ) : ATOM; function WinFindAtom(hAtomTbl : HATOMTBL;pszAtomName : PSZ) : ATOM; function WinDeleteAtom(hAtomTbl : HATOMTBL;atom : ATOM) : ATOM; function WinQueryAtomUsage(hAtomTbl : HATOMTBL;atom : ATOM) : ULONG; function WinQueryAtomLength(hAtomTbl : HATOMTBL;atom : ATOM) : ULONG; function WinQueryAtomName(hAtomTbl : HATOMTBL;atom : ATOM;pchBuffer : PSZ;cchBufferMax : ULONG) : ULONG; const WINDBG_HWND_NOT_DESTROYED = $1022; WINDBG_HPTR_NOT_DESTROYED = $1023; WINDBG_HACCEL_NOT_DESTROYED = $1024; WINDBG_HENUM_NOT_DESTROYED = $1025; WINDBG_VISRGN_SEM_BUSY = $1026; WINDBG_USER_SEM_BUSY = $1027; WINDBG_DC_CACHE_BUSY = $1028; WINDBG_HOOK_STILL_INSTALLED = $1029; WINDBG_WINDOW_STILL_LOCKED = $102a; WINDBG_UPDATEPS_ASSERTION_FAIL = $102b; WINDBG_SENDMSG_WITHIN_USER_SEM = $102c; WINDBG_USER_SEM_NOT_ENTERED = $102d; WINDBG_PROC_NOT_EXPORTED = $102e; WINDBG_BAD_SENDMSG_HWND = $102f; WINDBG_ABNORMAL_EXIT = $1030; WINDBG_INTERNAL_REVISION = $1031; WINDBG_INITSYSTEM_FAILED = $1032; WINDBG_HATOMTBL_NOT_DESTROYED = $1033; WINDBG_WINDOW_UNLOCK_WAIT = $1035; type ERRINFO = record cbFixedErrInfo : ULONG; idError : ERRORID; cDetailLevel : ULONG; offaoffszMsg : ULONG; offBinaryData : ULONG; end; PERRINFO = ^ERRINFO; function WinGetLastError(hab : HAB) : ERRORID; function WinGetErrorInfo(hab : HAB) : PERRINFO; function WinFreeErrorInfo(perrinfo : PERRINFO) : BOOL; const SZDDESYS_TOPIC = 'System'; SZDDESYS_ITEM_TOPICS = 'Topics'; SZDDESYS_ITEM_SYSITEMS = 'SysItems'; SZDDESYS_ITEM_RTNMSG = 'ReturnMessage'; SZDDESYS_ITEM_STATUS = 'Status'; SZDDESYS_ITEM_FORMATS = 'Formats'; SZDDESYS_ITEM_SECURITY = 'Security'; SZDDESYS_ITEM_ITEMFORMATS = 'ItemFormats'; SZDDESYS_ITEM_HELP = 'Help'; SZDDESYS_ITEM_PROTOCOLS = 'Protocols'; SZDDESYS_ITEM_RESTART = 'Restart'; type CONVCONTEXT = record cb : ULONG; fsContext : ULONG; idCountry : ULONG; usCodepage : ULONG; usLangID : ULONG; usSubLangID : ULONG; end; PCONVCONTEXT = ^CONVCONTEXT; const DDECTXT_CASESENSITIVE = $0001; type DDEINIT = record cb : ULONG; pszAppName : PSZ; pszTopic : PSZ; offConvContext : ULONG; end; PDDEINIT = ^DDEINIT; DDESTRUCT = record cbData : ULONG; fsStatus : USHORT; usFormat : USHORT; offszItemName : USHORT; offabData : USHORT; end; PDDESTRUCT = ^DDESTRUCT; const DDE_FACK = $0001; DDE_FBUSY = $0002; DDE_FNODATA = $0004; DDE_FACKREQ = $0008; DDE_FRESPONSE = $0010; DDE_NOTPROCESSED = $0020; DDE_FRESERVED = $00C0; DDE_FAPPSTATUS = $FF00; DDEFMT_TEXT = $0001; function WinDdeInitiate(hwndClient : HWND;pszAppName : PSZ;pszTopicName : PSZ;pcctxt : PCONVCONTEXT) : BOOL; function WinDdeRespond(hwndClient : HWND;hwndServer : HWND;pszAppName : PSZ;pszTopicName : PSZ;pcctxt : PCONVCONTEXT) : MRESULT; function WinDdePostMsg(hwndTo : HWND;hwndFrom : HWND;wm : ULONG;pddest : PDDESTRUCT;flOptions : ULONG) : BOOL; const DDEPM_RETRY = $00000001; DDEPM_NOFREE = $00000002; WM_DDE_FIRST = $00A0; WM_DDE_INITIATE = $00A0; WM_DDE_REQUEST = $00A1; WM_DDE_ACK = $00A2; WM_DDE_DATA = $00A3; WM_DDE_ADVISE = $00A4; WM_DDE_UNADVISE = $00A5; WM_DDE_POKE = $00A6; WM_DDE_EXECUTE = $00A7; WM_DDE_TERMINATE = $00A8; WM_DDE_INITIATEACK = $00A9; WM_DDE_LAST = $00AF; WM_QUERYCONVERTPOS = $00b0; QCP_CONVERT = $0001; QCP_NOCONVERT = $0000; type HLIB = HMODULE; PHLIB = PHMODULE; function WinDeleteProcedure(hab : HAB;wndproc : PFNWP) : BOOL; function WinDeleteLibrary(hab : HAB;libhandle : HLIB) : BOOL; function WinLoadProcedure(hab : HAB;libhandle : HLIB;procname : PSZ) : PFNWP; function WinLoadLibrary(hab : HAB;libname : PSZ) : HLIB; type DESKTOP = record cbSize : ULONG; hbm : HBITMAP; x : LONG; y : LONG; fl : ULONG; lTileCount : LONG; szFile : array[0..260-1] of CHAR; end; PDESKTOP = ^DESKTOP; function WinSetDesktopBkgnd(hwndDesktop : HWND;pdskNew : PDESKTOP) : HBITMAP; function WinQueryDesktopBkgnd(hwndDesktop : HWND;pdsk : PDESKTOP) : BOOL; const SDT_DESTROY = $0001; SDT_NOBKGND = $0002; SDT_TILE = $0004; SDT_SCALE = $0008; SDT_PATTERN = $0010; SDT_CENTER = $0020; SDT_RETAIN = $0040; SDT_LOADFILE = $0080; function WinRealizePalette(hwnd : HWND;hps : HPS;pcclr : PULONG) : LONG; const STR_DLLNAME = 'keyremap'; WM_DBCSFIRST = $00b0; WM_DBCSLAST = $00cf; function HWNDFROMMP(mp : MPARAM) : HWND; function SHORT1FROMMP(mp : MPARAM) : USHORT; function SHORT2FROMMP(mp : MPARAM) : USHORT; implementation function WinRegisterClass(hab : HAB;pszClassName : PSZ;pfnWndProc : PFNWP;flStyle : ULONG;cbWindowData : ULONG) : BOOL;[SYSTEM]; function WinDefWindowProc(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM]; function WinDestroyWindow(hwnd : HWND) : BOOL;[SYSTEM]; function WinShowWindow(hwnd : HWND;fShow : BOOL) : BOOL;[SYSTEM]; function WinQueryWindowRect(hwnd : HWND;prclDest : PRECTL) : BOOL;[SYSTEM]; function WinGetPS(hwnd : HWND) : HPS;[SYSTEM]; function WinReleasePS(hps : HPS) : BOOL;[SYSTEM]; function WinEndPaint(hps : HPS) : BOOL;[SYSTEM]; function WinGetClipPS(hwnd : HWND;hwndClip : HWND;fl : ULONG) : HPS;[SYSTEM]; function WinIsWindowShowing(hwnd : HWND) : BOOL;[SYSTEM]; function WinBeginPaint(hwnd : HWND;hps : HPS;prclPaint : PRECTL) : HPS;[SYSTEM]; function WinOpenWindowDC(hwnd : HWND) : HDC;[SYSTEM]; function WinScrollWindow(hwnd : HWND;dx : LONG;dy : LONG;prclScroll : PRECTL;prclClip : PRECTL;hrgnUpdate : HRGN;prclUpdate : PRECTL;rgfsw : ULONG) : LONG;[SYSTEM]; function WinFillRect(hps : HPS;prcl : PRECTL;lColor : LONG) : BOOL;[SYSTEM]; function WinQueryVersion(hab : HAB) : ULONG;[SYSTEM]; function WinInitialize(flOptions : ULONG) : HAB;[SYSTEM]; function WinTerminate(hab : HAB) : BOOL;[SYSTEM]; function WinQueryAnchorBlock(hwnd : HWND) : HAB;[SYSTEM]; function WinCreateWindow(hwndParent : HWND;pszClass : PSZ;pszName : PSZ;flStyle : ULONG;x : LONG;y : LONG;cx : LONG;cy : LONG;hwndOwner : HWND;hwndInsertBehind : HWND;id : ULONG;pCtlData : PVOID;pPresParams : PVOID) : HWND;[SYSTEM]; function WinEnableWindow(hwnd : HWND;fEnable : BOOL) : BOOL;[SYSTEM]; function WinIsWindowEnabled(hwnd : HWND) : BOOL;[SYSTEM]; function WinEnableWindowUpdate(hwnd : HWND;fEnable : BOOL) : BOOL;[SYSTEM]; function WinIsWindowVisible(hwnd : HWND) : BOOL;[SYSTEM]; function WinQueryWindowText(hwnd : HWND;cchBufferMax : LONG;pchBuffer : PCH) : LONG;[SYSTEM]; function WinSetWindowText(hwnd : HWND;pszText : PSZ) : BOOL;[SYSTEM]; function WinQueryWindowTextLength(hwnd : HWND) : LONG;[SYSTEM]; function WinWindowFromID(hwndParent : HWND;id : ULONG) : HWND;[SYSTEM]; function WinIsWindow(hab : HAB;hwnd : HWND) : BOOL;[SYSTEM]; function WinQueryWindow(hwnd : HWND;cmd : LONG) : HWND;[SYSTEM]; function WinMultWindowFromIDs(hwndParent : HWND;prghwnd : PHWND;idFirst : ULONG;idLast : ULONG) : LONG;[SYSTEM]; function WinSetParent(hwnd : HWND;hwndNewParent : HWND;fRedraw : BOOL) : BOOL;[SYSTEM]; function WinIsChild(hwnd : HWND;hwndParent : HWND) : BOOL;[SYSTEM]; function WinSetOwner(hwnd : HWND;hwndNewOwner : HWND) : BOOL;[SYSTEM]; function WinQueryWindowProcess(hwnd : HWND;ppid : PPID;ptid : PTID) : BOOL;[SYSTEM]; function WinQueryObjectWindow(hwndDesktop : HWND) : HWND;[SYSTEM]; function WinQueryDesktopWindow(hab : HAB;hdc : HDC) : HWND;[SYSTEM]; function WinSetWindowPos(hwnd : HWND;hwndInsertBehind : HWND;x : LONG;y : LONG;cx : LONG;cy : LONG;fl : ULONG) : BOOL;[SYSTEM]; function WinSetMultWindowPos(hab : HAB;pswp : PSWP;cswp : ULONG) : BOOL;[SYSTEM]; function WinQueryWindowPos(hwnd : HWND;pswp : PSWP) : BOOL;[SYSTEM]; function WinUpdateWindow(hwnd : HWND) : BOOL;[SYSTEM]; function WinInvalidateRect(hwnd : HWND;pwrc : PRECTL;fIncludeChildren : BOOL) : BOOL;[SYSTEM]; function WinInvalidateRegion(hwnd : HWND;hrgn : HRGN;fIncludeChildren : BOOL) : BOOL;[SYSTEM]; function WinInvertRect(hps : HPS;prcl : PRECTL) : BOOL;[SYSTEM]; function WinDrawBitmap(hpsDst : HPS;hbm : HBITMAP;pwrcSrc : PRECTL;pptlDst : PPOINTL;clrFore : LONG;clrBack : LONG;fl : ULONG) : BOOL;[SYSTEM]; function WinDrawText(hps : HPS;cchText : LONG;lpchText : PCH;prcl : PRECTL;clrFore : LONG;clrBack : LONG;flCmd : ULONG) : LONG;[SYSTEM]; function WinDrawBorder(hps : HPS;prcl : PRECTL;cx : LONG;cy : LONG;clrFore : LONG;clrBack : LONG;flCmd : ULONG) : BOOL;[SYSTEM]; function WinLoadString(hab : HAB;hmod : HMODULE;id : ULONG;cchMax : LONG;pchBuffer : PSZ) : LONG;[SYSTEM]; function WinLoadMessage(hab : HAB;hmod : HMODULE;id : ULONG;cchMax : LONG;pchBuffer : PSZ) : LONG;[SYSTEM]; function WinSetActiveWindow(hwndDesktop : HWND;hwnd : HWND) : BOOL;[SYSTEM]; function WinSubclassWindow(hwnd : HWND;pfnwp : PFNWP) : PFNWP;[SYSTEM]; function WinQueryClassName(hwnd : HWND;cchMax : LONG;pch : PCH) : LONG;[SYSTEM]; function WinQueryClassInfo(hab : HAB;pszClassName : PSZ;pClassInfo : PCLASSINFO) : BOOL;[SYSTEM]; function WinQueryActiveWindow(hwndDesktop : HWND) : HWND;[SYSTEM]; function WinIsThreadActive(hab : HAB) : BOOL;[SYSTEM]; function WinQuerySysModalWindow(hwndDesktop : HWND) : HWND;[SYSTEM]; function WinSetSysModalWindow(hwndDesktop : HWND;hwnd : HWND) : BOOL;[SYSTEM]; function WinQueryWindowUShort(hwnd : HWND;index : LONG) : USHORT;[SYSTEM]; function WinSetWindowUShort(hwnd : HWND;index : LONG;us : USHORT) : BOOL;[SYSTEM]; function WinQueryWindowULong(hwnd : HWND;index : LONG) : ULONG;[SYSTEM]; function WinSetWindowULong(hwnd : HWND;index : LONG;ul : ULONG) : BOOL;[SYSTEM]; function WinQueryWindowPtr(hwnd : HWND;index : LONG) : PVOID;[SYSTEM]; function WinSetWindowPtr(hwnd : HWND;index : LONG;p : PVOID) : BOOL;[SYSTEM]; function WinSetWindowBits(hwnd : HWND;index : LONG;flData : ULONG;flMask : ULONG) : BOOL;[SYSTEM]; function WinBeginEnumWindows(hwnd : HWND) : HENUM;[SYSTEM]; function WinGetNextWindow(henum : HENUM) : HWND;[SYSTEM]; function WinEndEnumWindows(henum : HENUM) : BOOL;[SYSTEM]; function WinWindowFromPoint(hwnd : HWND;pptl : PPOINTL;fChildren : BOOL) : HWND;[SYSTEM]; function WinMapWindowPoints(hwndFrom : HWND;hwndTo : HWND;prgptl : PPOINTL;cwpt : LONG) : BOOL;[SYSTEM]; function WinValidateRect(hwnd : HWND;prcl : PRECTL;fIncludeChildren : BOOL) : BOOL;[SYSTEM]; function WinValidateRegion(hwnd : HWND;hrgn : HRGN;fIncludeChildren : BOOL) : BOOL;[SYSTEM]; function WinWindowFromDC(hdc : HDC) : HWND;[SYSTEM]; function WinQueryWindowDC(hwnd : HWND) : HDC;[SYSTEM]; function WinGetScreenPS(hwndDesktop : HWND) : HPS;[SYSTEM]; function WinLockWindowUpdate(hwndDesktop : HWND;hwndLockUpdate : HWND) : BOOL;[SYSTEM]; function WinLockVisRegions(hwndDesktop : HWND;fLock : BOOL) : BOOL;[SYSTEM]; function WinQueryUpdateRect(hwnd : HWND;prcl : PRECTL) : BOOL;[SYSTEM]; function WinQueryUpdateRegion(hwnd : HWND;hrgn : HRGN) : LONG;[SYSTEM]; function WinExcludeUpdateRegion(hps : HPS;hwnd : HWND) : LONG;[SYSTEM]; function WinSendMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM]; function WinCreateMsgQueue(hab : HAB;cmsg : LONG) : HMQ;[SYSTEM]; function WinDestroyMsgQueue(hmq : HMQ) : BOOL;[SYSTEM]; function WinQueryQueueInfo(hmq : HMQ;pmqi : PMQINFO;cbCopy : ULONG) : BOOL;[SYSTEM]; function WinCancelShutdown(hmq : HMQ;fCancelAlways : BOOL) : BOOL;[SYSTEM]; function WinGetMsg(hab : HAB;pqmsg : PQMSG;hwndFilter : HWND;msgFilterFirst : ULONG;msgFilterLast : ULONG) : BOOL;[SYSTEM]; function WinPeekMsg(hab : HAB;pqmsg : PQMSG;hwndFilter : HWND;msgFilterFirst : ULONG;msgFilterLast : ULONG;fl : ULONG) : BOOL;[SYSTEM]; function WinDispatchMsg(hab : HAB;pqmsg : PQMSG) : MRESULT;[SYSTEM]; function WinPostMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : BOOL;[SYSTEM]; function WinRegisterUserMsg(hab : HAB;msgid : ULONG;datatype1 : LONG;dir1 : LONG;datatype2 : LONG;dir2 : LONG;datatyper : LONG) : BOOL;[SYSTEM]; function WinRegisterUserDatatype(hab : HAB;datatype : LONG;count : LONG;types : PLONG) : BOOL;[SYSTEM]; function WinSetMsgMode(hab : HAB;classname : PSZ;control : LONG) : BOOL;[SYSTEM]; function WinSetSynchroMode(hab : HAB;mode : LONG) : BOOL;[SYSTEM]; function WinInSendMsg(hab : HAB) : BOOL;[SYSTEM]; function WinBroadcastMsg(hwnd : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM;rgf : ULONG) : BOOL;[SYSTEM]; function WinWaitMsg(hab : HAB;msgFirst : ULONG;msgLast : ULONG) : BOOL;[SYSTEM]; function WinQueryQueueStatus(hwndDesktop : HWND) : ULONG;[SYSTEM]; function WinQueryMsgPos(hab : HAB;pptl : PPOINTL) : BOOL;[SYSTEM]; function WinQueryMsgTime(hab : HAB) : ULONG;[SYSTEM]; function WinWaitEventSem(hev : HEV;ulTimeout : ULONG) : APIRET;[SYSTEM]; function WinRequestMutexSem(hmtx : HMTX;ulTimeout : ULONG) : APIRET;[SYSTEM]; function WinWaitMuxWaitSem(hmux : HMUX;ulTimeout : ULONG;pulUser : PULONG) : APIRET;[SYSTEM]; function WinPostQueueMsg(hmq : HMQ;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : BOOL;[SYSTEM]; function WinSetMsgInterest(hwnd : HWND;msg_class : ULONG;control : LONG) : BOOL;[SYSTEM]; function WinSetClassMsgInterest(hab : HAB;pszClassName : PSZ;msg_class : ULONG;control : LONG) : BOOL;[SYSTEM]; function WinSetFocus(hwndDesktop : HWND;hwndSetFocus : HWND) : BOOL;[SYSTEM]; function WinFocusChange(hwndDesktop : HWND;hwndSetFocus : HWND;flFocusChange : ULONG) : BOOL;[SYSTEM]; function WinSetCapture(hwndDesktop : HWND;hwnd : HWND) : BOOL;[SYSTEM]; function WinQueryCapture(hwndDesktop : HWND) : HWND;[SYSTEM]; function WinQueryFocus(hwndDesktop : HWND) : HWND;[SYSTEM]; function WinGetKeyState(hwndDesktop : HWND;vkey : LONG) : LONG;[SYSTEM]; function WinGetPhysKeyState(hwndDesktop : HWND;sc : LONG) : LONG;[SYSTEM]; function WinEnablePhysInput(hwndDesktop : HWND;fEnable : BOOL) : BOOL;[SYSTEM]; function WinIsPhysInputEnabled(hwndDesktop : HWND) : BOOL;[SYSTEM]; function WinSetKeyboardStateTable(hwndDesktop : HWND;pKeyStateTable : PBYTE;fSet : BOOL) : BOOL;[SYSTEM]; function WinGetDlgMsg(hwndDlg : HWND;pqmsg : PQMSG) : BOOL;[SYSTEM]; function WinLoadDlg(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;hmod : HMODULE;idDlg : ULONG;pCreateParams : PVOID) : HWND;[SYSTEM]; function WinDlgBox(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;hmod : HMODULE;idDlg : ULONG;pCreateParams : PVOID) : ULONG;[SYSTEM]; function WinDismissDlg(hwndDlg : HWND;usResult : ULONG) : BOOL;[SYSTEM]; function WinQueryDlgItemShort(hwndDlg : HWND;idItem : ULONG;pResult : PSHORT;fSigned : BOOL) : BOOL;[SYSTEM]; function WinSetDlgItemShort(hwndDlg : HWND;idItem : ULONG;usValue : USHORT;fSigned : BOOL) : BOOL;[SYSTEM]; function WinSetDlgItemText(hwndDlg : HWND;idItem : ULONG;pszText : PSZ) : BOOL;[SYSTEM]; function WinQueryDlgItemText(hwndDlg : HWND;idItem : ULONG;cchBufferMax : LONG;pchBuffer : PSZ) : ULONG;[SYSTEM]; function WinQueryDlgItemTextLength(hwndDlg : HWND;idItem : ULONG) : LONG;[SYSTEM]; function WinDefDlgProc(hwndDlg : HWND;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM]; function WinAlarm(hwndDesktop : HWND;rgfType : ULONG) : BOOL;[SYSTEM]; function WinMessageBox(hwndParent : HWND;hwndOwner : HWND;pszText : PSZ;pszCaption : PSZ;idWindow : ULONG;flStyle : ULONG) : ULONG;[SYSTEM]; function WinProcessDlg(hwndDlg : HWND) : ULONG;[SYSTEM]; function WinSendDlgItemMsg(hwndDlg : HWND;idItem : ULONG;msg : ULONG;mp1 : MPARAM;mp2 : MPARAM) : MRESULT;[SYSTEM]; function WinMapDlgPoints(hwndDlg : HWND;prgwptl : PPOINTL;cwpt : ULONG;fCalcWindowCoords : BOOL) : BOOL;[SYSTEM]; function WinEnumDlgItem(hwndDlg : HWND;hwnd : HWND;code : ULONG) : HWND;[SYSTEM]; function WinSubstituteStrings(hwnd : HWND;pszSrc : PSZ;cchDstMax : LONG;pszDst : PSZ) : LONG;[SYSTEM]; function WinCreateDlg(hwndParent : HWND;hwndOwner : HWND;pfnDlgProc : PFNWP;pdlgt : PDLGTEMPLATE;pCreateParams : PVOID) : HWND;[SYSTEM]; function WinLoadMenu(hwndFrame : HWND;hmod : HMODULE;idMenu : ULONG) : HWND;[SYSTEM]; function WinCreateMenu(hwndParent : HWND;lpmt : PVOID) : HWND;[SYSTEM]; function WinPopupMenu(hwndParent : HWND;hwndOwner : HWND;hwndMenu : HWND;x : LONG;y : LONG;idItem : LONG;fs : ULONG) : BOOL;[SYSTEM]; function WinCreateStdWindow(hwndParent : HWND;flStyle : ULONG;pflCreateFlags : PULONG;pszClientClass : PSZ;pszTitle : PSZ;styleClient : ULONG;hmod : HMODULE;idResources : ULONG;phwndClient : PHWND) : HWND;[SYSTEM]; function WinFlashWindow(hwndFrame : HWND;fFlash : BOOL) : BOOL;[SYSTEM]; function WinCreateFrameControls(hwndFrame : HWND;pfcdata : PFRAMECDATA;pszTitle : PSZ) : BOOL;[SYSTEM]; function WinCalcFrameRect(hwndFrame : HWND;prcl : PRECTL;fClient : BOOL) : BOOL;[SYSTEM]; function WinGetMinPosition(hwnd : HWND;pswp : PSWP;pptl : PPOINTL) : BOOL;[SYSTEM]; function WinGetMaxPosition(hwnd : HWND;pswp : PSWP) : BOOL;[SYSTEM]; function WinSaveWindowPos(hsvwp : HSAVEWP;pswp : PSWP;cswp : ULONG) : BOOL;[SYSTEM]; function WinCopyRect(hab : HAB;prclDst : PRECTL;prclSrc : PRECTL) : BOOL;[SYSTEM]; function WinSetRect(hab : HAB;prcl : PRECTL;xLeft : LONG;yBottom : LONG;xRight : LONG;yTop : LONG) : BOOL;[SYSTEM]; function WinIsRectEmpty(hab : HAB;prcl : PRECTL) : BOOL;[SYSTEM]; function WinEqualRect(hab : HAB;prcl1 : PRECTL;prcl2 : PRECTL) : BOOL;[SYSTEM]; function WinSetRectEmpty(hab : HAB;prcl : PRECTL) : BOOL;[SYSTEM]; function WinOffsetRect(hab : HAB;prcl : PRECTL;cx : LONG;cy : LONG) : BOOL;[SYSTEM]; function WinInflateRect(hab : HAB;prcl : PRECTL;cx : LONG;cy : LONG) : BOOL;[SYSTEM]; function WinPtInRect(hab : HAB;prcl : PRECTL;pptl : PPOINTL) : BOOL;[SYSTEM]; function WinIntersectRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL;[SYSTEM]; function WinUnionRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL;[SYSTEM]; function WinSubtractRect(hab : HAB;prclDst : PRECTL;prclSrc1 : PRECTL;prclSrc2 : PRECTL) : BOOL;[SYSTEM]; function WinMakeRect(hab : HAB;pwrc : PRECTL) : BOOL;[SYSTEM]; function WinMakePoints(hab : HAB;pwpt : PPOINTL;cwpt : ULONG) : BOOL;[SYSTEM]; function WinQuerySysValue(hwndDesktop : HWND;iSysValue : LONG) : LONG;[SYSTEM]; function WinSetSysValue(hwndDesktop : HWND;iSysValue : LONG;lValue : LONG) : BOOL;[SYSTEM]; function WinSetPresParam(hwnd : HWND;id : ULONG;cbParam : ULONG;pbParam : PVOID) : BOOL;[SYSTEM]; function WinQueryPresParam(hwnd : HWND;id1 : ULONG;id2 : ULONG;pulId : PULONG;cbBuf : ULONG;pbBuf : PVOID;fs : ULONG) : ULONG;[SYSTEM]; function WinRemovePresParam(hwnd : HWND;id : ULONG) : BOOL;[SYSTEM]; function WinQuerySysColor(hwndDesktop : HWND;clr : LONG;lReserved : LONG) : LONG;[SYSTEM]; function WinSetSysColors(hwndDesktop : HWND;flOptions : ULONG;flFormat : ULONG;clrFirst : LONG;cclr : ULONG;pclr : PLONG) : BOOL;[SYSTEM]; function WinStartTimer(hab : HAB;hwnd : HWND;idTimer : ULONG;dtTimeout : ULONG) : ULONG;[SYSTEM]; function WinStopTimer(hab : HAB;hwnd : HWND;idTimer : ULONG) : BOOL;[SYSTEM]; function WinGetCurrentTime(hab : HAB) : ULONG;[SYSTEM]; function WinLoadAccelTable(hab : HAB;hmod : HMODULE;idAccelTable : ULONG) : HACCEL;[SYSTEM]; function WinCopyAccelTable(haccel : HACCEL;pAccelTable : PACCELTABLE;cbCopyMax : ULONG) : ULONG;[SYSTEM]; function WinCreateAccelTable(hab : HAB;pAccelTable : PACCELTABLE) : HACCEL;[SYSTEM]; function WinDestroyAccelTable(haccel : HACCEL) : BOOL;[SYSTEM]; function WinTranslateAccel(hab : HAB;hwnd : HWND;haccel : HACCEL;pqmsg : PQMSG) : BOOL;[SYSTEM]; function WinSetAccelTable(hab : HAB;haccel : HACCEL;hwndFrame : HWND) : BOOL;[SYSTEM]; function WinQueryAccelTable(hab : HAB;hwndFrame : HWND) : HACCEL;[SYSTEM]; function WinTrackRect(hwnd : HWND;hps : HPS;pti : PTRACKINFO) : BOOL;[SYSTEM]; function WinShowTrackRect(hwnd : HWND;fShow : BOOL) : BOOL;[SYSTEM]; function WinSetClipbrdOwner(hab : HAB;hwnd : HWND) : BOOL;[SYSTEM]; function WinSetClipbrdData(hab : HAB;ulData : ULONG;fmt : ULONG;rgfFmtInfo : ULONG) : BOOL;[SYSTEM]; function WinQueryClipbrdData(hab : HAB;fmt : ULONG) : ULONG;[SYSTEM]; function WinQueryClipbrdFmtInfo(hab : HAB;fmt : ULONG;prgfFmtInfo : PULONG) : BOOL;[SYSTEM]; function WinSetClipbrdViewer(hab : HAB;hwndNewClipViewer : HWND) : BOOL;[SYSTEM]; function WinEnumClipbrdFmts(hab : HAB;fmt : ULONG) : ULONG;[SYSTEM]; function WinEmptyClipbrd(hab : HAB) : BOOL;[SYSTEM]; function WinOpenClipbrd(hab : HAB) : BOOL;[SYSTEM]; function WinCloseClipbrd(hab : HAB) : BOOL;[SYSTEM]; function WinQueryClipbrdOwner(hab : HAB) : HWND;[SYSTEM]; function WinQueryClipbrdViewer(hab : HAB) : HWND;[SYSTEM]; function WinDestroyCursor(hwnd : HWND) : BOOL;[SYSTEM]; function WinShowCursor(hwnd : HWND;fShow : BOOL) : BOOL;[SYSTEM]; function WinCreateCursor(hwnd : HWND;x : LONG;y : LONG;cx : LONG;cy : LONG;fs : ULONG;prclClip : PRECTL) : BOOL;[SYSTEM]; function WinQueryCursorInfo(hwndDesktop : HWND;pCursorInfo : PCURSORINFO) : BOOL;[SYSTEM]; function WinSetPointer(hwndDesktop : HWND;hptrNew : HPOINTER) : BOOL;[SYSTEM]; function WinSetPointerOwner(hptr : HPOINTER;pid : PID;fDestroy : BOOL) : BOOL;[SYSTEM]; function WinShowPointer(hwndDesktop : HWND;fShow : BOOL) : BOOL;[SYSTEM]; function WinQuerySysPointer(hwndDesktop : HWND;iptr : LONG;fLoad : BOOL) : HPOINTER;[SYSTEM]; function WinLoadPointer(hwndDesktop : HWND;hmod : HMODULE;idres : ULONG) : HPOINTER;[SYSTEM]; function WinCreatePointer(hwndDesktop : HWND;hbmPointer : HBITMAP;fPointer : BOOL;xHotspot : LONG;yHotspot : LONG) : HPOINTER;[SYSTEM]; function WinSetPointerPos(hwndDesktop : HWND;x : LONG;y : LONG) : BOOL;[SYSTEM]; function WinDestroyPointer(hptr : HPOINTER) : BOOL;[SYSTEM]; function WinQueryPointer(hwndDesktop : HWND) : HPOINTER;[SYSTEM]; function WinQueryPointerPos(hwndDesktop : HWND;pptl : PPOINTL) : BOOL;[SYSTEM]; function WinCreatePointerIndirect(hwndDesktop : HWND;pptri : PPOINTERINFO) : HPOINTER;[SYSTEM]; function WinQueryPointerInfo(hptr : HPOINTER;pPointerInfo : PPOINTERINFO) : BOOL;[SYSTEM]; function WinDrawPointer(hps : HPS;x : LONG;y : LONG;hptr : HPOINTER;fs : ULONG) : BOOL;[SYSTEM]; function WinGetSysBitmap(hwndDesktop : HWND;ibm : ULONG) : HBITMAP;[SYSTEM]; function WinSetHook(hab : HAB;hmq : HMQ;iHook : LONG;pfnHook : PFN;hmod : HMODULE) : BOOL;[SYSTEM]; function WinReleaseHook(hab : HAB;hmq : HMQ;iHook : LONG;pfnHook : PFN;hmod : HMODULE) : BOOL;[SYSTEM]; function WinCallMsgFilter(hab : HAB;pqmsg : PQMSG;msgf : ULONG) : BOOL;[SYSTEM]; function WinSetClassThunkProc(pszClassname : PSZ;pfnThunkProc : PFN) : BOOL;[SYSTEM]; function WinQueryClassThunkProc(pszClassname : PSZ) : PFN;[SYSTEM]; function WinSetWindowThunkProc(hwnd : HWND;pfnThunkProc : PFN) : BOOL;[SYSTEM]; function WinQueryWindowThunkProc(hwnd : HWND) : PFN;[SYSTEM]; function WinQueryWindowModel(hwnd : HWND) : LONG;[SYSTEM]; function WinQueryCp(hmq : HMQ) : ULONG;[SYSTEM]; function WinSetCp(hmq : HMQ;idCodePage : ULONG) : BOOL;[SYSTEM]; function WinQueryCpList(hab : HAB;ccpMax : ULONG;prgcp : PULONG) : ULONG;[SYSTEM]; function WinCpTranslateString(hab : HAB;cpSrc : ULONG;pszSrc : PSZ;cpDst : ULONG;cchDestMax : ULONG;pchDest : PSZ) : BOOL;[SYSTEM]; function WinCpTranslateChar(hab : HAB;cpSrc : ULONG;chSrc : UCHAR;cpDst : ULONG) : UCHAR;[SYSTEM]; function WinUpper(hab : HAB;idcp : ULONG;idcc : ULONG;psz : PSZ) : ULONG;[SYSTEM]; function WinUpperChar(hab : HAB;idcp : ULONG;idcc : ULONG;c : ULONG) : ULONG;[SYSTEM]; function WinNextChar(hab : HAB;idcp : ULONG;idcc : ULONG;psz : PSZ) : PSZ;[SYSTEM]; function WinPrevChar(hab : HAB;idcp : ULONG;idcc : ULONG;pszStart : PSZ;psz : PSZ) : PSZ;[SYSTEM]; function WinCompareStrings(hab : HAB;idcp : ULONG;idcc : ULONG;psz1 : PSZ;psz2 : PSZ;reserved : ULONG) : ULONG;[SYSTEM]; function WinCreateAtomTable(cbInitial : ULONG;cBuckets : ULONG) : HATOMTBL;[SYSTEM]; function WinDestroyAtomTable(hAtomTbl : HATOMTBL) : HATOMTBL;[SYSTEM]; function WinAddAtom(hAtomTbl : HATOMTBL;pszAtomName : PSZ) : ATOM;[SYSTEM]; function WinFindAtom(hAtomTbl : HATOMTBL;pszAtomName : PSZ) : ATOM;[SYSTEM]; function WinDeleteAtom(hAtomTbl : HATOMTBL;atom : ATOM) : ATOM;[SYSTEM]; function WinQueryAtomUsage(hAtomTbl : HATOMTBL;atom : ATOM) : ULONG;[SYSTEM]; function WinQueryAtomLength(hAtomTbl : HATOMTBL;atom : ATOM) : ULONG;[SYSTEM]; function WinQueryAtomName(hAtomTbl : HATOMTBL;atom : ATOM;pchBuffer : PSZ;cchBufferMax : ULONG) : ULONG;[SYSTEM]; function WinGetLastError(hab : HAB) : ERRORID;[SYSTEM]; function WinGetErrorInfo(hab : HAB) : PERRINFO;[SYSTEM]; function WinFreeErrorInfo(perrinfo : PERRINFO) : BOOL;[SYSTEM]; function WinDdeInitiate(hwndClient : HWND;pszAppName : PSZ;pszTopicName : PSZ;pcctxt : PCONVCONTEXT) : BOOL;[SYSTEM]; function WinDdeRespond(hwndClient : HWND;hwndServer : HWND;pszAppName : PSZ;pszTopicName : PSZ;pcctxt : PCONVCONTEXT) : MRESULT;[SYSTEM]; function WinDdePostMsg(hwndTo : HWND;hwndFrom : HWND;wm : ULONG;pddest : PDDESTRUCT;flOptions : ULONG) : BOOL;[SYSTEM]; function WinDeleteProcedure(hab : HAB;wndproc : PFNWP) : BOOL;[SYSTEM]; function WinDeleteLibrary(hab : HAB;libhandle : HLIB) : BOOL;[SYSTEM]; function WinLoadProcedure(hab : HAB;libhandle : HLIB;procname : PSZ) : PFNWP;[SYSTEM]; function WinLoadLibrary(hab : HAB;libname : PSZ) : HLIB;[SYSTEM]; function WinSetDesktopBkgnd(hwndDesktop : HWND;pdskNew : PDESKTOP) : HBITMAP;[SYSTEM]; function WinQueryDesktopBkgnd(hwndDesktop : HWND;pdsk : PDESKTOP) : BOOL;[SYSTEM]; function WinRealizePalette(hwnd : HWND;hps : HPS;pcclr : PULONG) : LONG;[SYSTEM]; function HWNDFROMMP(mp : MPARAM) : HWND; begin HWNDFROMMP:=HWND(mp); end; function SHORT1FROMMP(mp : MPARAM) : USHORT; begin SHORT1FROMMP:=lo(ULONG(mp)); end; function SHORT2FROMMP(mp : MPARAM) : USHORT; begin SHORT2FROMMP:=hi(ULONG(mp)); end; end.