mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 08:11:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			2565 lines
		
	
	
		
			85 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			2565 lines
		
	
	
		
			85 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| {****************************************************************************
 | |
| 
 | |
|                    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.
 | 
