home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / d / d009_2 / 1.ddi / MSTEST.IN$ / MSTEST.bin
Encoding:
Text File  |  1992-02-05  |  43.9 KB  |  1,033 lines

  1. '--------------------------------------------------------------------------
  2. '
  3. '  MSTEST.INC -- API Declarations for TEST Tools
  4. '
  5. '  To include the various portions of this file, any combination of the
  6. '  following $DEFINE's must be used in your script prior to $INCLUDEing
  7. '  MSTEST.INC:
  8. '
  9. '  i.e. IN YOUR SCRIPT add a line such as the following to DEFINE one of
  10. '       the SYMBOLS below, so you only include what you need.
  11. '
  12. '  REM$ DEFINE MSTest         - to get everything in this include file
  13. '  REM$ DEFINE TestCtrl       - to get ALL the TESTCTRL declarations etc.
  14. '  REM$ DEFINE TestScrn       - to get ALL the TESTSCRN declarations etc.
  15. '  REM$ DEFINE TestDlgs       - to get ALL the TESTDLGS declarations etc.
  16. '  REM$ DEFINE TestEvnt       - to get ALL the TESTEVNT declarations etc.
  17. '
  18. ' OR USE ANY OF THE FOLLOWING SYMBOLS TO GET PARTIAL
  19. '
  20. '     MSTEST: includes all of MSTEST.INC
  21. '
  22. '         TESTCTRL: includes all of TESTCTRL
  23. '             W_MISC    TESTCTRL Miscellaneous routines
  24. '             W_WINDOW  TESTCTRL Window routines
  25. '             W_MENU    TESTCTRL Menu routines
  26. '             W_ERROR:  TESTCTRL error routines
  27. '             W_CONTROL: includes all of the control declares & routines
  28. '                 W_BUTTON:  includes all of the BUTTON declares etc.
  29. '                 W_CHECK:             "         CHECKBOX
  30. '                 W_OPTION             "         OPTION BUTTON
  31. '                 W_EDIT               "         EDIT CONTROL
  32. '                 W_LIST               "         LIST BOX
  33. '                 W_COMBO              "         COMBO BOX
  34. '
  35. '         TESTSCRN:  includes all of TESTSCRN, Declares & Error codes
  36. '             TESTSCRN_DECL: includes all SCR Declares
  37. '             TESTSCRN_ERRS: includes all SCR Error codes
  38. '
  39. '         TESTDLGS: includes all of TESTDLGS, Declares & Error codes
  40. '             TESTDLGS_DECL: includes all DLGS Declares
  41. '             TESTDLGS_ERRS: includes all DLGS Error codes
  42. '
  43. '         TESTEVNT: includes all TESTEVNT Declares
  44. '
  45. '     W_ERROR_TRAP: Just like W_ERROR, but includes a generic
  46. '                   WErrorTrap to display WError and ErrorText
  47. '                   NOTE: This is not included from any other define.
  48. '
  49. '  NOTE: Including MSTEST.INC without out using any of the above $DEFINE's
  50. '        will include only TESTDRVR.EXE trappable and untrappable error
  51. '        codes, and declares for CRLF, TRUE (-1), FALSE(0), Key values for
  52. '        DoKeys() from TESTEVNT and few routines from TESTCtrl.
  53. '
  54. '---------------------------------------------------------------------------
  55. '
  56. '              Copyright (C) 1991-1992 Microsoft Corporation
  57. '
  58. '  You have a royalty-free right to use, modify, reproduce and distribute
  59. '  this file (and/or any modified version) in any way you find useful,
  60. '  provided that you agree that Microsoft has no warranty, obligation or
  61. '  liability for its contents.  Refer to the Microsoft Windows Programmer's
  62. '  Reference for further information.
  63. '
  64. '  This file is not garanteed by Microsoft to be error free.  Every effort
  65. '  has been made to ensure proper data-types and declarations etc., but no
  66. '  testing has been performed using this include file.  Additionally, some
  67. '  API's, though listed, may not be compatible with the TESTDrvr language.
  68. '
  69. '----------------------------------------------------------------------------
  70.  
  71. '                                                       *********************
  72. '$IFNDEF MSTEST_INCLUDED
  73. '$DEFINE MSTEST_INCLUDED
  74. '                                                       *********************
  75.  
  76. '----------------------------------------------------------------------------
  77. ' Generic Global Variables
  78. '----------------------------------------------------------------------------
  79. Global CRLF As String
  80. CRLF = Chr$(13) + Chr$(10)
  81.  
  82. Const TRUE  = -1
  83. Const FALSE = 0
  84.  
  85.  
  86. '----------------------------------------------------------------------------
  87. ' Unrecoverable TESTDRVR error codes
  88. '----------------------------------------------------------------------------
  89. Const ERR_STACK_OVERFLOW         = 0
  90. Const ERR_STACK_UNDERFLOW        = 1
  91. Const ERR_OUT_OF_STRING_SPACE    = 2
  92. Const ERR_CANT_LOAD_TESTVIEW_DLL = 3
  93. Const ERR_OUT_OF_MEMORY          = 4
  94.  
  95.  
  96. '----------------------------------------------------------------------------
  97. ' Recoverable TESTDRVR error codes
  98. '----------------------------------------------------------------------------
  99. Const ERR_GOSUB_STACK_OVERFLOW   = 5
  100. Const ERR_RETURN_WITHOUT_GOSUB   = 6
  101. Const ERR_BAD_FILE_NUMBER        = 7
  102. Const ERR_FILE_IO                = 8
  103. Const ERR_RUN_CMD_TOO_LONG       = 9
  104. Const ERR_SHELL_CMD_TOO_LONG     = 10
  105. Const ERR_SETFILE                = 11
  106. Const ERR_FILE_NUMBER_IN_USE     = 12
  107. Const ERR_CANT_OPEN_FILE         = 13
  108. Const ERR_ILLEGAL_FUNCTION_CALL  = 14
  109. Const ERR_INVALID_PATH           = 15
  110. Const ERR_INVALID_DRIVE          = 16
  111. Const ERR_NO_CURRENT_WORKING_DIR = 17
  112. Const ERR_BAD_RUN_CMD            = 18
  113. Const ERR_DIVISION_BY_ZERO       = 19
  114. Const ERR_CANT_LOAD_DLL          = 20
  115. Const ERR_PROC_NOT_FOUND_IN_DLL  = 21
  116. Const ERR_CANNOT_RESUME          = 22
  117. Const ERR_MEM_ALLOC              = 23
  118. Const ERR_INVALID_POINTER        = 24
  119. Const ERR_INVALID_ALLOC_SIZE     = 25
  120. Const ERR_NULL_PIONTER_REF       = 26
  121. Const ERR_SUBSCRIPT_RANGE        = 27
  122. Const ERR_INPUT_PAST_EOF         = 28
  123.  
  124. '----------------------------------------------------------------------------
  125. ' Key contants used with WKey, PlayKeys, & PlayKeyshWnd
  126. '----------------------------------------------------------------------------
  127. Const K_ENTER  = "{ENTER}"
  128. Const K_ESC    = "{ESC}"
  129. Const K_UP     = "{UP}"
  130. Const K_DOWN   = "{DOWN}"
  131. Const K_LEFT   = "{LEFT}"
  132. Const K_RIGHT  = "{RIGHT}"
  133. Const K_END    = "{END}"
  134. Const K_PGUP   = "{PGUP}"
  135. Const K_PGDN   = "{PGDN}"
  136. Const K_INSERT = "{INSERT}"
  137. Const K_INS    = "{INSERT}"
  138. Const K_DELETE = "{DELETE}"
  139. Const K_DEL    = "{DELETE}"
  140. Const K_HOME   = "{HOME}"
  141. Const K_TAB    = "{TAB}"
  142. Const K_BS     = "{BS}"
  143. Const K_F1     = "{F1}"
  144. Const K_F2     = "{F2}"
  145. Const K_F3     = "{F3}"
  146. Const K_F4     = "{F4}"
  147. Const K_F5     = "{F5}"
  148. Const K_F6     = "{F6}"
  149. Const K_F7     = "{F7}"
  150. Const K_F8     = "{F8}"
  151. Const K_F9     = "{F9}"
  152. Const K_F10    = "{F10}"
  153. Const K_F11    = "{F11}"
  154. Const K_F12    = "{F12}"
  155. Const K_F13    = "{F13}"
  156. Const K_F14    = "{F14}"
  157. Const K_F15    = "{F15}"
  158. Const K_F16    = "{F16}"
  159. Const K_SHIFT  = "+"
  160. Const K_CTRL   = "^"
  161. Const K_ALT    = "%"
  162.  
  163. ' TESTCtrl API & Constants that are always declared.
  164. '
  165. ' WGetFocus() simply preforms the exact function as the windows
  166. ' GetFocus() API.  Is contained in TESTCtrl since it is such a
  167. ' commonly used API in scripts, and it makes it much easier to
  168. ' use since it is defined simply by including MSTEST.INC.  It is
  169. ' renamed to prevent duplicate definitions due to scripts that
  170. ' do define GetFocus() and include MSTEST.INC.
  171. '---------------------------------------------------------------
  172. Declare Function WGetFocus    Lib "TESTCtrl.dll" () As Integer
  173. Declare Sub      WSetActWnd   Lib "TESTCtrl.dll" (hWnd%)
  174. Declare Function WGetActWnd   Lib "TESTCtrl.dll" (hWnd%) As Integer
  175. Declare Function WFndWnd      Lib "TESTCtrl.dll" (lpszCaption$, wFlags%) As Integer
  176. Declare Function WFndWndC     Lib "TESTCtrl.dll" (lpszText$, lpszClass$, wFlags%) As Integer
  177.  
  178. Const FW_DEFAULT     = &h0000
  179. Const FW_HIDDENOK    = &h0010
  180. Const FW_HIDDENNOTOK = &h0000
  181. Const FW_ACTIVE      = &h0008
  182. Const FW_ALL         = &h0000
  183. Const FW_CASE        = &h0004
  184. Const FW_NOCASE      = &h0000
  185. Const FW_PART        = &h0002
  186. Const FW_FULL        = &h0000
  187. Const FW_FOCUS       = &h0001
  188. Const FW_NOFOCUS     = &h0000
  189.  
  190. ' TESTEvnt API that are always defined.
  191. '--------------------------------------
  192. Declare Sub DoKeys     Lib "TESTEvnt.Dll" (lpStr$)
  193. Declare Sub DoKeysHwnd Lib "TESTEvnt.Dll" (hWnd%, lpStr$)
  194.  
  195. '                                                       *********************
  196. '$ENDIF
  197. '                                                       *********************
  198.  
  199. '----------------------------------------------------------------------------
  200. '  DEFINE's that control the inclusion of the remainder of MSTEST.INC
  201. '----------------------------------------------------------------------------
  202. '$IFDEF MSTEST
  203.     '$DEFINE TESTCTRL
  204.     '$DEFINE TESTSCRN
  205.     '$DEFINE TESTDLGS
  206.     '$DEFINE TESTEVNT
  207. '$ENDIF
  208.  
  209. '$IFDEF TESTCTRL
  210.     '$DEFINE W_MISC
  211.     '$DEFINE W_WINDOW
  212.     '$DEFINE W_MENU
  213.     '$DEFINE W_ERROR
  214.     '$DEFINE W_CONTROL
  215. '$ENDIF
  216.  
  217. '$IFDEF W_ERROR_TRAP
  218.     '$DEFINE W_ERROR
  219. '$ENDIF
  220.  
  221. '$IFDEF W_CONTROL
  222.     '$DEFINE W_BUTTON
  223.     '$DEFINE W_CHECK
  224.     '$DEFINE W_OPTION
  225.     '$DEFINE W_EDIT
  226.     '$DEFINE W_LIST
  227.     '$DEFINE W_COMBO
  228. '$ENDIF
  229.  
  230. '$IFDEF TESTSCRN
  231.     '$DEFINE TESTSCRN_DECL
  232.     '$DEFINE TESTSCRN_ERRS
  233. '$ENDIF
  234.  
  235. '$IFDEF TESTDLGS
  236.     '$DEFINE TESTDLGS_DECL
  237.     '$DEFINE TESTDLGS_ERRS
  238. '$ENDIF
  239.  
  240. '$IFDEF  W_BUTTON OR W_CHECK OR W_OPTION OR W_EDIT OR W_LIST OR W_COMBO
  241.     '$DEFINE W_A_CONTROL
  242. '$ENDIF
  243.  
  244.  
  245. '                                                       *********************
  246. '$IFDEF W_MISC AND NOT W_MISC_INCLUDED
  247. '                                                       *********************
  248.  
  249.  
  250. '----------------------------------------------------------------------------
  251. ' Routines, types and Constants from TESTCTRL.DLL that are always included.
  252. '----------------------------------------------------------------------------
  253. Const MAX_CAPTION = 128
  254.  
  255. Type INFO
  256.     hWnd            As Integer
  257.     hWndParent      As Integer
  258.     szClass         As String * MAX_CAPTION
  259.     szCaption       As String * MAX_CAPTION
  260.     szParentClass   As String * MAX_CAPTION
  261.     szParentCaption As String * MAX_CAPTION
  262.     szModuleName    As String * MAX_CAPTION
  263.     lStyle          As Long
  264.     fChild          As Integer
  265.     wID             As Integer
  266.     wLeft           As Integer
  267.     wTop            As Integer
  268.     wRight          As Integer
  269.     wBottom         As Integer
  270.     wWidth          As Integer
  271.     wHeight         As Integer
  272. End Type
  273.  
  274. ' The 4 WMessage[W|L] API are slight variations on the windows
  275. ' SendMessage() API.  Two things are provided:
  276. '
  277. '   Validation of hWnd%: - If invalid an error value that
  278. '                          is trappable by WErrorTrap is
  279. '                        - If hWnd is NULL, the message goes
  280. '                          to the ActiveWindow.
  281. '   Only need paramaters: Pass in only the paramaters that are needed:
  282. '       WMessage:   Wp and Lp are set to zero
  283. '       WMessageW:  Lp is set to zero
  284. '       WMessageL:  Wp is set to zero
  285. '       WMessageWL: just like SendMessage() but with hWnd validation
  286. '---------------------------------------------------------------------
  287. Declare Function WMessage     Lib "TESTCtrl.dll" (hWnd%, wMsg%)
  288. Declare Function WMessageW    Lib "TESTCtrl.dll" (hWnd%, wMsg%, wp%)
  289. Declare Function WMessageL    Lib "TESTCtrl.dll" (hWnd%, wMsg%, lp As Any)
  290. Declare Function WMessageWL   Lib "TESTCtrl.dll" (hWnd%, wMsg%, wp%, lp As Any)
  291.  
  292. Declare Function WIsVisible   Lib "TESTCtrl.dll" (hWnd%) As Integer
  293. Declare Function WTextLen     Lib "TESTCtrl.dll" (hWnd%) As Long
  294. Declare Sub      WGetText     Lib "TESTCtrl.dll" (hWnd%, lpszBuffer$)
  295. Declare Function  GetText                        (hWnd%) As String
  296. Declare Sub      WSetText     Lib "TESTCtrl.dll" (hWnd%, lpszText$)
  297. Declare Sub      WDisplayInfo Lib "TESTCtrl.dll" (hWnd%, wDisplay%)
  298. Declare Sub      WGetInfo     Lib "TESTCtrl.dll" (hWnd%, lpInfo As INFO)
  299.  
  300. Const DI_DIALOG  = 1
  301. Const DI_DEBUG   = 2
  302. Const DI_BOTH    = 3
  303.  
  304. '----------------------------------------------------------------------------
  305. ' GetText: Layered routine for WGetText()
  306. '----------------------------------------------------------------------------
  307. Function GetText(hWnd%) STATIC  As String
  308. Dim lpszBuffer As String
  309.     textLength = WTextLen(hWnd%)
  310.     If textLength > 0 Then
  311.         lpszBuffer = String$(textLength+1, " ")
  312.         WGetText hWnd%, lpszBuffer
  313.         GetText = lpszBuffer
  314.     Else
  315.         GetText = ""
  316.     End If
  317.     lpszBuffer = ""
  318. End Function
  319.  
  320. '                                                       *********************
  321. '$DEFINE W_MISC_INCLUDED
  322. '$ENDIF
  323. '$IFDEF TESTEVNT AND NOT TESTEVNT_INCLUDED
  324. '                                                       *********************
  325.  
  326. '----------------------------------------------------------------------------
  327. ' TESTEvnt.DLL:
  328. '   Function declarations for use with TESTEvnt
  329. '----------------------------------------------------------------------------
  330. Declare Sub QueKeys              Lib "TESTEvnt.Dll" (lpStr$)
  331. Declare Sub QueKeyDn             Lib "TESTEvnt.Dll" (lpStr$)
  332. Declare Sub QueKeyUp             Lib "TESTEvnt.Dll" (lpStr$)
  333. Declare Sub QueSetSpeed          Lib "TESTEvnt.Dll" (ms%)
  334. Declare Sub QuePause             Lib "TESTEvnt.Dll" (ms&)
  335. Declare Sub QueFlush             Lib "TESTEvnt.Dll" (fRestoreKeyState%)
  336. Declare Sub QueEmpty             Lib "TESTEvnt.Dll" ()
  337. Declare Sub QueMouseMove         Lib "TESTEvnt.Dll" (x%, y%)
  338. Declare Sub QueMouseDn           Lib "TESTEvnt.Dll" (iBtn%, x%, y%)
  339. Declare Sub QueMouseUp           Lib "TESTEvnt.Dll" (iBtn%, x%, y%)
  340. Declare Sub QueMouseClick        Lib "TESTEvnt.Dll" (iBtn%, x%, y%)
  341. Declare Sub QueMouseDblClk       Lib "TESTEvnt.Dll" (iBtn%, x%, y%)
  342. Declare Sub QueMouseDblDn        Lib "TESTEvnt.Dll" (iBtn%, x%, y%)
  343. Declare Sub QueSetFocus          Lib "TESTEvnt.Dll" (hwnd%)
  344. Declare Sub QueSetRelativeWindow Lib "TESTEvnt.Dll" (hwnd%)
  345.  
  346. '$ifndef VK_WINAPI
  347. Const VK_LBUTTON = 1
  348. Const VK_RBUTTON = 2
  349. Const VK_MBUTTON = 4
  350. '$define VK_WINAPI
  351. '$endif
  352.  
  353. '                                                       *********************
  354. '$DEFINE TESTEVNT_INCLUDED
  355. '$ENDIF
  356. '$IFDEF TESTSCRN_DECL AND NOT TESTSCRN_DECL_INCLUDED
  357. '                                                       *********************
  358.  
  359.  
  360. '----------------------------------------------------------------------------
  361. ' TESTScrn.DLL:
  362. '       Type, Const, and Function declarations for use with TESTScrn
  363. '----------------------------------------------------------------------------
  364. Type wRect
  365.     x1 As Integer
  366.     y1 As Integer
  367.     x2 As Integer
  368.     y2 As Integer
  369. End Type
  370.  
  371. Const SCRNAPPEND  = 0
  372. Const SCRNREPLACE = 1
  373. Const SCRNINSERT  = 2
  374.  
  375. '*** TESTSCRN.DLL Routines
  376. '
  377. Declare Function fCompFiles      Lib "TESTScrn.DLL" (lpszFileName1$, Scr1%, lpszFileName2$, Scr2%, CompareType%) As Integer
  378. Declare Function fCompScreenActivate Lib "TESTScrn.DLL" (lpszFileName$, OpenKeys$, CloseKeys$, lpRect As wRect, Scr1%, Hide%, Flag%) As Integer
  379. Declare Function fCompScreen     Lib "TESTScrn.DLL" (lpszFileName$, lpRect As wRect, Scr1%, Hide%, Flag%) As Integer
  380. Declare Function fCompWindowActivate Lib "TESTScrn.DLL" (lpszFileName$, OpenKeys$, CloseKeys$, Scr1%, Hide%, Flag%) As Integer
  381. Declare Function fCompWindow     Lib "TESTScrn.DLL" (lpszFileName$, hWnd%, Scr1%, Hide%, Flag%) As Integer
  382. Declare Function fDelScreen      Lib "TESTScrn.DLL" (lpszFileName$, Scr%) As Integer
  383. Declare Function fDumpFileToClip Lib "TESTScrn.DLL" (lpszFileName$, Scr%) As Integer
  384. Declare Function fDumpScreenActivate Lib "TESTScrn.DLL" (lpszFileName$, OpenKeys$, CloseKeys$, lpRect As wRect, Action%, Scr1%, Flag%) As Integer
  385. Declare Function fDumpScreen     Lib "TESTScrn.DLL" (lpszFileName$, lpRect As wRect, Action%, Scr1%, Flag%) As Integer
  386. Declare Function fDumpSrnToClipActivate  Lib "TESTScrn.DLL" (OpenKeys$, CloseKeys$, lpRect As wRect, Hide%) As Integer
  387. Declare Function fDumpSrnToClip  Lib "TESTScrn.DLL" (lpRect As wRect, Hide%) As Integer
  388. Declare Function fDumpWindowActivate Lib "TESTScrn.DLL" (lpszFileName$, OpenKeys$, CloseKeys$, Action%, Scr1%, Flag%) As Integer
  389. Declare Function fDumpWindow     Lib "TESTScrn.DLL" (lpszFileName$, wHnd%, Action%, Scr1%, Flag%) As Integer
  390. Declare Function fDumpWndToClipActivate  Lib "TESTScrn.DLL" (OpenKeys$, CloseKeys$, Hide%) As Integer
  391. Declare Function fDumpWndToClip  Lib "TESTScrn.DLL" (hWnd%, Hide%) As Integer
  392. Declare Function fFileInfo       Lib "TESTScrn.DLL" (lpszName$, lpRect AS wRect, VideoMode AS POINTER TO INTEGER, Count AS POINTER TO INTEGER) As Integer
  393. Declare Function fGetDLLVersion  Lib "TESTScrn.DLL" (lpszFileName$) As Integer
  394. Declare Function fGetMaxScreen   Lib "TESTScrn.DLL" (lpszFileName$) As Integer
  395. Declare Function fGetOS          Lib "TESTScrn.DLL" (lpszFileName$) As Integer
  396. Declare Function fSaveFileToDIB  Lib "TESTScrn.DLL" (lpszFileName1$, Scr%, lpszFileName2$) As Integer
  397. Declare Function fSaveSrnToDIBActivate   Lib "TESTScrn.DLL" (lpszFileName$, OpenKeys$, CloseKeys$, lpRect As wRect, Hide%) As Integer
  398. Declare Function fSaveSrnToDIB   Lib "TESTScrn.DLL" (lpszFileName$, lpRect As wRect, Hide%) As Integer
  399. Declare Function fSaveWndToDIBActivate   Lib "TESTScrn.DLL" (lpszFileName$, OpenKeys$, CloseKeys$, Hide%) As Integer
  400. Declare Function fSaveWndToDIB   Lib "TESTScrn.DLL" (lpszFileName$, hWnd%, Hide%) As Integer
  401. Declare Function fViewScreen     Lib "TESTScrn.DLL" (lpszFileName$, hWnd%, Scr1%, Action%) As Integer
  402.  
  403.  
  404. '                                                       *********************
  405. '$DEFINE TESTSCRN_DECL_INCLUDED
  406. '$ENDIF
  407. '$IFDEF TESTSCRN_ERRS AND NOT TESTSCRN_ERRS_INCLUDED
  408. '                                                       *********************
  409.  
  410.  
  411. '*** TESTScrn.DLL Error Codes
  412. '
  413. Const ERR_SCR_NOERROR    = 0
  414. Const ERR_SCR_FILEACCESS = 301
  415. Const ERR_SCR_INVALIDFIL = 302
  416. Const ERR_SCR_INVALSRNID = 303
  417. Const ERR_SCR_INVALSRNMD = 304
  418. Const ERR_SCR_OUTOMEMORY = 305
  419. Const ERR_SCR_READSRNFIL = 306
  420. Const ERR_SCR_RELMEMORY  = 307
  421. Const ERR_SCR_CREATEDDB  = 308
  422. Const ERR_SCR_RWSRNTABLE = 309
  423. Const ERR_SCR_RWCOLTABLE = 310
  424. Const ERR_SCR_WSRNIMAGE  = 311
  425. Const ERR_SCR_WFILEHEAD  = 312
  426. Const ERR_SCR_CREATEDIB  = 313
  427. Const ERR_SCR_SCREENSIZE = 314
  428. Const ERR_SCR_DISPSCREEN = 315
  429. Const ERR_SCR_INVALIDACT = 316
  430. Const ERR_SCR_IMAGEDIFF  = 317
  431. Const ERR_SCR_SRNSIZEDIF = 318
  432. Const ERR_SCR_FILEEXIST  = 319
  433. Const ERR_SCR_CTEMPFILE  = 320
  434. Const ERR_SCR_HIDEWIN    = 321
  435. Const ERR_SCR_INVALWHAND = 322
  436. Const ERR_SCR_OFILEFORM  = 323
  437. Const ERR_SCR_SRNFILEFUL = 324
  438. Const ERR_SCR_INVALSCALE = 325
  439. Const ERR_SCR_OPENCB     = 326
  440. Const ERR_SCR_EMPTYCB    = 327
  441. Const ERR_SCR_COPYTOCB   = 328
  442. Const ERR_SCR_CLOSECB    = 329
  443. Const ERR_SCR_CREATEPAL  = 330
  444. Const ERR_SCR_LIBLOADERR = 331
  445.  
  446.  
  447. '                                                       *********************
  448. '$DEFINE TESTSCRN_ERRS_INCLUDED
  449. '$ENDIF
  450. '$IFDEF TESTDLGS_DECL AND NOT TESTDLGS_DECL_INCLUDED
  451. '                                                       *********************
  452.  
  453.  
  454. '----------------------------------------------------------------------------
  455. ' TESTDlgs.DLL:
  456. '       Type, Const, and Function declarations for use with TESTDlgs
  457. '----------------------------------------------------------------------------
  458. Const cchCLASSMAC = 32
  459. Const cchTEXTMAC  = 256
  460. Const wVEREB      = 1
  461.  
  462. Type DCR
  463.     xLeft  As Integer
  464.     yMin   As Integer
  465.     xRight As Integer
  466.     yLast  As Integer
  467. End Type
  468.  
  469. Declare Function AwaitSaveCompletion Lib "TESTDlgs.DLL" () As Integer
  470. Declare Function ComparisonResults   Lib "TESTDlgs.DLL" () As Integer
  471. Declare Function CmpWindow           Lib "TESTDlgs.DLL" (hWnd%, nDialog%, fIncludeParent%) As Integer
  472. Declare Function CmpWindowActivate   Lib "TESTDlgs.DLL" (lpszOpenKeys$, lpszCloseKey$, nDialog%, fIncludeParent%) As Integer
  473. Declare Function CmpWindowCaption    Lib "TESTDlgs.DLL" (lpszCap$, nDialog%, fIncludeParent%) As Integer
  474. Declare Function CmpWindowDelayed    Lib "TESTDlgs.DLL" (nDelay%, nDialog%, fIncludeParent%, lpszCloseKeys$) As Integer
  475. Declare Function FindWindowCaption   Lib "TESTDlgs.DLL" (lpszCap$, hWndStart%) As Integer
  476. Declare Function SaveMenu            Lib "TESTDlgs.DLL" (hWnd%, nDialog%, lpszDesc$, fReplace%) As Integer
  477. Declare Function SaveMenuActivate    Lib "TESTDlgs.DLL" (lpszOpenKeys$, lpszCloseKeys$, nDialog%, lpszDesc$, fReplace%) As Integer
  478. Declare Function SaveMenuCaption     Lib "TESTDlgs.DLL" (lpszCap$, nDialog%, lpszDesc$, fReplace%) As Integer
  479. Declare Function SaveMenuDelayed     Lib "TESTDlgs.DLL" (nDelay%, nDialog%, lpszDesc$, fReplace%, CloseKeys$) As Integer
  480. Declare Function SaveWindow          Lib "TESTDlgs.DLL" (hWnd%, nDialog%, lpszDesc$, fReplace%, fIncludeParent%) As Integer
  481. Declare Function SaveWindowActivate  Lib "TESTDlgs.DLL" (lpszOpenKeys$, lpszCloseKeys$, nDialog%, lpszDesc$, fReplace%, fIncludeParent%) As Integer
  482. Declare Function SaveWindowCaption   Lib "TESTDlgs.DLL" (lpszCap$, nDialog%, lpszDesc$, fReplace%, fIncludeParent%) As Integer
  483. Declare Function SaveWindowDelayed   Lib "TESTDlgs.DLL" (nDelay%, nDialog%, lpszDesc$, fReplace%, fIncludeParent%, lpszCloseKeys$) As Integer
  484. Declare Function SetDialogFile       Lib "TESTDlgs.DLL" (lpszDialogName$) As Integer
  485. Declare Function SetLogFile          Lib "TESTDlgs.DLL" (lpszLogName$) As Integer
  486.  
  487.  
  488. '                                                       *********************
  489. '$DEFINE TESTDLGS_DECL_INCLUDED
  490. '$ENDIF
  491. '$IFDEF TESTDLGS_ERRS AND NOT TESTDLGS_ERRS_INCLUDED
  492. '                                                       *********************
  493.  
  494.  
  495. '*** Function return codes
  496. '
  497. Const ERR_DLGS_NOERR          =   0
  498. Const ERR_DLGS_FUZZY          =  -1
  499. Const ERR_DLGS_EXCESS         =  -2
  500. Const ERR_DLGS_CTLNOTFOUND    =  -3
  501. Const ERR_DLGS_NODLGFILE      = -10
  502. Const ERR_DLGS_FILENOTFOUND   = -11
  503. Const ERR_DLGS_BADWDLFILE     = -12
  504. Const ERR_DLGS_LIBLOADERR     = -13
  505. Const ERR_DLGS_SAVEERR        = -14
  506. Const ERR_DLGS_DLGFILEERR     = -15
  507. Const ERR_DLGS_TMPFILEERR     = -16
  508. Const ERR_DLGS_VERSIONERR     = -17
  509. Const ERR_DLGS_DLGFILEFULL    = -18
  510. Const ERR_DLGS_OUTOFMEMORY    = -20
  511. Const ERR_DLGS_BUFFERERR      = -21
  512. Const ERR_DLGS_NOTIMER        = -22
  513. Const ERR_DLGS_NODYNDIALOG    = -30
  514. Const ERR_DLGS_INVALIDHWND    = -31
  515. Const ERR_DLGS_BADCAPTION     = -32
  516. Const ERR_DLGS_BADDLGNUM      = -33
  517. Const ERR_DLGS_BADCTLINDEX    = -34
  518. Const ERR_DLGS_BADCTLTYPE     = -35
  519. Const ERR_DLGS_BADSAVEACTION  = -36
  520. Const ERR_DLGS_APPSPECIFIC    = -37
  521.  
  522.  
  523. '                                                       *********************
  524. '$DEFINE TESTDLGS_ERRS_INCLUDED
  525. '$ENDIF
  526. '$IFDEF W_WINDOW AND NOT W_WINDOW_INCLUDED
  527. '                                                       *********************
  528.  
  529. '----------------------------------------------------------------------------
  530. ' TESTCtrl.dll routines, types, & constants
  531. '----------------------------------------------------------------------------
  532.  
  533. '*** Window size and position types
  534. '
  535. Type WNDPOS
  536.     wLeft   As Integer
  537.     wTop    As Integer
  538. End Type
  539.  
  540. Type WNDSIZ
  541.     wWidth  As Integer
  542.     wHeight As Integer
  543. End Type
  544.  
  545. Type WNDPOSSIZ
  546.     wLeft   As Integer
  547.     wTop    As Integer
  548.     wWidth  As Integer
  549.     wHeight As Integer
  550. End Type
  551.  
  552. '*** Window Positioning and Sizing routines & contants
  553. '
  554. Declare Sub WMinWnd           Lib "TESTCtrl.dll" (hWnd%)
  555. Declare Sub WMaxWnd           Lib "TESTCtrl.dll" (hWnd%)
  556. Declare Sub WResWnd           Lib "TESTCtrl.dll" (hWnd%)
  557. Declare Sub WSetWndPos        Lib "TESTCtrl.dll" (hWnd%, wLeft%, wTop%)
  558. Declare Sub WSetWndSiz        Lib "TESTCtrl.dll" (hWnd%, wWidth%, wHeight%)
  559. Declare Sub WSetWndPosSiz     Lib "TESTCtrl.dll" (hWnd%, wLeft%, wTop%, wWidth%, wHeight%)
  560. Declare Sub WAdjWndPos        Lib "TESTCtrl.dll" (hWnd%, deltaLeft%,  deltaTop%)
  561. Declare Sub WAdjWndSiz        Lib "TESTCtrl.dll" (hWnd%, deltaWidth%, deltaHeight%)
  562. Declare Sub WAdjWndPosSiz     Lib "TESTCtrl.dll" (hWnd%, deltaLeft%,  deltaTop%, deltaWidth%, deltaHeight%)
  563. Declare Sub WGetWndPos        Lib "TESTCtrl.dll" (hWnd%, lpWndPos    As WNDPOS,    fRelative%)
  564. Declare Sub WGetWndSiz        Lib "TESTCtrl.dll" (hWnd%, lpWndSiz    As WNDSIZ)
  565. Declare Sub WGetWndPosSiz     Lib "TESTCtrl.dll" (hWnd%, lpWndPosSiz As WNDPOSSIZ, fRelative%)
  566. Declare Function WIsMaximized Lib "TESTCtrl.dll" (hWnd%) As Integer
  567. Declare Function WIsMinimized Lib "TESTCtrl.dll" (hWnd%) As Integer
  568.  
  569.  
  570. Const W_RELATIVE = TRUE
  571. Const W_ABSOLUTE = FALSE
  572.  
  573.  
  574. '                                                       *********************
  575. '$DEFINE W_WINDOW_INCLUDED
  576. '$ENDIF
  577. '$IFDEF W_MENU AND NOT W_MENU_INCLUDED
  578. '                                                       *********************
  579.  
  580.  
  581. '*** Menu routines & constants
  582. '
  583. Declare Sub      WSysMenu       Lib "TESTCtrl.dll" (hWnd%)
  584. Declare Function WSysMenuExists Lib "TESTCtrl.dll" (hWnd%) As Integer
  585. Declare Sub      WMenu          Lib "TESTCtrl.dll" (lpszName$)
  586. Declare Sub      WMenuX         Lib "TESTCtrl.dll" (sIndex%)
  587. Declare Function WMenuExists    Lib "TESTCtrl.dll" (lpszName$) As Integer
  588. Declare Function WMenuGrayed    Lib "TESTCtrl.dll" (lpszName$) As Integer
  589. Declare Function WMenuChecked   Lib "TESTCtrl.dll" (lpszName$) As Integer
  590. Declare Function WMenuEnabled   Lib "TESTCtrl.dll" (lpszName$) As Integer
  591. Declare Function WMenuGrayedX   Lib "TESTCtrl.dll" (sIndex%) As Integer
  592. Declare Function WMenuCheckedX  Lib "TESTCtrl.dll" (sIndex%) As Integer
  593. Declare Function WMenuEnabledX  Lib "TESTCtrl.dll" (sIndex%) As Integer
  594. Declare Function WMenuCount     Lib "TESTCtrl.dll" () As Integer
  595. Declare Sub      WMenuText      Lib "TESTCtrl.dll" (sIndex%, lpszBuffer$)
  596. Declare Function MenuText                          (sIndex%) As String
  597. Declare Function WMenuLen       Lib "TESTCtrl.dll" (sIndex%) As Integer
  598. Declare Sub      WMenuFullText  Lib "TESTCtrl.dll" (sIndex%, lpszBuffer$)
  599. Declare Function MenuFullText                      (sIndex%) As String
  600. Declare Function WMenuFullLen   Lib "TESTCtrl.dll" (sIndex%) As Integer
  601. Declare Sub      WMenuEnd       Lib "TESTCtrl.dll" ()
  602.  
  603. ' Unlike the rest of the menu routines, WMenuSeparator() does not ignore
  604. ' menu separators when specifing indexes.  The first menu item is item #1
  605. ' the second #2, and so on including all separators.
  606. '------------------------------------------------------------------------
  607. Declare Function WMenuSeparator Lib "TESTCtrl.dll" (sIndex%) As Integer
  608.  
  609. '----------------------------------------------------------------------------
  610. ' MenuText: Layered routine for WMenuText()
  611. '----------------------------------------------------------------------------
  612. Function MenuText(sIndex%) STATIC  As String
  613. Dim lpszBuffer As String
  614.     menuLength = WMenuLen(sIndex)
  615.     If menuLength >= 0 Then
  616.         lpszBuffer = String$(menuLength+1, " ")
  617.         WMenuText sIndex, lpszBuffer
  618.         MenuText = lpszBuffer
  619.     Else
  620.         MenuText = ""
  621.     End if
  622.     lpszBuffer = ""
  623. End Function
  624.  
  625. '----------------------------------------------------------------------------
  626. ' MenuFullText: Layered routine for WMenuFullText()
  627. '----------------------------------------------------------------------------
  628. Function MenuFullText(sIndex%) STATIC  As String
  629. Dim lpszBuffer As String
  630.     menuLength = WMenuFullLen(sIndex)
  631.     If menuLength >= 0 Then
  632.         lpszBuffer = String$(menuLength+1, " ")
  633.         WMenuFullText sIndex, lpszBuffer
  634.         MenuFullText = lpszBuffer
  635.     Else
  636.         MenuFullText = ""
  637.     End If
  638.     lpszBuffer = ""
  639. End Function
  640.  
  641.  
  642. '                                                       *********************
  643. '$DEFINE W_MENU_INCLUDED
  644. '$ENDIF
  645. '$IFDEF W_A_CONTROL AND NOT W_A_CONTROL_INCLUDED
  646. '                                                       *********************
  647.  
  648.  
  649. '*** Global routine & constants used by all controls
  650. '
  651. Declare Sub WStaticSetClass Lib "TESTCtrl.dll" (lpszClassName$)
  652. Declare Sub WResetClasses   Lib "TESTCtrl.dll" ()
  653.  
  654.  
  655. '                                                       *********************
  656. '$DEFINE W_A_CONTROL_INCLUDED
  657. '$ENDIF
  658. '$IFDEF W_BUTTON AND NOT W_BUTTON_INCLUDED
  659. '                                                       *********************
  660.  
  661.  
  662. '*** Button routines
  663. '
  664. Declare Sub      WButtonSetClass Lib "TESTCtrl.dll" (lpszClassName$)
  665. Declare Function WButtonExists   Lib "TESTCtrl.dll" (lpszName$) As Integer
  666. Declare Function WButtonEnabled  Lib "TESTCtrl.dll" (lpszName$) As Integer
  667. Declare Function WButtonFocus    Lib "TESTCtrl.dll" (lpszName$) As Integer
  668. Declare Sub      WButtonClick    Lib "TESTCtrl.dll" (lpszName$)
  669. Declare Sub      WButtonHide     Lib "TESTCtrl.dll" (lpszName$)
  670. Declare Sub      WButtonShow     Lib "TESTCtrl.dll" (lpszName$)
  671. Declare Sub      WButtonEnable   Lib "TESTCtrl.dll" (lpszName$)
  672. Declare Sub      WButtonDisable  Lib "TESTCtrl.dll" (lpszName$)
  673.  
  674.  
  675. '                                                       *********************
  676. '$DEFINE W_BUTTON_INCLUDED
  677. '$ENDIF
  678. '$IFDEF W_CHECK AND NOT W_CHECK_INCLUDED
  679. '                                                       *********************
  680.  
  681.  
  682. ' CheckBox routines
  683. '
  684. Declare Sub      WCheckSetClass Lib "TESTCtrl.dll" (lpszClassName$)
  685. Declare Function WCheckExists   Lib "TESTCtrl.dll" (lpszName$) As Integer
  686. Declare Function WCheckEnabled  Lib "TESTCtrl.dll" (lpszName$) As Integer
  687. Declare Function WCheckFocus    Lib "TESTCtrl.dll" (lpszName$) As Integer
  688. Declare Function WCheckState    Lib "TESTCtrl.dll" (lpszName$) As Integer
  689. Declare Sub      WCheckClick    Lib "TESTCtrl.dll" (lpszName$)
  690. Declare Sub      WCheckHide     Lib "TESTCtrl.dll" (lpszName$)
  691. Declare Sub      WCheckShow     Lib "TESTCtrl.dll" (lpszName$)
  692. Declare Sub      WCheckEnable   Lib "TESTCtrl.dll" (lpszName$)
  693. Declare Sub      WCheckDisable  Lib "TESTCtrl.dll" (lpszName$)
  694. Declare Sub      WCheckCheck    Lib "TESTCtrl.dll" (lpszName$)
  695. Declare Sub      WCheckUnCheck  Lib "TESTCtrl.dll" (lpszName$)
  696.  
  697. Const UNCHECKED = 0
  698. Const CHECKED   = 1
  699. Const GRAYED    = 2
  700.  
  701.  
  702. '                                                       *********************
  703. '$DEFINE W_CHECK_INCLUDED
  704. '$ENDIF
  705. '$IFDEF W_OPTION AND NOT W_OPTION_INCLUDED
  706. '                                                       *********************
  707.  
  708.  
  709. '*** Option Button routines
  710. '
  711. Declare Sub      WOptionSetClass Lib "TESTCtrl.dll" (lpszClassName$)
  712. Declare Function WOptionExists   Lib "TESTCtrl.dll" (lpszName$) As Integer
  713. Declare Function WOptionEnabled  Lib "TESTCtrl.dll" (lpszName$) As Integer
  714. Declare Function WOptionFocus    Lib "TESTCtrl.dll" (lpszName$) As Integer
  715. Declare Function WOptionState    Lib "TESTCtrl.dll" (lpszName$) As Integer
  716. Declare Sub      WOptionClick    Lib "TESTCtrl.dll" (lpszName$)
  717. Declare Sub      WOptionHide     Lib "TESTCtrl.dll" (lpszName$)
  718. Declare Sub      WOptionShow     Lib "TESTCtrl.dll" (lpszName$)
  719. Declare Sub      WOptionEnable   Lib "TESTCtrl.dll" (lpszName$)
  720. Declare Sub      WOptionDisable  Lib "TESTCtrl.dll" (lpszName$)
  721. Declare Sub      WOptionSelect   Lib "TESTCtrl.dll" (lpszName$)
  722.  
  723.  
  724. '                                                       *********************
  725. '$DEFINE W_OPTION_INCLUDED
  726. '$ENDIF
  727. '$IFDEF W_LIST AND NOT W_LIST_INCLUDED
  728. '                                                       *********************
  729.  
  730.  
  731. '*** Listbox routines
  732. '
  733. Declare Sub      WListSetClass     Lib "TESTCtrl.dll" (lpszClass$)
  734. Declare Function WListExists       Lib "TESTCtrl.dll" (lpszName$) As Integer
  735. Declare Function WListCount        Lib "TESTCtrl.dll" (lpszName$) As Integer
  736. Declare Sub      WListText         Lib "TESTCtrl.dll" (lpszName$, lpszBuffer$)
  737. Declare Function  ListText                            (lpszName$) As String
  738. Declare Function WListLen          Lib "TESTCtrl.dll" (lpszName$) As Integer
  739. Declare Function WListIndex        Lib "TESTCtrl.dll" (lpszName$) As Integer
  740. Declare Function WListTopIndex     Lib "TESTCtrl.dll" (lpszName$) As Integer
  741. Declare Sub      WListItemText     Lib "TESTCtrl.dll" (lpszName$, sItem%, lpszBuffer$)
  742. Declare Function  ListItemText                        (lpszName$, sItem%) As String
  743. Declare Function WListItemLen      Lib "TESTCtrl.dll" (lpszName$, sItem%) As Integer
  744. Declare Function WListItemExists   Lib "TESTCtrl.dll" (lpszName$, lpszItem$) As Integer
  745. Declare Sub      WListItemClk      Lib "TESTCtrl.dll" (lpszName$, sItem%)
  746. Declare Sub      WListItemCtrlClk  Lib "TESTCtrl.dll" (lpszName$, sItem%)
  747. Declare Sub      WListItemShftClk  Lib "TESTCtrl.dll" (lpszName$, sItem%)
  748. Declare Sub      WListItemDblClk   Lib "TESTCtrl.dll" (lpszName$, sItem%)
  749. Declare Sub      WListItemClkT     Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  750. Declare Sub      WListItemCtrlClkT Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  751. Declare Sub      WListItemShftClkT Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  752. Declare Sub      WListItemDblClkT  Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  753. Declare Function WListSelCount     Lib "TESTCtrl.dll" (lpszName$) As Integer
  754. Declare Sub      WListSelItems     Lib "TESTCtrl.dll" (lpszName$, lpIntArray As Pointer To Integer)
  755. Declare Sub      WListClear        Lib "TESTCtrl.dll" (lpszName$)
  756. Declare Sub      WListAddItem      Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  757. Declare Sub      WListDelItem      Lib "TESTCtrl.dll" (lpszName$, sItem%)
  758. Declare Sub      WListDelItemT     Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  759. Declare Function WListEnabled      Lib "TESTCtrl.dll" (lpszName$) As Integer
  760.  
  761. '----------------------------------------------------------------------------
  762. ' ListText: Layered routine for WListText()
  763. '----------------------------------------------------------------------------
  764. Function ListText(lpszName$) STATIC  As String
  765. Dim lpszBuffer As String
  766.     itemLength = WListLen(lpszName)
  767.     If itemLength >= 0 Then
  768.         lpszBuffer = String$(itemLength+1, " ")
  769.         WListText lpszName, lpszBuffer
  770.         ListText = lpszBuffer
  771.     Else
  772.         ListText = ""
  773.     End If
  774.     lpszBuffer = ""
  775. End Function
  776.  
  777. '----------------------------------------------------------------------------
  778. ' ListItemText: Layered routine for WListItemText()
  779. '----------------------------------------------------------------------------
  780. Function ListItemText(lpszName$, sItem%) STATIC  As String
  781. Dim lpszBuffer As String
  782.     itemLength = WListItemLen(lpszName, sItem)
  783.     If itemLength >= 0 Then
  784.         lpszBuffer = String$(itemLength+1, " ")
  785.         WListItemText lpszName, sItem, lpszBuffer
  786.         ListItemText = lpszBuffer
  787.     Else
  788.         ListItemText = ""
  789.     End If
  790.     lpszBuffer = ""
  791. End Function
  792.  
  793.  
  794. '                                                       *********************
  795. '$DEFINE W_LIST_INCLUDED
  796. '$ENDIF
  797. '$IFDEF W_COMBO AND NOT W_COMBO_INCLUDED
  798. '                                                       *********************
  799.  
  800.  
  801. '*** Combobox routines
  802. '
  803. Declare Sub      WComboSetClass    Lib "TESTCtrl.dll" (lpszClass$)
  804. Declare Sub      WComboSetLBClass  Lib "TESTCtrl.dll" (lpszClass$)
  805. Declare Function WComboExists      Lib "TESTCtrl.dll" (lpszName$) As Integer
  806. Declare Function WComboCount       Lib "TESTCtrl.dll" (lpszName$) As Integer
  807. Declare Sub      WComboSetText     Lib "TESTCtrl.dll" (lpszName$, lpszText$)
  808. Declare Sub      WComboText        Lib "TESTCtrl.dll" (lpszName$, lpszBuffer$)
  809. Declare Function  ComboText                           (lpszName$) As String
  810. Declare Function WComboLen         Lib "TESTCtrl.dll" (lpszName$) As Integer
  811. Declare Sub      WComboSelText     Lib "TESTCtrl.dll" (lpszName$, lpszBuffer$)
  812. Declare Function  ComboSelText                        (lpszName$) As String
  813. Declare Function WComboSelLen      Lib "TESTCtrl.dll" (lpszName$) As Integer
  814. Declare Function WComboIndex       Lib "TESTCtrl.dll" (lpszName$) As Integer
  815. Declare Sub      WComboItemText    Lib "TESTCtrl.dll" (lpszName$, sItem%, lpszBuffer$)
  816. Declare Function  ComboItemText                       (lpszName$, sItem%) As String
  817. Declare Function WComboItemLen     Lib "TESTCtrl.dll" (lpszName$, sItem%) As Integer
  818. Declare Function WComboItemExists  Lib "TESTCtrl.dll" (lpszName$, lpszItem$) As Integer
  819. Declare Sub      WComboItemClk     Lib "TESTCtrl.dll" (lpszName$, sItem%)
  820. Declare Sub      WComboItemDblClk  Lib "TESTCtrl.dll" (lpszName$, sItem%)
  821. Declare Sub      WComboItemClkT    Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  822. Declare Sub      WComboItemDblClkT Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  823. Declare Sub      WComboClear       Lib "TESTCtrl.dll" (lpszName$)
  824. Declare Sub      WComboAddItem     Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  825. Declare Sub      WComboDelItem     Lib "TESTCtrl.dll" (lpszName$, sItem%)
  826. Declare Sub      WComboDelItemT    Lib "TESTCtrl.dll" (lpszName$, lpszItem$)
  827. Declare Function WComboEnabled     Lib "TESTCtrl.dll" (lpszName$) As Integer
  828.  
  829. '----------------------------------------------------------------------------
  830. ' ComboText: Layered routine for WComboText()
  831. '----------------------------------------------------------------------------
  832. Function ComboText(lpszName$) STATIC  As String
  833. Dim lpszBuffer As String
  834.     itemLength = WComboLen(lpszName$)
  835.     If itemLength >= 0 Then
  836.         lpszBuffer = String$(itemLength+1, " ")
  837.         WComboText lpszName, lpszBuffer
  838.         ComboText = lpszBuffer
  839.     Else
  840.         ComboText = ""
  841.     End If
  842.     lpszBuffer = ""
  843. End Function
  844.  
  845. '----------------------------------------------------------------------------
  846. ' ComboSelText: Layered routine for WComboSelText()
  847. '----------------------------------------------------------------------------
  848. Function ComboSelText(lpszName$) STATIC  As String
  849. Dim lpszBuffer As String
  850.     itemLength = WComboSelLen(lpszName$)
  851.     If itemLength >= 0 Then
  852.         lpszBuffer = String$(itemLength+1, " ")
  853.         WComboSelText lpszName, lpszBuffer
  854.         ComboSelText = lpszBuffer
  855.     Else
  856.         ComboSelText = ""
  857.     End If
  858.     lpszBuffer = ""
  859. End Function
  860.  
  861. '----------------------------------------------------------------------------
  862. ' ComboItemText: Layered routine for WComboItemText()
  863. '----------------------------------------------------------------------------
  864. Function ComboItemText(lpszName$, sItem%) STATIC  As String
  865. Dim lpszBuffer As String
  866.     itemLength = WComboItemLen(lpszName, sItem)
  867.     If itemLength >= 0 Then
  868.         lpszBuffer = String$(itemLength+1, " ")
  869.         WComboItemText lpszName, sItem, lpszBuffer
  870.         ComboItemText = lpszBuffer
  871.     Else
  872.         ComboItemText = ""
  873.     End If
  874.     lpszBuffer = ""
  875. End Function
  876.  
  877.  
  878. '                                                       *********************
  879. '$DEFINE W_COMBO_INCLUDED
  880. '$ENDIF
  881. '$IFDEF W_EDIT AND NOT W_EDIT_INCLUDED
  882. '                                                       *********************
  883.  
  884.  
  885. '*** Edit box routines
  886. '
  887. Declare Sub      WEditSetClass Lib "TESTCtrl.dll" (lpszClass$)
  888. Declare Function WEditExists   Lib "TESTCtrl.dll" (lpszName$) As Integer
  889. Declare Function WEditLen      Lib "TESTCtrl.dll" (lpszName$) As Long
  890. Declare Sub      WEditText     Lib "TESTCtrl.dll" (lpszName$, lpszBuffer$)
  891. Declare Function  EditText                        (lpszName$) As String
  892. Declare Sub      WEditSetText  Lib "TESTCtrl.dll" (lpszName$, lpszBuffer$)
  893. Declare Sub      WEditSelText  Lib "TESTCtrl.dll" (lpszName$, lpszBuffer$)
  894. Declare Function  EditSelText                     (lpszName$) As String
  895. Declare Function WEditSelLen   Lib "TESTCtrl.dll" (lpszName$) As Long
  896. Declare Sub      WEditLineText Lib "TESTCtrl.dll" (lpszName$, Index%, lpszBuffer$)
  897. Declare Function  EditLineText                    (lpszName$, Index%) As String
  898. Declare Function WEditLineLen  Lib "TESTCtrl.dll" (lpszName$, Index%) As Long
  899. Declare Function WEditPos      Lib "TESTCtrl.dll" (lpszName$) As Integer
  900. Declare Function WEditLine     Lib "TESTCtrl.dll" (lpszName$) As Integer
  901. Declare Function WEditChar     Lib "TESTCtrl.dll" (lpszName$) As Long
  902. Declare Function WEditFirst    Lib "TESTCtrl.dll" (lpszName$) As Integer
  903. Declare Function WEditLines    Lib "TESTCtrl.dll" (lpszName$) As Integer
  904. Declare Sub      WEditClick    Lib "TESTCtrl.dll" (lpszName$)
  905. Declare Function WEditEnabled  Lib "TESTCtrl.dll" (lpszName$) As Integer
  906.  
  907. '----------------------------------------------------------------------------
  908. ' EditText: Layered routine for WEditText()
  909. '----------------------------------------------------------------------------
  910. Function EditText(lpszName$) STATIC  As String
  911. Dim lpszBuffer As String
  912.     textLength = WEditLen(lpszName)
  913.     If textLength >=0 Then
  914.         lpszBuffer = String$(textLength+1, " ")
  915.         WEditText lpszName, lpszBuffer
  916.         EditText = lpszBuffer
  917.     Else
  918.         EditText = ""
  919.     End If
  920.     lpszBuffer = ""
  921. End Function
  922.  
  923. '----------------------------------------------------------------------------
  924. ' EditSelText: Layered routine for WEditSelText()
  925. '----------------------------------------------------------------------------
  926. Function EditSelText(lpszName$) STATIC  As String
  927. Dim lpszBuffer As String
  928.     selLength = WEditSelLen(lpszName)
  929.     If selLength >= 0 Then
  930.         lpszBuffer = String$(selLength+1, " ")
  931.         WEditSelText lpszName, lpszBuffer
  932.         EditSelText = lpszBuffer
  933.     Else
  934.         EditSelText = ""
  935.     End If
  936.     lpszBuffer = ""
  937. End Function
  938.  
  939. '----------------------------------------------------------------------------
  940. ' EditLineText: Layered routine for WEditLineText()
  941. '----------------------------------------------------------------------------
  942. Function EditLineText(lpszName$, sIndex%) STATIC  As String
  943. Dim lpszBuffer As String
  944.     lineLength = WEditLineLen(lpszName, sIndex)
  945.     If lineLength >= 0 Then
  946.         lpszBuffer = String$(lineLength+1, " ")
  947.         WEditLineText lpszName, sIndex, lpszBuffer
  948.         EditLineText = lpszBuffer
  949.     Else
  950.         EditLineText = ""
  951.     End if
  952.     lpszBuffer = ""
  953. End Function
  954.  
  955.  
  956. '                                                       *********************
  957. '$DEFINE W_EDIT_INCLUDED
  958. '$ENDIF
  959. '$IFDEF W_ERROR AND NOT W_ERROR_INCLUDED
  960. '                                                       *********************
  961.  
  962.  
  963. Declare Function WError     Lib "TESTCtrl.dll" () As Integer
  964. Declare Sub      WErrorSet  Lib "TESTCtrl.dll" (sErrorNum%)
  965. Declare Sub      WErrorText Lib "TESTCtrl.dll" (lpszBuffer$)
  966. Declare Function  ErrorText                    () As String
  967. Declare Function WErrorLen  Lib "TESTCtrl.dll" () As Integer
  968.  
  969. Const NO_ERROR                       =  0
  970. Const ERR_MENU_NOT_FOUND             =  1
  971. Const ERR_MENU_ITEM_NOT_FOUND        =  2
  972. Const ERR_NOT_A_LISTBOX              =  3
  973. Const ERR_LISTBOX_NOT_FOUND          =  4
  974. Const ERR_ITEM_NOT_IN_LISTBOX        =  5
  975. Const ERR_INVALID_LISTBOX_INDEX      =  6
  976. Const ERR_LISTBOX_HAS_NO_STRINGS     =  7
  977. Const ERR_LISTBOX_IS_NOT_MULTISELECT =  8
  978. Const ERR_NOT_A_COMBOBOX             =  9
  979. Const ERR_COMBOBOX_NOT_FOUND         = 10
  980. Const ERR_ITEM_NOT_IN_COMBOBOX       = 11
  981. Const ERR_INVALID_COMBOBOX_INDEX     = 12
  982. Const ERR_COMBOBOX_HAS_NO_EDITBOX    = 13
  983. Const ERR_COMBOBOX_HAS_NO_STRINGS    = 14
  984. Const ERR_NOT_AN_EDITBOX             = 15
  985. Const ERR_EDITBOX_NOT_FOUND          = 16
  986. Const ERR_BUTTON_NOT_FOUND           = 17
  987. Const ERR_OPTION_BUTTON_NOT_FOUND    = 18
  988. Const ERR_CHECKBOX_NOT_FOUND         = 19
  989. Const ERR_INVALID_WINDOW_HANDLE      = 20
  990. Const ERR_NO_SYSTEM_MENU             = 21
  991. Const ERR_INVALID_MENU_INDEX         = 22
  992. Const MAX_ERROR                      = 23
  993.  
  994. '----------------------------------------------------------------------------
  995. ' ErrorText: Layered routine for WErrorText() of TESTCtrl.DLL.
  996. '            Simulates a DLL String Function.
  997. '----------------------------------------------------------------------------
  998. Function ErrorText() STATIC  As String
  999. Dim lpszBuffer As String
  1000.     errorLength= WErrorLen
  1001.     lpszBuffer = String$(errorLength+1, " ")
  1002.     WErrorText lpszBuffer
  1003.     ErrorText = lpszBuffer
  1004.     lpszBuffer = ""
  1005. End Function
  1006.  
  1007.  
  1008. '                                                       *********************
  1009. '$DEFINE W_ERROR_INCLUDED
  1010. '$ENDIF
  1011. '$IFDEF W_ERROR_TRAP AND NOT W_ERROR_TRAP_INCLUDED
  1012. '                                                       *********************
  1013.  
  1014.  
  1015. '----------------------------------------------------------------------------
  1016. ' WErrorTrap: This trap is in TESTCTRL.DLL.
  1017. '
  1018. '   This trap is here in MSTEST.INC just so it is easy to quickly add a
  1019. ' trap that will display any TESTCTRL error messages.  It is only included if
  1020. ' W_ERROR_TRAP is defined, so if WErrorTrap() is to be used for more than
  1021. ' just to display the TESTCTRL error messages, W_ERROR_TRAP should no be
  1022. ' defined. and a custom WErrorTrap() should be added to your script.
  1023. '----------------------------------------------------------------------------
  1024. Trap WErrorTrap From "TESTCTRL.DLL"
  1025.     Print WError;" ";ErrorText
  1026. End Trap
  1027.  
  1028.  
  1029. '                                                       *********************
  1030. '$DEFINE W_ERROR_TRAP_INCLUDED
  1031. '$ENDIF
  1032. '                                                       *********************
  1033.