From e611b132f9b8abe35b362e5870b74bce94a1e58e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 May 2020 20:51:50 -0700 Subject: initial commit --- public/sdk/inc/mstest.inc | 1250 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1250 insertions(+) create mode 100644 public/sdk/inc/mstest.inc (limited to 'public/sdk/inc/mstest.inc') diff --git a/public/sdk/inc/mstest.inc b/public/sdk/inc/mstest.inc new file mode 100644 index 000000000..d5d8e0a69 --- /dev/null +++ b/public/sdk/inc/mstest.inc @@ -0,0 +1,1250 @@ +'-------------------------------------------------------------------------- +' +' MSTEST.INC Version 2.00 +' API Declarations for TEST Tools +' +' NOTE: All API are ALIAS'd to themselves to support NT +' API Not yet supported under NT are IFDEF'd out using the +' predefine symbol of NT. +' +' To include the various portions of this file, any combination of the +' following $DEFINE's must be used in your script prior to $INCLUDEing +' MSTEST.INC: +' +' i.e. IN YOUR SCRIPT add a line such as the following to DEFINE one of +' the SYMBOLS below, so you only include what you need. +' +' REM$ DEFINE MSTest - to get everything in this include file +' REM$ DEFINE TestCtrl - to get ALL the TESTCTRL declarations etc. +' REM$ DEFINE TestScrn - to get ALL the TESTSCRN declarations etc. +' REM$ DEFINE TestDlgs - to get ALL the TESTDLGS declarations etc. +' REM$ DEFINE TestEvnt - to get ALL the TESTEVNT declarations etc. +' REM$ DEFINE TestUI - to get ALL the TESTUI declarations etc. +' +' OR USE ANY OF THE FOLLOWING SYMBOLS TO GET PARTIAL +' +' MSTEST: includes all of MSTEST.INC +' +' TESTCTRL: includes all of TESTCTRL +' W_MISC TESTCTRL Miscellaneous routines +' W_WINDOW TESTCTRL Window routines +' W_MENU TESTCTRL Menu routines +' W_ERROR: TESTCTRL error routines +' W_CONTROL: includes all of the control declares & routines +' W_BUTTON: includes all of the BUTTON declares etc. +' W_CHECK: " CHECKBOX +' W_OPTION " OPTION BUTTON +' W_EDIT " EDIT CONTROL +' W_LIST " LIST BOX +' W_COMBO " COMBO BOX +' +' TESTSCRN: includes all of TESTSCRN, Declares & Error codes +' TESTSCRN_DECL: includes all SCR Declares +' TESTSCRN_ERRS: includes all SCR Error codes +' +' TESTDLGS: includes all of TESTDLGS, Declares & Error codes +' TESTDLGS_DECL: includes all DLGS Declares +' TESTDLGS_ERRS: includes all DLGS Error codes +' +' TESTEVNT: includes all TESTEVNT Declares +' +' W_ERROR_TRAP: Just like W_ERROR, but includes a generic +' WErrorTrap to display WError and ErrorText +' NOTE: This is not included from any other define. +' +' NOTE: Including MSTEST.INC without out using any of the above $DEFINE's +' will include only TESTDRVR.EXE trappable and untrappable error +' codes, and declares for CRLF, TRUE (-1), FALSE(0), Key values for +' DoKeys() from TESTEVNT and few routines from TESTCtrl. +' +'--------------------------------------------------------------------------- +' +' Copyright (C) 1991-1992 Microsoft Corporation +' +' You have a royalty-free right to use, modify, reproduce and distribute +' this file (and/or any modified version) in any way you find useful, +' provided that you agree that Microsoft has no warranty, obligation or +' liability for its contents. Refer to the Microsoft Windows Programmer's +' Reference for further information. +' +' This file is not garanteed by Microsoft to be error free. Every effort +' has been made to ensure proper data-types and declarations etc., but no +' testing has been performed using this include file. Additionally, some +' API's, though listed, may not be compatible with the TESTDrvr language. +' +'---------------------------------------------------------------------------- + +' ********************* +'$IFNDEF MSTEST_INCLUDED +'$DEFINE MSTEST_INCLUDED +' ********************* + +'---------------------------------------------------------------------------- +' Generic Global Variables +'---------------------------------------------------------------------------- +Global CRLF As String ' UNDONE: Change to Const X = Chr$() +CRLF = Chr$(13) + Chr$(10) ' once supported + +Const TRUE = -1 +Const FALSE = 0 + + +'---------------------------------------------------------------------------- +' Unrecoverable TESTDRVR error codes +'---------------------------------------------------------------------------- +Const ERR_STACK_OVERFLOW = 0 +Const ERR_STACK_UNDERFLOW = 1 +Const ERR_OUT_OF_STRING_SPACE = 2 +Const ERR_CANT_LOAD_TESTVIEW_DLL = 3 +Const ERR_OUT_OF_MEMORY = 4 + + +'---------------------------------------------------------------------------- +' Recoverable TESTDRVR error codes +'---------------------------------------------------------------------------- +Const ERR_GOSUB_STACK_OVERFLOW = 5 +Const ERR_RETURN_WITHOUT_GOSUB = 6 +Const ERR_BAD_FILE_NUMBER = 7 +Const ERR_FILE_IO = 8 +Const ERR_RUN_CMD_TOO_LONG = 9 +Const ERR_SHELL_CMD_TOO_LONG = 10 +Const ERR_SETFILE = 11 +Const ERR_FILE_NUMBER_IN_USE = 12 +Const ERR_CANT_OPEN_FILE = 13 +Const ERR_ILLEGAL_FUNCTION_CALL = 14 +Const ERR_INVALID_PATH = 15 +Const ERR_INVALID_DRIVE = 16 +Const ERR_NO_CURRENT_WORKING_DIR = 17 +Const ERR_BAD_RUN_CMD = 18 +Const ERR_DIVISION_BY_ZERO = 19 +Const ERR_CANT_LOAD_DLL = 20 +Const ERR_PROC_NOT_FOUND_IN_DLL = 21 +Const ERR_CANNOT_RESUME = 22 +Const ERR_MEM_ALLOC = 23 +Const ERR_INVALID_POINTER = 24 +Const ERR_INVALID_ALLOC_SIZE = 25 +Const ERR_NULL_PIONTER_REF = 26 +Const ERR_SUBSCRIPT_RANGE = 27 +Const ERR_INPUT_PAST_EOF = 28 +Const ERR_FILELIST_PROC = 29 +Const ERR_INVALID_ATTRIBUTE = 30 + +'$ifdef WINUSER_SHOW_COMMANDS AND NOT NT + +'---------------------------------------------------------------------------- +' RUN statement Show commands: RUN "command"[, [NOWAIT][, ShowCommand]] +' NOTE: These are the same as the SW_ constants in Windows.h +'---------------------------------------------------------------------------- +Const SW_HIDE = 0 +Const SW_SHOWNORMAL = 1 +Const SW_NORMAL = 1 +Const SW_SHOWMINIMIZED = 2 +Const SW_SHOWMAXIMIZED = 3 +Const SW_MAXIMIZE = 3 +Const SW_SHOWNOACTIVATE = 4 +Const SW_SHOW = 5 +Const SW_MINIMIZE = 6 +Const SW_SHOWMINNOACTIVE = 7 +Const SW_SHOWNA = 8 +Const SW_RESTORE = 9 + +'$endif WINUSER_SHOW_COMMANDS AND NOT NT + +'---------------------------------------------------------------------------- +' Key contants used with WKey, PlayKeys, & PlayKeyshWnd +'---------------------------------------------------------------------------- +Const K_ENTER = "{ENTER}" +Const K_ESC = "{ESC}" +Const K_UP = "{UP}" +Const K_DOWN = "{DOWN}" +Const K_LEFT = "{LEFT}" +Const K_RIGHT = "{RIGHT}" +Const K_END = "{END}" +Const K_PGUP = "{PGUP}" +Const K_PGDN = "{PGDN}" +Const K_INSERT = "{INSERT}" +Const K_INS = "{INSERT}" +Const K_DELETE = "{DELETE}" +Const K_DEL = "{DELETE}" +Const K_HOME = "{HOME}" +Const K_TAB = "{TAB}" +Const K_BS = "{BS}" +Const K_F1 = "{F1}" +Const K_F2 = "{F2}" +Const K_F3 = "{F3}" +Const K_F4 = "{F4}" +Const K_F5 = "{F5}" +Const K_F6 = "{F6}" +Const K_F7 = "{F7}" +Const K_F8 = "{F8}" +Const K_F9 = "{F9}" +Const K_F10 = "{F10}" +Const K_F11 = "{F11}" +Const K_F12 = "{F12}" +Const K_F13 = "{F13}" +Const K_F14 = "{F14}" +Const K_F15 = "{F15}" +Const K_F16 = "{F16}" +Const K_SHIFT = "+" +Const K_CTRL = "^" +Const K_ALT = "%" + +' TESTCtrl API & Constants that are always declared. +' +' WGetFocus() simply preforms the exact function as the windows +' GetFocus() API. Is contained in TESTCtrl since it is such a +' commonly used API in scripts, and it makes it much easier to +' use since it is defined simply by including MSTEST.INC. It is +' renamed to prevent duplicate definitions due to scripts that +' do define GetFocus() and include MSTEST.INC. +'--------------------------------------------------------------- +Declare Function WGetFocus Lib "TESTCtrl.dll" Alias "WGetFocus" () As Integer +Declare Sub WSetActWnd Lib "TESTCtrl.dll" Alias "WSetActWnd" (hWnd%) +Declare Function WGetActWnd Lib "TESTCtrl.dll" Alias "WGetActWnd" (hWnd%) As Integer +Declare Function WFndWnd Lib "TESTCtrl.dll" Alias "WFndWnd" (lpszCaption$, wFlags%) As Integer +Declare Function WFndWndC Lib "TESTCtrl.dll" Alias "WFndWndC" (lpszText$, lpszClass$, wFlags%) As Integer +Declare Function WFndWndWait Lib "TESTCtrl.dll" Alias "WFndWndWait" (lpszCaption$, wFlags%, wSeconds%) As Integer +Declare Function WFndWndWaitC Lib "TESTCtrl.dll" Alias "WFndWndWaitC" (lpszText$, lpszClass$, wFlags%, wSeconds%) As Integer + +Const FW_DEFAULT = &h0000 'Default +Const FW_RESTOREICON = &h0081 '&h0080 Or FW_FOCUS +Const FW_NOEXIST = &h0040 +Const FW_EXIST = &h0000 'Default +Const FW_CHILDNOTOK = &h0020 +Const FW_CHILDOK = &h0000 'Default +Const FW_HIDDENOK = &h0010 +Const FW_HIDDENNOTOK = &h0000 'Default +Const FW_ACTIVE = &h0008 +Const FW_ALL = &h0000 'Default +Const FW_CASE = &h0004 +Const FW_NOCASE = &h0000 'Default +Const FW_PART = &h0002 +Const FW_FULL = &h0000 'Default +Const FW_FOCUS = &h0001 +Const FW_NOFOCUS = &h0000 'Default + +' TESTEvnt API that are always defined. +'-------------------------------------- +Declare Sub DoKeys Lib "TESTEvnt.Dll" Alias "DoKeys" (lpStr$) +Declare Sub DoKeysHwnd Lib "TESTEvnt.Dll" Alias "DoKeyshWnd" (hWnd%, lpStr$) + +' Useful function when working with the Windows API, +' to extract the HI/LO wordt from a Long Integer. +'--------------------------------------------------- +Declare Function HIWORD(LongVar&) As Integer +Function HIWORD (LongVar&) Static As Integer + HIWORD = LongVar& / 65536 +End Function + +Declare Function LOWORD(LongVar&) As Integer +Function LOWORD (LongVar&) Static As Integer + LOWORD = LongVar& And &H0000FFFF +End Function + +' Useful function when working with the Windows API, +' to extract the HI/LO byte from am Integer. +'--------------------------------------------------- +Declare Function HIBYTE(IntVar%) As Integer +Function HIBYTE (IntVar%) Static As Integer + HIBYTE = IntVar% / 256 +End Function + +Declare Function LOBYTE(IntVar%) As Integer +Function LOBYTE (IntVar%) Static As Integer + LOBYTE = IntVar% And &H00FF +End Function + +' ********************* +'$ENDIF MSTEST_INCLUDED +' ********************* + +'---------------------------------------------------------------------------- +' DEFINE's that control the inclusion of the remainder of MSTEST.INC +'---------------------------------------------------------------------------- +'$IFDEF MSTEST + '$DEFINE TESTCTRL + '$DEFINE TESTSCRN + '$DEFINE TESTDLGS + '$DEFINE TESTEVNT + '$DEFINE TESTUI +'$ENDIF + +'$IFDEF TESTCTRL + '$DEFINE W_MISC + '$DEFINE W_WINDOW + '$DEFINE W_MENU + '$DEFINE W_ERROR + '$DEFINE W_CONTROL +'$ENDIF + +'$IFDEF W_ERROR_TRAP + '$DEFINE W_ERROR +'$ENDIF + +'$IFDEF W_CONTROL + '$DEFINE W_BUTTON + '$DEFINE W_CHECK + '$DEFINE W_OPTION + '$DEFINE W_EDIT + '$DEFINE W_LIST + '$DEFINE W_COMBO +'$ENDIF + +'$IFDEF TESTSCRN + '$DEFINE TESTSCRN_DECL + '$DEFINE TESTSCRN_ERRS +'$ENDIF + +'$IFDEF TESTDLGS + '$DEFINE TESTDLGS_DECL + '$DEFINE TESTDLGS_ERRS +'$ENDIF + +'$IFDEF W_BUTTON OR W_CHECK OR W_OPTION OR W_EDIT OR W_LIST OR W_COMBO + '$DEFINE W_A_CONTROL +'$ENDIF + +' ********************* +'$IFDEF TESTUI AND NOT TESTUI_INCLUDED AND NOT NT +' ********************* +'---------------------------------------------------------------------------- +' TESTUI.dll: +' Function declarations for use with TESTUI +'---------------------------------------------------------------------------- +Declare Function DlgBox Lib "TESTUI.dll" Alias "DlgBox" (DlgId%, hwndOwner%, proc As CallBack, ResFile$) As Integer +Declare Function DlgBox3D Lib "TESTUI.dll" Alias "DlgBox3D" (DlgId%, hwndOwner%, proc As CallBack, ResFile$) As Integer +Declare Function SetScriptMenu Lib "TESTUI.dll" Alias "SetScriptMenu" (MenuId%, hwnd%, ResFile$) As Integer +Declare Function SetIconBar Lib "TESTUI.dll" Alias "SetIconBar" (IconBarId%, proc As Callback, AppName$, ResFile$, fAlwaysOnTop%) As Integer +Declare Function SetSysMenu Lib "TESTUI.dll" Alias "SetSysMenu" (MenuId%, proc As Callback, AppName$, ResFile$) As Integer +Declare Function SetSysMenu3D Lib "TESTUI.dll" Alias "SetSysMenu3D" (MenuId%, proc As Callback, AppName$, ResFile$) As Integer +Declare Function MSTLoadIcon Lib "TESTUI.dll" Alias "MSTLoadIcon" (IconId%, ResFile$) As Integer +Declare Sub MSTDestroyIcon Lib "TESTUI.dll" Alias "MSTDestroyIcon" (hIcon%) + +' ********************* +'$DEFINE TESTUI_INCLUDED +'$ENDIF +'$IFDEF W_MISC AND NOT W_MISC_INCLUDED +' ********************* + + +'---------------------------------------------------------------------------- +' W_MISC: Miscellanious Routines, types and Constants. +'---------------------------------------------------------------------------- +Const MAX_CAPTION = 128 + +Type INFO + hWnd As Integer + hWndParent As Integer + szClass As String * MAX_CAPTION + szCaption As String * MAX_CAPTION + szParentClass As String * MAX_CAPTION + szParentCaption As String * MAX_CAPTION + szModuleName As String * MAX_CAPTION + lStyle As Long + fChild As Integer + wID As Integer + wLeft As Integer + wTop As Integer + wRight As Integer + wBottom As Integer + wWidth As Integer + wHeight As Integer +End Type + +' The 4 WMessage[W|L] API are slight variations on the windows +' SendMessage() API. Two things are provided: +' +' Validation of hWnd%: - If invalid an error value that +' is trappable by WErrorTrap is +' - If hWnd is NULL, the message goes +' to the ActiveWindow. +' Only need paramaters: Pass in only the paramaters that are needed: +' WMessage: Wp and Lp are set to zero +' WMessageW: Lp is set to zero +' WMessageL: Wp is set to zero +' WMessageWL: just like SendMessage() but with hWnd validation +'--------------------------------------------------------------------- +Declare Function WMessage Lib "TESTCtrl.dll" Alias "WMessage" (hWnd%, wMsg%) +Declare Function WMessageW Lib "TESTCtrl.dll" Alias "WMessageW" (hWnd%, wMsg%, wp%) +Declare Function WMessageL Lib "TESTCtrl.dll" Alias "WMessageL" (hWnd%, wMsg%, lp As Any) +Declare Function WMessageWL Lib "TESTCtrl.dll" Alias "WMessageWL" (hWnd%, wMsg%, wp%, lp As Any) +Declare Function WIsVisible Lib "TESTCtrl.dll" Alias "WIsVisible" (hWnd%) As Integer +Declare Function WTextLen Lib "TESTCtrl.dll" Alias "WTextLen" (hWnd%) As Long +Declare Sub WGetText Lib "TESTCtrl.dll" Alias "WGetText" (hWnd%, lpszBuffer$) +Declare Sub WSetText Lib "TESTCtrl.dll" Alias "WSetText" (hWnd%, lpszText$) +Declare Function WNumAltKeys Lib "TESTCtrl.dll" Alias "WNumAltKeys" () As Integer +Declare Sub WGetAltKeys Lib "TESTCtrl.dll" Alias "WGetAltKeys" (lpszBuff$) +Declare Function WNumDupAltKeys Lib "TESTCtrl.dll" Alias "WNumDupAltKeys" () As Integer +Declare Sub WGetDupAltKeys Lib "TESTCtrl.dll" Alias "WGetDupAltKeys" (lpszBuff$) +Declare Sub WDisplayInfo Lib "TESTCtrl.dll" Alias "WDisplayInfo" (hWnd%, wDisplay%) +Declare Sub WGetInfo Lib "TESTCtrl.dll" Alias "WGetInfo" (hWnd%, lpInfo As INFO) + +' Layered routines to simulate string functions for the coresponding +' TESTCtrl API +'---------------------------------------------------------------------------- +Declare Function GetText (hWnd%) As String +Declare Function GetAltKeys () As String +Declare Function GetDupAltKeys () As String + +Const DI_DIALOG = 1 +Const DI_DEBUG = 2 +Const DI_BOTH = 3 + +'---------------------------------------------------------------------------- +' GetText: Layered routine for WGetText() +'---------------------------------------------------------------------------- +Function GetText(hWnd%) Static As String +Dim lpszBuffer As String +Dim textLength As Long + GetText = "" + textLength = WTextLen(hWnd%) + If textLength > 0 Then + lpszBuffer = String$(textLength+1, " ") + WGetText hWnd%, lpszBuffer + GetText = lpszBuffer + End If + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' GetAltKeys: Layered routine for WGetAltKeys() +'---------------------------------------------------------------------------- +Function GetAltKeys() Static As String +Dim lpszBuffer As String + lpszBuffer = String$(WNumAltKeys()+1, " ") + WGetAltKeys lpszBuffer + GetAltKeys = lpszBuffer + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' GetDupAltKeys: Layered routine for WGetDupAltKeys() +'---------------------------------------------------------------------------- +Function GetDupAltKeys() Static As String +Dim lpszBuffer As String + lpszBuffer = String$(WNumDupAltKeys()+1, " ") + WGetDupAltKeys lpszBuffer + GetDupAltKeys = lpszBuffer + lpszBuffer = "" +End Function + +' ********************* +'$DEFINE W_MISC_INCLUDED +'$ENDIF +'$IFDEF TESTEVNT AND NOT TESTEVNT_INCLUDED +' ********************* + +'---------------------------------------------------------------------------- +' TESTEvnt.Dll: +' Function declarations for use with TESTEvnt +'---------------------------------------------------------------------------- +'$IFNDEF NT + +TYPE MEMORYINFO + LargestAvail AS LONG ' Largest available free block in bytes + MaxPagesUnlock AS LONG ' Maximum unlocked page allocation in pages + MaxPagesLocked AS LONG ' Maximum locked page allocation in pages + TotalLinBytes AS LONG ' Linear address space size in bytes + TotalUnlockBytes AS LONG ' Total number of unlocked bytes + TotalFreePhysBytes AS LONG ' Total number of free physical bytes + TotalPhysBytes AS LONG ' Total number of physical bytes + FreeLinBytes AS LONG ' Free linear address space in bytes + SwapFileSize AS LONG ' Size of paging file/partition in bytes + Reserved1 AS LONG ' reserved for future expansion, all bits set + Reserved2 AS LONG ' reserved for future expansion, all bits set + Reserved3 AS LONG ' reserved for future expansion, all bits set + Reserved4 AS LONG ' reserved for future expansion, all bits set + NumSelectors AS INTEGER ' Total number of selectors on current LDT + NumFreeSelectors AS INTEGER ' Number of free selectors on current LDT + GlobalHeapFree AS LONG ' Number of free Global bytes + USERHeapFree AS LONG ' Number of free bytes in USER.EXE's heap + GDIHeapFree AS LONG ' Number of free bytes in GDI.EXE's heap + SysResFree AS INTEGER ' *PERCENTAGE* of free system resources +END TYPE + +Declare Sub WaitUntilIdle Lib "TESTEVNT.DLL" Alias "WaitUntilIdle" () +Declare Function GetMemoryInfo Lib "TESTEvnt.Dll" Alias "GetMemoryInfo" (lpMemInfo As MEMORYINFO) As Integer +Declare Function VMGetScreenCols Lib "TESTEvnt.Dll" Alias "VMGetScreenCols" (HWND%) As Integer +Declare Function VMGetCursPos Lib "TESTEvnt.Dll" Alias "VMGetCursPos" (HWND%) As Integer +Declare Function VMGetScreen Lib "TESTEvnt.Dll" Alias "VMGetScreen" (HWND%, UINT%, UINT%, UINT%, UINT%, LPSTR$) As Integer +Declare Function VMGetScreenClip Lib "TESTEvnt.Dll" Alias "VMGetScreenClip" (HWND%, UINT%, UINT%, UINT%, UINT%) As Integer +Declare Sub VMSetBackground Lib "TESTEvnt.Dll" Alias "VMSetBackground" (HWND%, BOOL%) +Declare Function VMPipeOpen Lib "TESTEvnt.Dll" Alias "VMPipeOpen" (HWND%, SCRIPTSUB As Callback ) As Integer +Declare Function VMPipeClose Lib "TESTEvnt.Dll" Alias "VMPipeClose" (HWND%) As Integer +Declare Function VMPipeGetText Lib "TESTEvnt.Dll" Alias "VMPipeGetText" (HWND%, LPSTR$ ) As Integer + +CONST PIPESTRINGSIZE = 129 ' 128 chars + NULL + +' ** VMPipeGetText() Return values... ** +'---------------------------------------- +CONST PGT_FAILED = &H0000 +CONST PGT_COMPLETE = &H0001 +CONST PGT_MOREREADY = &H0002 + +'$ENDIF NT 'for TESTEvnt VM Stuff + +Declare Sub QueKeys Lib "TESTEvnt.Dll" Alias "QueKeys" (lpStr$) +Declare Sub QueKeyDn Lib "TESTEvnt.Dll" Alias "QueKeyDn" (lpStr$) +Declare Sub QueKeyUp Lib "TESTEvnt.Dll" Alias "QueKeyUp" (lpStr$) +Declare Sub QueSetSpeed Lib "TESTEvnt.Dll" Alias "QueSetSpeed" (ms%) +Declare Sub QuePause Lib "TESTEvnt.Dll" Alias "QuePause" (ms&) +Declare Sub QueFlush Lib "TESTEvnt.Dll" Alias "QueFlush" (fRestoreKeyState%) +Declare Sub QueEmpty Lib "TESTEvnt.Dll" Alias "QueEmpty" () +Declare Sub QueMouseMove Lib "TESTEvnt.Dll" Alias "QueMouseMove" (x%, y%) +Declare Sub QueMouseDn Lib "TESTEvnt.Dll" Alias "QueMouseDn" (iBtn%, x%, y%) +Declare Sub QueMouseUp Lib "TESTEvnt.Dll" Alias "QueMouseUp" (iBtn%, x%, y%) +Declare Sub QueMouseClick Lib "TESTEvnt.Dll" Alias "QueMouseClick" (iBtn%, x%, y%) +Declare Sub QueMouseDblClk Lib "TESTEvnt.Dll" Alias "QueMouseDblClk" (iBtn%, x%, y%) +Declare Sub QueMouseDblDn Lib "TESTEvnt.Dll" Alias "QueMouseDblDn" (iBtn%, x%, y%) +Declare Sub QueSetFocus Lib "TESTEvnt.Dll" Alias "QueSetFocus" (hwnd%) +Declare Sub QueSetRelativeWindow Lib "TESTEvnt.Dll" Alias "QueSetRelativeWindow" (hwnd%) + +'$ifndef VK_WINAPI +Const VK_LBUTTON = 1 +Const VK_RBUTTON = 2 +Const VK_MBUTTON = 4 +'$define VK_WINAPI +'$endif + +' ********************* +'$DEFINE TESTEVNT_INCLUDED +'$ENDIF +'$IFDEF TESTSCRN_DECL AND NOT TESTSCRN_DECL_INCLUDED +' ********************* + + +'---------------------------------------------------------------------------- +' TESTScrn.DLL: +' Type, Const, and Function declarations for use with TESTScrn +'---------------------------------------------------------------------------- +Type wRect + x1 As Integer + y1 As Integer + x2 As Integer + y2 As Integer +End Type + +Const SCRNAPPEND = 0 +Const SCRNREPLACE = 1 +Const SCRNINSERT = 2 + +'*** TESTSCRN.DLL Routines +' +Declare Function fCompFiles Lib "TESTScrn.DLL" Alias "fCompFiles" (lpszFileName1$, Scr1%, lpszFileName2$, Scr2%, CompareType%) As Integer +Declare Function fCompScreenActivate Lib "TESTScrn.DLL" Alias "fCompScreenActivate" (lpszFileName$, OpenKeys$, CloseKeys$, lpRect As wRect, Scr1%, Hide%, Flag%) As Integer +Declare Function fCompScreen Lib "TESTScrn.DLL" Alias "fCompScreen" (lpszFileName$, lpRect As wRect, Scr1%, Hide%, Flag%) As Integer +Declare Function fCompWindowActivate Lib "TESTScrn.DLL" Alias "fCompWindowActivate" (lpszFileName$, OpenKeys$, CloseKeys$, Scr1%, Hide%, Flag%) As Integer +Declare Function fCompWindow Lib "TESTScrn.DLL" Alias "fCompWindow" (lpszFileName$, hWnd%, Scr1%, Hide%, Flag%) As Integer +Declare Function fDelScreen Lib "TESTScrn.DLL" Alias "fDelScreen" (lpszFileName$, Scr%) As Integer +Declare Function fDumpFileToClip Lib "TESTScrn.DLL" Alias "fDumpFileToClip" (lpszFileName$, Scr%) As Integer +Declare Function fDumpScreenActivate Lib "TESTScrn.DLL" Alias "fDumpScreenActivate" (lpszFileName$, OpenKeys$, CloseKeys$, lpRect As wRect, Action%, Scr1%, Flag%) As Integer +Declare Function fDumpScreen Lib "TESTScrn.DLL" Alias "fDumpScreen" (lpszFileName$, lpRect As wRect, Action%, Scr1%, Flag%) As Integer +Declare Function fDumpSrnToClipActivate Lib "TESTScrn.DLL" Alias "fDumpSrnToClipActivate" (OpenKeys$, CloseKeys$, lpRect As wRect, Hide%) As Integer +Declare Function fDumpSrnToClip Lib "TESTScrn.DLL" Alias "fDumpSrnToClip" (lpRect As wRect, Hide%) As Integer +Declare Function fDumpWindowActivate Lib "TESTScrn.DLL" Alias "fDumpWindowActivate" (lpszFileName$, OpenKeys$, CloseKeys$, Action%, Scr1%, Flag%) As Integer +Declare Function fDumpWindow Lib "TESTScrn.DLL" Alias "fDumpWindow" (lpszFileName$, wHnd%, Action%, Scr1%, Flag%) As Integer +Declare Function fDumpWndToClipActivate Lib "TESTScrn.DLL" Alias "fDumpWndToClipActivate" (OpenKeys$, CloseKeys$, Hide%) As Integer +Declare Function fDumpWndToClip Lib "TESTScrn.DLL" Alias "fDumpWndToClip" (hWnd%, Hide%) As Integer +Declare Function fFileInfo Lib "TESTScrn.DLL" Alias "fFileInfo" (lpszName$, lpRect AS wRect, VideoMode AS POINTER TO INTEGER, Count AS POINTER TO INTEGER) As Integer +Declare Function fGetDLLVersion Lib "TESTScrn.DLL" Alias "fGetDLLVersion" (lpszFileName$) As Integer +Declare Function fGetMaxScreen Lib "TESTScrn.DLL" Alias "fGetMaxScreen" (lpszFileName$) As Integer +Declare Function fGetOS Lib "TESTScrn.DLL" Alias "fGetOS" (lpszFileName$) As Integer +Declare Function fSaveFileToDIB Lib "TESTScrn.DLL" Alias "fSaveFileToDIB" (lpszFileName1$, Scr%, lpszFileName2$) As Integer +Declare Function fSaveSrnToDIBActivate Lib "TESTScrn.DLL" Alias "fSaveSrnToDIBActivate" (lpszFileName$, OpenKeys$, CloseKeys$, lpRect As wRect, Hide%) As Integer +Declare Function fSaveSrnToDIB Lib "TESTScrn.DLL" Alias "fSaveSrnToDIB" (lpszFileName$, lpRect As wRect, Hide%) As Integer +Declare Function fSaveWndToDIBActivate Lib "TESTScrn.DLL" Alias "fSaveWndToDIBActivate" (lpszFileName$, OpenKeys$, CloseKeys$, Hide%) As Integer +Declare Function fSaveWndToDIB Lib "TESTScrn.DLL" Alias "fSaveWndToDIB" (lpszFileName$, hWnd%, Hide%) As Integer +Declare Function fViewScreen Lib "TESTScrn.DLL" Alias "fViewScreen" (lpszFileName$, hWnd%, Scr1%, Action%) As Integer + + +' ********************* +'$DEFINE TESTSCRN_DECL_INCLUDED +'$ENDIF +'$IFDEF TESTSCRN_ERRS AND NOT TESTSCRN_ERRS_INCLUDED +' ********************* + + +'*** TESTScrn.DLL Error Codes +' +Const ERR_SCR_NOERROR = 0 +Const ERR_SCR_FILEACCESS = 301 +Const ERR_SCR_INVALIDFIL = 302 +Const ERR_SCR_INVALSRNID = 303 +Const ERR_SCR_INVALSRNMD = 304 +Const ERR_SCR_OUTOMEMORY = 305 +Const ERR_SCR_READSRNFIL = 306 +Const ERR_SCR_RELMEMORY = 307 +Const ERR_SCR_CREATEDDB = 308 +Const ERR_SCR_RWSRNTABLE = 309 +Const ERR_SCR_RWCOLTABLE = 310 +Const ERR_SCR_WSRNIMAGE = 311 +Const ERR_SCR_WFILEHEAD = 312 +Const ERR_SCR_CREATEDIB = 313 +Const ERR_SCR_SCREENSIZE = 314 +Const ERR_SCR_DISPSCREEN = 315 +Const ERR_SCR_INVALIDACT = 316 +Const ERR_SCR_IMAGEDIFF = 317 +Const ERR_SCR_SRNSIZEDIF = 318 +Const ERR_SCR_FILEEXIST = 319 +Const ERR_SCR_CTEMPFILE = 320 +Const ERR_SCR_HIDEWIN = 321 +Const ERR_SCR_INVALWHAND = 322 +Const ERR_SCR_OFILEFORM = 323 +Const ERR_SCR_SRNFILEFUL = 324 +Const ERR_SCR_INVALSCALE = 325 +Const ERR_SCR_OPENCB = 326 +Const ERR_SCR_EMPTYCB = 327 +Const ERR_SCR_COPYTOCB = 328 +Const ERR_SCR_CLOSECB = 329 +Const ERR_SCR_CREATEPAL = 330 +Const ERR_SCR_LIBLOADERR = 331 + + +' ********************* +'$DEFINE TESTSCRN_ERRS_INCLUDED +'$ENDIF +'$IFNDEF NT +'$IFDEF TESTDLGS_DECL AND NOT TESTDLGS_DECL_INCLUDED +' ********************* + + +'---------------------------------------------------------------------------- +' TESTDlgs.DLL: +' Type, Const, and Function declarations for use with TESTDlgs +'---------------------------------------------------------------------------- +Const cchCLASSMAC = 32 +Const cchTEXTMAC = 256 +Const wVEREB = 1 + +Type DCR + xLeft As Integer + yMin As Integer + xRight As Integer + yLast As Integer +End Type + +Declare Function AwaitSaveCompletion Lib "TESTDlgs.DLL" Alias "AwaitSaveCompletion" () As Integer +Declare Function ComparisonResults Lib "TESTDlgs.DLL" Alias "ComparisonResults" () As Integer +Declare Function CmpWindow Lib "TESTDlgs.DLL" Alias "CmpWindow" (hWnd%, nDialog%, fIncludeParent%) As Integer +Declare Function CmpWindowActivate Lib "TESTDlgs.DLL" Alias "CmpWindowActivate" (lpszOpenKeys$, lpszCloseKey$, nDialog%, fIncludeParent%) As Integer +Declare Function CmpWindowCaption Lib "TESTDlgs.DLL" Alias "CmpWindowCaption" (lpszCap$, nDialog%, fIncludeParent%) As Integer +Declare Function CmpWindowDelayed Lib "TESTDlgs.DLL" Alias "CmpWindowDelayed" (nDelay%, nDialog%, fIncludeParent%, lpszCloseKeys$) As Integer +Declare Function FindWindowCaption Lib "TESTDlgs.DLL" Alias "FindWindowCaption" (lpszCap$, hWndStart%) As Integer +Declare Function SaveMenu Lib "TESTDlgs.DLL" Alias "SaveMenu" (hWnd%, nDialog%, lpszDesc$, fReplace%) As Integer +Declare Function SaveMenuActivate Lib "TESTDlgs.DLL" Alias "SaveMenuActivate" (lpszOpenKeys$, lpszCloseKeys$, nDialog%, lpszDesc$, fReplace%) As Integer +Declare Function SaveMenuCaption Lib "TESTDlgs.DLL" Alias "SaveMenuCaption" (lpszCap$, nDialog%, lpszDesc$, fReplace%) As Integer +Declare Function SaveMenuDelayed Lib "TESTDlgs.DLL" Alias "SaveMenuDelayed" (nDelay%, nDialog%, lpszDesc$, fReplace%, CloseKeys$) As Integer +Declare Function SaveWindow Lib "TESTDlgs.DLL" Alias "SaveWindow" (hWnd%, nDialog%, lpszDesc$, fReplace%, fIncludeParent%) As Integer +Declare Function SaveWindowActivate Lib "TESTDlgs.DLL" Alias "SaveWindowActivate" (lpszOpenKeys$, lpszCloseKeys$, nDialog%, lpszDesc$, fReplace%, fIncludeParent%) As Integer +Declare Function SaveWindowCaption Lib "TESTDlgs.DLL" Alias "SaveWindowCaption" (lpszCap$, nDialog%, lpszDesc$, fReplace%, fIncludeParent%) As Integer +Declare Function SaveWindowDelayed Lib "TESTDlgs.DLL" Alias "SaveWindowDelayed" (nDelay%, nDialog%, lpszDesc$, fReplace%, fIncludeParent%, lpszCloseKeys$) As Integer +Declare Function SetDialogFile Lib "TESTDlgs.DLL" Alias "SetDialogFile" (lpszDialogName$) As Integer +Declare Function SetLogFile Lib "TESTDlgs.DLL" Alias "SetLogFile" (lpszLogName$) As Integer + + +' ********************* +'$DEFINE TESTDLGS_DECL_INCLUDED +'$ENDIF +'$IFDEF TESTDLGS_ERRS AND NOT TESTDLGS_ERRS_INCLUDED +' ********************* + + +'*** Function return codes +' +Const ERR_DLGS_NOERR = 0 +Const ERR_DLGS_FUZZY = -1 +Const ERR_DLGS_EXCESS = -2 +Const ERR_DLGS_CTLNOTFOUND = -3 +Const ERR_DLGS_NODLGFILE = -10 +Const ERR_DLGS_FILENOTFOUND = -11 +Const ERR_DLGS_BADWDLFILE = -12 +Const ERR_DLGS_LIBLOADERR = -13 +Const ERR_DLGS_SAVEERR = -14 +Const ERR_DLGS_DLGFILEERR = -15 +Const ERR_DLGS_TMPFILEERR = -16 +Const ERR_DLGS_VERSIONERR = -17 +Const ERR_DLGS_DLGFILEFULL = -18 +Const ERR_DLGS_OUTOFMEMORY = -20 +Const ERR_DLGS_BUFFERERR = -21 +Const ERR_DLGS_NOTIMER = -22 +Const ERR_DLGS_NODYNDIALOG = -30 +Const ERR_DLGS_INVALIDHWND = -31 +Const ERR_DLGS_BADCAPTION = -32 +Const ERR_DLGS_BADDLGNUM = -33 +Const ERR_DLGS_BADCTLINDEX = -34 +Const ERR_DLGS_BADCTLTYPE = -35 +Const ERR_DLGS_BADSAVEACTION = -36 +Const ERR_DLGS_APPSPECIFIC = -37 + + +' ********************* +'$DEFINE TESTDLGS_ERRS_INCLUDED +'$ENDIF +'$ENDIF NT for TESTDLGS +'$IFDEF W_WINDOW AND NOT W_WINDOW_INCLUDED +' ********************* + + +'---------------------------------------------------------------------------- +' TESTCtrl.dll routines, types, & constants +'---------------------------------------------------------------------------- + +'*** Window size and position types +' +Type WNDPOS + wLeft As Integer + wTop As Integer +End Type + +Type WNDSIZ + wWidth As Integer + wHeight As Integer +End Type + +Type WNDPOSSIZ + wLeft As Integer + wTop As Integer + wWidth As Integer + wHeight As Integer +End Type + +'*** Window Positioning and Sizing routines & contants +' +Declare Sub WMinWnd Lib "TESTCtrl.dll" Alias "WMinWnd" (hWnd%) +Declare Sub WMaxWnd Lib "TESTCtrl.dll" Alias "WMaxWnd" (hWnd%) +Declare Sub WResWnd Lib "TESTCtrl.dll" Alias "WResWnd" (hWnd%) +Declare Sub WSetWndPos Lib "TESTCtrl.dll" Alias "WSetWndPos" (hWnd%, wLeft%, wTop%) +Declare Sub WSetWndSiz Lib "TESTCtrl.dll" Alias "WSetWndSiz" (hWnd%, wWidth%, wHeight%) +Declare Sub WSetWndPosSiz Lib "TESTCtrl.dll" Alias "WSetWndPosSiz" (hWnd%, wLeft%, wTop%, wWidth%, wHeight%) +Declare Sub WAdjWndPos Lib "TESTCtrl.dll" Alias "WAdjWndPos" (hWnd%, deltaLeft%, deltaTop%) +Declare Sub WAdjWndSiz Lib "TESTCtrl.dll" Alias "WAdjWndSiz" (hWnd%, deltaWidth%, deltaHeight%) +Declare Sub WAdjWndPosSiz Lib "TESTCtrl.dll" Alias "WAdjWndPosSiz" (hWnd%, deltaLeft%, deltaTop%, deltaWidth%, deltaHeight%) +Declare Sub WGetWndPos Lib "TESTCtrl.dll" Alias "WGetWndPos" (hWnd%, lpWndPos As WNDPOS, fRelative%) +Declare Sub WGetWndSiz Lib "TESTCtrl.dll" Alias "WGetWndSiz" (hWnd%, lpWndSiz As WNDSIZ) +Declare Sub WGetWndPosSiz Lib "TESTCtrl.dll" Alias "WGetWndPosSiz" (hWnd%, lpWndPosSiz As WNDPOSSIZ, fRelative%) +Declare Function WIsMaximized Lib "TESTCtrl.dll" Alias "WIsMaximized" (hWnd%) As Integer +Declare Function WIsMinimized Lib "TESTCtrl.dll" Alias "WIsMinimized" (hWnd%) As Integer + + +Const W_RELATIVE = TRUE +Const W_ABSOLUTE = FALSE + + +' ********************* +'$DEFINE W_WINDOW_INCLUDED +'$ENDIF +'$IFDEF W_MENU AND NOT W_MENU_INCLUDED +' ********************* + + +'*** Menu routines & constants +' +Declare Sub WSysMenu Lib "TESTCtrl.dll" Alias "WSysMenu" (hWnd%) +Declare Function WSysMenuExists Lib "TESTCtrl.dll" Alias "WSysMenuExists" (hWnd%) As Integer +Declare Sub WMenu Lib "TESTCtrl.dll" Alias "WMenu" (lpszName$) +Declare Sub WMenuEx CDECL Lib "TESTCtrl.dll" Alias "WMenuEx" (lpszName$, ...) +Declare Function WMenuExists Lib "TESTCtrl.dll" Alias "WMenuExists" (lpszName$) As Integer +Declare Function WMenuGrayed Lib "TESTCtrl.dll" Alias "WMenuGrayed" (lpszName$) As Integer +Declare Function WMenuChecked Lib "TESTCtrl.dll" Alias "WMenuChecked" (lpszName$) As Integer +Declare Function WMenuEnabled Lib "TESTCtrl.dll" Alias "WMenuEnabled" (lpszName$) As Integer +Declare Function WMenuCount Lib "TESTCtrl.dll" Alias "WMenuCount" () As Integer +Declare Sub WMenuText Lib "TESTCtrl.dll" Alias "WMenuText" (lpszName$, lpszBuffer$) +Declare Function WMenuLen Lib "TESTCtrl.dll" Alias "WMenuLen" (lpszName$) As Integer +Declare Sub WMenuFullText Lib "TESTCtrl.dll" Alias "WMenuFullText" (lpszName$, lpszBuffer$) +Declare Function WMenuFullLen Lib "TESTCtrl.dll" Alias "WMenuFullLen" (lpszName$) As Integer +Declare Sub WMenuEnd Lib "TESTCtrl.dll" Alias "WMenuEnd" () +Declare Function WMenuNumAltKeys Lib "TESTCtrl.dll" Alias "WMenuNumAltKeys" () As Integer +Declare Sub WMenuGetAltKeys Lib "TESTCtrl.dll" Alias "WMenuGetAltKeys" (lpszBuff$) +Declare Function WMenuNumDupAltKeys Lib "TESTCtrl.dll" Alias "WMenuNumDupAltKeys" () As Integer +Declare Sub WMenuGetDupAltKeys Lib "TESTCtrl.dll" Alias "WMenuGetDupAltKeys" (lpszBuff$) + +' Layered routines to simulate string functions for the coresponding +' TESTCtrl API +'---------------------------------------------------------------------------- +Declare Function MenuText (lpszName$) As String +Declare Function MenuFullText (lpszName$) As String +Declare Function MenuGetAltKeys () As String +Declare Function MenuGetDupAltKeys () As String + +' Unlike the rest of the menu routines, WMenuSeparator() does not ignore +' menu separators when specifing indexes. The first menu item is item #1 +' the second #2, and so on including all separators. +'------------------------------------------------------------------------ +Declare Function WMenuSeparator Lib "TESTCtrl.dll" Alias "WMenuSeparator" (sIndex%) As Integer + +' Obsolete Menu API +'------------------ +Declare Sub WMenuX Lib "TESTCtrl.dll" Alias "WMenuX" (iIndex%) +Declare Function WMenuGrayedX Lib "TESTCtrl.dll" Alias "WMenuGrayedX" (iIndex%) As Integer +Declare Function WMenuCheckedX Lib "TESTCtrl.dll" Alias "WMenuCheckedX" (iIndex%) As Integer +Declare Function WMenuEnabledX Lib "TESTCtrl.dll" Alias "WMenuEnabledX" (iIndex%) As Integer + + +'---------------------------------------------------------------------------- +' MenuText: Layered routine for WMenuText() +'---------------------------------------------------------------------------- +Function MenuText(lpszName$) Static As String +Dim lpszBuffer As String +Dim menuLength As Integer + MenuText = "" + menuLength = WMenuLen(lpszName$) + If menuLength >= 0 Then + lpszBuffer = String$(menuLength+1, " ") + WMenuText lpszName$, lpszBuffer + MenuText = lpszBuffer + End if + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' MenuFullText: Layered routine for WMenuFullText() +'---------------------------------------------------------------------------- +Function MenuFullText(lpszName$) Static As String +Dim lpszBuffer As String +Dim menuLength As Integer + MenuFullText = "" + menuLength = WMenuFullLen(lpszName$) + If menuLength >= 0 Then + lpszBuffer = String$(menuLength+1, " ") + WMenuFullText lpszName$, lpszBuffer + MenuFullText = lpszBuffer + End If + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' MenuGetAltKeys: Layered routine for WMenuGetAltKeys() +'---------------------------------------------------------------------------- +Function MenuGetAltKeys() Static As String +Dim lpszBuffer As String + lpszBuffer = String$(WMenuNumAltKeys()+1, " ") + WMenuGetAltKeys lpszBuffer + MenuGetAltKeys = lpszBuffer + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' MenuGetDupAltKeys: Layered routine for WMenuGetDupAltKeys() +'---------------------------------------------------------------------------- +Function MenuGetDupAltKeys() Static As String +Dim lpszBuffer As String + lpszBuffer = String$(WMenuNumDupAltKeys()+1, " ") + WMenuGetDupAltKeys lpszBuffer + MenuGetDupAltKeys = lpszBuffer + lpszBuffer = "" +End Function + +' ********************* +'$DEFINE W_MENU_INCLUDED +'$ENDIF +'$IFDEF W_A_CONTROL AND NOT W_A_CONTROL_INCLUDED +' ********************* + + +'*** Global routine & constants used by all controls +' +Declare Sub WStaticSetClass Lib "TESTCtrl.dll" Alias "WStaticSetClass" (lpszClassName$) +Declare Sub WResetClasses Lib "TESTCtrl.dll" Alias "WResetClasses" () + + +' ********************* +'$DEFINE W_A_CONTROL_INCLUDED +'$ENDIF +'$IFDEF W_BUTTON AND NOT W_BUTTON_INCLUDED +' ********************* + + +'*** Button routines +' +Declare Sub WButtonSetClass Lib "TESTCtrl.dll" Alias "WButtonSetClass" (lpszClassName$) +Declare Function WButtonExists Lib "TESTCtrl.dll" Alias "WButtonExists" (lpszName$) As Integer +Declare Function WButtonEnabled Lib "TESTCtrl.dll" Alias "WButtonEnabled" (lpszName$) As Integer +Declare Function WButtonFocus Lib "TESTCtrl.dll" Alias "WButtonFocus" (lpszName$) As Integer +Declare Sub WButtonClick Lib "TESTCtrl.dll" Alias "WButtonClick" (lpszName$) +Declare Sub WButtonHide Lib "TESTCtrl.dll" Alias "WButtonHide" (lpszName$) +Declare Sub WButtonShow Lib "TESTCtrl.dll" Alias "WButtonShow" (lpszName$) +Declare Sub WButtonEnable Lib "TESTCtrl.dll" Alias "WButtonEnable" (lpszName$) +Declare Sub WButtonDisable Lib "TESTCtrl.dll" Alias "WButtonDisable" (lpszName$) +Declare Function WButtonDefault Lib "TESTCtrl.dll" Alias "WButtonDefault" (lpszName$) As Integer +Declare Function WButtonDefaults Lib "TESTCtrl.dll" Alias "WButtonDefaults" () As Integer +Declare Sub WButtonSetFocus Lib "TESTCtrl.dll" Alias "WButtonSetFocus" (lpszName$) + +' ********************* +'$DEFINE W_BUTTON_INCLUDED +'$ENDIF +'$IFDEF W_CHECK AND NOT W_CHECK_INCLUDED +' ********************* + + +' CheckBox routines +' +Declare Sub WCheckSetClass Lib "TESTCtrl.dll" Alias "WCheckSetClass" (lpszClassName$) +Declare Function WCheckExists Lib "TESTCtrl.dll" Alias "WCheckExists" (lpszName$) As Integer +Declare Function WCheckEnabled Lib "TESTCtrl.dll" Alias "WCheckEnabled" (lpszName$) As Integer +Declare Function WCheckFocus Lib "TESTCtrl.dll" Alias "WCheckFocus" (lpszName$) As Integer +Declare Function WCheckState Lib "TESTCtrl.dll" Alias "WCheckState" (lpszName$) As Integer +Declare Sub WCheckClick Lib "TESTCtrl.dll" Alias "WCheckClick" (lpszName$) +Declare Sub WCheckHide Lib "TESTCtrl.dll" Alias "WCheckHide" (lpszName$) +Declare Sub WCheckShow Lib "TESTCtrl.dll" Alias "WCheckShow" (lpszName$) +Declare Sub WCheckEnable Lib "TESTCtrl.dll" Alias "WCheckEnable" (lpszName$) +Declare Sub WCheckDisable Lib "TESTCtrl.dll" Alias "WCheckDisable" (lpszName$) +Declare Sub WCheckCheck Lib "TESTCtrl.dll" Alias "WCheckCheck" (lpszName$) +Declare Sub WCheckUnCheck Lib "TESTCtrl.dll" Alias "WCheckUnCheck" (lpszName$) +Declare Sub WCheckSetFocus Lib "TESTCtrl.dll" Alias "WCheckSetFocus" (lpszName$) + +Const UNCHECKED = 0 +Const CHECKED = 1 +Const GRAYED = 2 + + +' ********************* +'$DEFINE W_CHECK_INCLUDED +'$ENDIF +'$IFDEF W_OPTION AND NOT W_OPTION_INCLUDED +' ********************* + + +'*** Option Button routines +' +Declare Sub WOptionSetClass Lib "TESTCtrl.dll" Alias "WOptionSetClass" (lpszClassName$) +Declare Function WOptionExists Lib "TESTCtrl.dll" Alias "WOptionExists" (lpszName$) As Integer +Declare Function WOptionEnabled Lib "TESTCtrl.dll" Alias "WOptionEnabled" (lpszName$) As Integer +Declare Function WOptionFocus Lib "TESTCtrl.dll" Alias "WOptionFocus" (lpszName$) As Integer +Declare Function WOptionState Lib "TESTCtrl.dll" Alias "WOptionState" (lpszName$) As Integer +Declare Sub WOptionClick Lib "TESTCtrl.dll" Alias "WOptionClick" (lpszName$) +Declare Sub WOptionHide Lib "TESTCtrl.dll" Alias "WOptionHide" (lpszName$) +Declare Sub WOptionShow Lib "TESTCtrl.dll" Alias "WOptionShow" (lpszName$) +Declare Sub WOptionEnable Lib "TESTCtrl.dll" Alias "WOptionEnable" (lpszName$) +Declare Sub WOptionDisable Lib "TESTCtrl.dll" Alias "WOptionDisable" (lpszName$) +Declare Sub WOptionSelect Lib "TESTCtrl.dll" Alias "WOptionSelect" (lpszName$) +Declare Sub WOptionSetFocus Lib "TESTCtrl.dll" Alias "WOptionSetFocus" (lpszName$) + +' ********************* +'$DEFINE W_OPTION_INCLUDED +'$ENDIF +'$IFDEF W_LIST AND NOT W_LIST_INCLUDED +' ********************* + + +'*** Listbox routines +' +Declare Sub WListSetClass Lib "TESTCtrl.dll" Alias "WListSetClass" (lpszClass$) +Declare Function WListExists Lib "TESTCtrl.dll" Alias "WListExists" (lpszName$) As Integer +Declare Function WListCount Lib "TESTCtrl.dll" Alias "WListCount" (lpszName$) As Integer +Declare Sub WListText Lib "TESTCtrl.dll" Alias "WListText" (lpszName$, lpszBuffer$) +Declare Function WListLen Lib "TESTCtrl.dll" Alias "WListLen" (lpszName$) As Integer +Declare Function WListIndex Lib "TESTCtrl.dll" Alias "WListIndex" (lpszName$) As Integer +Declare Function WListTopIndex Lib "TESTCtrl.dll" Alias "WListTopIndex" (lpszName$) As Integer +Declare Sub WListItemText Lib "TESTCtrl.dll" Alias "WListItemText" (lpszName$, iItem%, lpszBuffer$) +Declare Function WListItemLen Lib "TESTCtrl.dll" Alias "WListItemLen" (lpszName$, iItem%) As Integer +Declare Function WListItemExists Lib "TESTCtrl.dll" Alias "WListItemExists" (lpszName$, lpszItem$) As Integer +Declare Sub WListItemClk Lib "TESTCtrl.dll" Alias "WListItemClk" (lpszName$, iItem%) +Declare Sub WListItemCtrlClk Lib "TESTCtrl.dll" Alias "WListItemCtrlClk" (lpszName$, iItem%) +Declare Sub WListItemShftClk Lib "TESTCtrl.dll" Alias "WListItemShftClk" (lpszName$, iItem%) +Declare Sub WListItemDblClk Lib "TESTCtrl.dll" Alias "WListItemDblClk" (lpszName$, iItem%) +Declare Sub WListItemClkT Lib "TESTCtrl.dll" Alias "WListItemClkT" (lpszName$, lpszItem$) +Declare Sub WListItemCtrlClkT Lib "TESTCtrl.dll" Alias "WListItemCtrlClkT" (lpszName$, lpszItem$) +Declare Sub WListItemShftClkT Lib "TESTCtrl.dll" Alias "WListItemShftClkT" (lpszName$, lpszItem$) +Declare Sub WListItemDblClkT Lib "TESTCtrl.dll" Alias "WListItemDblClkT" (lpszName$, lpszItem$) +Declare Function WListSelCount Lib "TESTCtrl.dll" Alias "WListSelCount" (lpszName$) As Integer +Declare Sub WListSelItems Lib "TESTCtrl.dll" Alias "WListSelItems" (lpszName$, lpIntArray As Pointer To Integer) +Declare Sub WListClear Lib "TESTCtrl.dll" Alias "WListClear" (lpszName$) +Declare Sub WListAddItem Lib "TESTCtrl.dll" Alias "WListAddItem" (lpszName$, lpszItem$) +Declare Sub WListDelItem Lib "TESTCtrl.dll" Alias "WListDelItem" (lpszName$, iItem%) +Declare Sub WListDelItemT Lib "TESTCtrl.dll" Alias "WListDelItemT" (lpszName$, lpszItem$) +Declare Function WListEnabled Lib "TESTCtrl.dll" Alias "WListEnabled" (lpszName$) As Integer +Declare Sub WListSetFocus Lib "TESTCtrl.dll" Alias "WListSetFocus" (lpszName$) + +' Layered routines to simulate string functions for the coresponding +' TESTCtrl API +'---------------------------------------------------------------------------- +Declare Function ListText (lpszName$) As String +Declare Function ListItemText (lpszName$, iItem%) As String + +'---------------------------------------------------------------------------- +' ListText: Layered routine for WListText() +'---------------------------------------------------------------------------- +Function ListText(lpszName$) Static As String +Dim lpszBuffer As String +Dim itemLength As Integer + ListText = "" + itemLength = WListLen(lpszName) + If itemLength >= 0 Then + lpszBuffer = String$(itemLength+1, " ") + WListText lpszName, lpszBuffer + ListText = lpszBuffer + End If + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' ListItemText: Layered routine for WListItemText() +'---------------------------------------------------------------------------- +Function ListItemText(lpszName$, sItem%) Static As String +Dim lpszBuffer As String +Dim itemLength As Integer + ListItemText = "" + itemLength = WListItemLen(lpszName, sItem) + If itemLength >= 0 Then + lpszBuffer = String$(itemLength+1, " ") + WListItemText lpszName, sItem, lpszBuffer + ListItemText = lpszBuffer + End If + lpszBuffer = "" +End Function + + +' ********************* +'$DEFINE W_LIST_INCLUDED +'$ENDIF +'$IFDEF W_COMBO AND NOT W_COMBO_INCLUDED +' ********************* + + +'*** Combobox routines +' +Declare Sub WComboSetClass Lib "TESTCtrl.dll" Alias "WComboSetClass" (lpszClass$) +Declare Sub WComboSetLBClass Lib "TESTCtrl.dll" Alias "WComboSetLBClass" (lpszClass$) +Declare Function WComboExists Lib "TESTCtrl.dll" Alias "WComboExists" (lpszName$) As Integer +Declare Function WComboCount Lib "TESTCtrl.dll" Alias "WComboCount" (lpszName$) As Integer +Declare Sub WComboSetText Lib "TESTCtrl.dll" Alias "WComboSetText" (lpszName$, lpszText$) +Declare Sub WComboText Lib "TESTCtrl.dll" Alias "WComboText" (lpszName$, lpszBuffer$) +Declare Function WComboLen Lib "TESTCtrl.dll" Alias "WComboLen" (lpszName$) As Integer +Declare Sub WComboSelText Lib "TESTCtrl.dll" Alias "WComboSelText" (lpszName$, lpszBuffer$) +Declare Function WComboSelLen Lib "TESTCtrl.dll" Alias "WComboSelLen" (lpszName$) As Integer +Declare Function WComboIndex Lib "TESTCtrl.dll" Alias "WComboIndex" (lpszName$) As Integer +Declare Sub WComboItemText Lib "TESTCtrl.dll" Alias "WComboItemText" (lpszName$, iItem%, lpszBuffer$) +Declare Function WComboItemLen Lib "TESTCtrl.dll" Alias "WComboItemLen" (lpszName$, iItem%) As Integer +Declare Function WComboItemExists Lib "TESTCtrl.dll" Alias "WComboItemExists" (lpszName$, lpszItem$) As Integer +Declare Sub WComboItemClk Lib "TESTCtrl.dll" Alias "WComboItemClk" (lpszName$, iItem%) +Declare Sub WComboItemDblClk Lib "TESTCtrl.dll" Alias "WComboItemDblClk" (lpszName$, iItem%) +Declare Sub WComboItemClkT Lib "TESTCtrl.dll" Alias "WComboItemClkT" (lpszName$, lpszItem$) +Declare Sub WComboItemDblClkT Lib "TESTCtrl.dll" Alias "WComboItemDblClkT" (lpszName$, lpszItem$) +Declare Sub WComboClear Lib "TESTCtrl.dll" Alias "WComboClear" (lpszName$) +Declare Sub WComboAddItem Lib "TESTCtrl.dll" Alias "WComboAddItem" (lpszName$, lpszItem$) +Declare Sub WComboDelItem Lib "TESTCtrl.dll" Alias "WComboDelItem" (lpszName$, iItem%) +Declare Sub WComboDelItemT Lib "TESTCtrl.dll" Alias "WComboDelItemT" (lpszName$, lpszItem$) +Declare Function WComboEnabled Lib "TESTCtrl.dll" Alias "WComboEnabled" (lpszName$) As Integer +Declare Sub WComboSetFocus Lib "TESTCtrl.dll" Alias "WComboSetFocus" (lpszName$) + +' Layered routines to simulate string functions for the coresponding +' TESTCtrl API +'---------------------------------------------------------------------------- +Declare Function ComboText (lpszName$) As String +Declare Function ComboSelText (lpszName$) As String +Declare Function ComboItemText (lpszName$, iItem%) As String + +'---------------------------------------------------------------------------- +' ComboText: Layered routine for WComboText() +'---------------------------------------------------------------------------- +Function ComboText(lpszName$) Static As String +Dim lpszBuffer As String +Dim itemLength As Integer + ComboText = "" + itemLength = WComboLen(lpszName$) + If itemLength >= 0 Then + lpszBuffer = String$(itemLength+1, " ") + WComboText lpszName, lpszBuffer + ComboText = lpszBuffer + End If + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' ComboSelText: Layered routine for WComboSelText() +'---------------------------------------------------------------------------- +Function ComboSelText(lpszName$) Static As String +Dim lpszBuffer As String +Dim itemLength As Integer + ComboSelText = "" + itemLength = WComboSelLen(lpszName$) + If itemLength >= 0 Then + lpszBuffer = String$(itemLength+1, " ") + WComboSelText lpszName, lpszBuffer + ComboSelText = lpszBuffer + End If + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' ComboItemText: Layered routine for WComboItemText() +'---------------------------------------------------------------------------- +Function ComboItemText(lpszName$, sItem%) Static As String +Dim lpszBuffer As String +Dim itemLength As Integer + ComboItemText = "" + itemLength = WComboItemLen(lpszName, sItem) + If itemLength >= 0 Then + lpszBuffer = String$(itemLength+1, " ") + WComboItemText lpszName, sItem, lpszBuffer + ComboItemText = lpszBuffer + End If + lpszBuffer = "" +End Function + + +' ********************* +'$DEFINE W_COMBO_INCLUDED +'$ENDIF +'$IFDEF W_EDIT AND NOT W_EDIT_INCLUDED +' ********************* + + +'*** Edit box routines +' +Declare Sub WEditSetClass Lib "TESTCtrl.dll" Alias "WEditSetClass" (lpszClass$) +Declare Function WEditExists Lib "TESTCtrl.dll" Alias "WEditExists" (lpszName$) As Integer +Declare Function WEditLen Lib "TESTCtrl.dll" Alias "WEditLen" (lpszName$) As Long +Declare Sub WEditText Lib "TESTCtrl.dll" Alias "WEditText" (lpszName$, lpszBuffer$) +Declare Sub WEditSetText Lib "TESTCtrl.dll" Alias "WEditSetText" (lpszName$, lpszBuffer$) +Declare Sub WEditSelText Lib "TESTCtrl.dll" Alias "WEditSelText" (lpszName$, lpszBuffer$) +Declare Function WEditSelLen Lib "TESTCtrl.dll" Alias "WEditSelLen" (lpszName$) As Long +Declare Sub WEditLineText Lib "TESTCtrl.dll" Alias "WEditLineText" (lpszName$, lIndex&, lpszBuffer$) +Declare Function WEditLineLen Lib "TESTCtrl.dll" Alias "WEditLineLen" (lpszName$, lIndex&) As Long +Declare Function WEditPos Lib "TESTCtrl.dll" Alias "WEditPos" (lpszName$) As Long +Declare Function WEditLine Lib "TESTCtrl.dll" Alias "WEditLine" (lpszName$) As Long +Declare Function WEditChar Lib "TESTCtrl.dll" Alias "WEditChar" (lpszName$) As Long +Declare Function WEditFirst Lib "TESTCtrl.dll" Alias "WEditFirst" (lpszName$) As Long +Declare Function WEditLines Lib "TESTCtrl.dll" Alias "WEditLines" (lpszName$) As Long +Declare Sub WEditClick Lib "TESTCtrl.dll" Alias "WEditClick" (lpszName$) +Declare Function WEditEnabled Lib "TESTCtrl.dll" Alias "WEditEnabled" (lpszName$) As Integer +Declare Sub WEditSetFocus Lib "TESTCtrl.dll" Alias "WEditSetFocus" (lpszName$) + +' Layered routines to simulate string functions for the coresponding +' TESTCtrl API +'---------------------------------------------------------------------------- +Declare Function EditText (lpszName$) As String +Declare Function EditSelText (lpszName$) As String +Declare Function EditLineText (lpszName$, lIndex&) As String + +'---------------------------------------------------------------------------- +' EditText: Layered routine for WEditText() +'---------------------------------------------------------------------------- +Function EditText(lpszName$) Static As String +Dim textLength As Long +Dim lpszBuffer As String + EditText = "" + textLength = WEditLen(lpszName) + If textLength >= 0 Then + lpszBuffer = String$(textLength+1, " ") + WEditText lpszName, lpszBuffer + EditText = lpszBuffer + End If + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' EditSelText: Layered routine for WEditSelText() +'---------------------------------------------------------------------------- +Function EditSelText(lpszName$) Static As String +Dim selLength As Long +Dim lpszBuffer As String + EditSelText = "" + selLength = WEditSelLen(lpszName) + If selLength >= 0 Then + lpszBuffer = String$(selLength+1, " ") + WEditSelText lpszName, lpszBuffer + EditSelText = lpszBuffer + End If + lpszBuffer = "" +End Function + +'---------------------------------------------------------------------------- +' EditLineText: Layered routine for WEditLineText() +'---------------------------------------------------------------------------- +Function EditLineText(lpszName$, lIndex&) Static As String +Dim lineLength As Long +Dim lpszBuffer As String + EditLineText = "" + lineLength = WEditLineLen(lpszName, lIndex) + If lineLength >= 0 Then + lpszBuffer = String$(lineLength+1, " ") + WEditLineText lpszName, lIndex&, lpszBuffer + EditLineText = lpszBuffer + End if + lpszBuffer = "" +End Function + + +' ********************* +'$DEFINE W_EDIT_INCLUDED +'$ENDIF +'$IFDEF W_ERROR AND NOT W_ERROR_INCLUDED +' ********************* + + +Declare Function WError Lib "TESTCtrl.dll" Alias "WError" () As Integer +Declare Sub WErrorSet Lib "TESTCtrl.dll" Alias "WErrorSet" (iErrorNum%) +Declare Sub WErrorText Lib "TESTCtrl.dll" Alias "WErrorText" (lpszBuffer$) +Declare Function WErrorLen Lib "TESTCtrl.dll" Alias "WErrorLen" () As Integer + +' Layered routines to simulate string functions for the coresponding +' TESTCtrl API +'---------------------------------------------------------------------------- +Declare Function ErrorText () As String + +Const NO_ERROR = 0 +Const ERR_MENU_NOT_FOUND = 1 +Const ERR_MENU_ITEM_NOT_FOUND = 2 +Const ERR_NOT_A_LISTBOX = 3 +Const ERR_LISTBOX_NOT_FOUND = 4 +Const ERR_ITEM_NOT_IN_LISTBOX = 5 +Const ERR_INVALID_LISTBOX_INDEX = 6 +Const ERR_LISTBOX_HAS_NO_STRINGS = 7 +Const ERR_LISTBOX_IS_NOT_MULTISELECT = 8 +Const ERR_NOT_A_COMBOBOX = 9 +Const ERR_COMBOBOX_NOT_FOUND = 10 +Const ERR_ITEM_NOT_IN_COMBOBOX = 11 +Const ERR_INVALID_COMBOBOX_INDEX = 12 +Const ERR_COMBOBOX_HAS_NO_EDITBOX = 13 +Const ERR_COMBOBOX_HAS_NO_STRINGS = 14 +Const ERR_NOT_AN_EDITBOX = 15 +Const ERR_EDITBOX_NOT_FOUND = 16 +Const ERR_BUTTON_NOT_FOUND = 17 +Const ERR_OPTION_BUTTON_NOT_FOUND = 18 +Const ERR_CHECKBOX_NOT_FOUND = 19 +Const ERR_INVALID_WINDOW_HANDLE = 20 +Const ERR_NO_SYSTEM_MENU = 21 +Const ERR_INVALID_MENU_INDEX = 22 +Const MAX_ERROR = 23 + +'---------------------------------------------------------------------------- +' ErrorText: Layered routine for WErrorText() of TESTCtrl.DLL. +' Simulates a DLL String Function. +'---------------------------------------------------------------------------- +Function ErrorText() Static As String +Dim lpszBuffer As String +Dim errorLength As Integer + errorLength= WErrorLen() + lpszBuffer = String$(errorLength+1, " ") + WErrorText lpszBuffer + ErrorText = lpszBuffer + lpszBuffer = "" +End Function + + +' ********************* +'$DEFINE W_ERROR_INCLUDED +'$ENDIF +'$IFDEF W_ERROR_TRAP AND NOT W_ERROR_TRAP_INCLUDED +' ********************* + + +'---------------------------------------------------------------------------- +' WErrorTrap: This trap is in TESTCTRL.DLL. +' +' This trap is here in MSTEST.INC just so it is easy to quickly add a +' trap that will display any TESTCTRL error messages. It is only included if +' W_ERROR_TRAP is defined, so if WErrorTrap() is to be used for more than +' just to display the TESTCTRL error messages, W_ERROR_TRAP should no be +' defined. and a custom WErrorTrap() should be added to your script. +'---------------------------------------------------------------------------- +Trap WErrorTrap From "TESTCTRL.DLL" + Print WError;" ";ErrorText +End Trap + + +' ********************* +'$DEFINE W_ERROR_TRAP_INCLUDED +'$ENDIF +' ********************* -- cgit v1.2.3