diff options
Diffstat (limited to 'public/sdk/inc/ftestkey.mst')
-rw-r--r-- | public/sdk/inc/ftestkey.mst | 1363 |
1 files changed, 1363 insertions, 0 deletions
diff --git a/public/sdk/inc/ftestkey.mst b/public/sdk/inc/ftestkey.mst new file mode 100644 index 000000000..bb1b50f3b --- /dev/null +++ b/public/sdk/inc/ftestkey.mst @@ -0,0 +1,1363 @@ +'FTestKey.inc - definitions for Fast Test Key, Menu and Window routines +' +' Copyright (c) 1991-1992, Microsoft Corporation. All rights reserved. +' +'Purpose: +' This file defines the Key, Menu and Window functions of the Fast Test +' functionality +' + + +'********************************************************** +'***************** Keystroke Subroutines ****************** +'********************************************************** + +' support routine for other subroutines, not meant to be called +' except by fasttest routines +' +FUNCTION SKeyString$(s$) STATIC + DIM sTemp$ + + IF LEN(s$) = 0 THEN + XLogFailure "zero length string passed to SKeyString$" + END IF + + IF LEN(s$) = 1 THEN + SELECT CASE ASC(s$) + + ' alphanumerics, pass along as given + CASE ASC("a") to ASC("z"), ASC("A") to ASC("Z"), ASC("0") to ASC("9") + sTemp$ = s$ + + ' special characters to Dokeys, surround with braces + CASE ASC("~"),ASC("+"),ASC("^"),ASC("%") + sTemp$ = "{" + s$ + "}" + + CASE ASC("{"),ASC("}"),ASC("("),ASC(")"),ASC("["),ASC("]") + sTemp$ = "{" + s$ + "}" + + ' normal printable non-alphanumerics, pass along + CASE ASC("!"),ASC("@"),ASC("#"),ASC("$"),ASC("&") + sTemp$ = s$ + + CASE ASC("*"),ASC("_"),ASC("|"),ASC(""""),ASC("<"),ASC(">") + sTemp$ = s$ + + CASE ASC("-"),ASC("="),ASC("\"),ASC(";"),ASC("'"),ASC(":") + sTemp$ =s$ + + CASE ASC(","),ASC("."),ASC("/"),ASC(" "),ASC("?"),ASC("`") + sTemp$ =s$ + + ' non-printable other character + CASE ELSE + XLogFailure "Bad character passed to SKeyString$" + + END SELECT + + ELSE + ' the string is greater than 1 character in length, put braces + ' around it and send it to Dokeys and let it parse it + sTemp$ = "{" + s$ + "}" + END IF + SKeyString$ = "(" + sTemp$ + ")" +END FUNCTION + +' support routine for other subroutines, not meant to be called +' except by fasttest routines +' +FUNCTION SHideKeys$(s$) STATIC + DIM check$ + DIM i% + DIM stRet$ + ' this code must hide each character that is special to DoKeys + + stRet$ = "" ' start empty + FOR i% = 1 to LEN(s$) + ' special characters to DoKeys, surround with braces + check$ = mid$(s$,i%,1) + IF check$ = "~" OR check$ = "+" OR check$ = "^" OR check$ = "%" THEN + stRet$ = stRet$ + "{" + check$ + "}" + ELSEIF check$ = "{" OR check$ = "}" OR check$ = "(" OR check$ = ")" OR check$ = "[" OR check$ = "]" THEN + stRet$ = stRet$ + "{" + check$ + "}" + ELSE + stRet$ = stRet$ + check$ + END IF + NEXT i% + SHideKeys$ = stRet$ +END FUNCTION + +' +' XKey(s$) +' +' Description: +' Send Keystroke to active application +' This uses DoKeys, so DoKeys syntax is allowed +' +' Parameters: +' s$ - single char to send +' NOTE: any string longer that 1 character in length is assumed +' to be a special name for a key and is handled as such +' +' Returns: +' nothing +' +' Example: +' XKey "f" +' XKey "escape" + +SUB XKey (s$) STATIC + DoKeys SKeyString$(s$) + +END SUB + + +' +' XAlt(s$) +' +' Description: +' Send a key as if the alt key is pressed at the same time +' +' Parameters: +' s$ - single char to send +' see XKey note +' +' Returns: +' nothing +' +' Example: +' XAlt "f" +' XAlt "escape" +' +' + +SUB XAlt (s$) STATIC + DoKeys "%" + SKeyString$(s$) + +END SUB + +' +' XCtrl(s$) +' +' Description: +' Send a key as if the control key is pressed at the same time +' +' Parameters: +' s$ - single char to send +' see XKey note +' +' Returns: +' nothing +' +' Example: +' XCtrl "f" +' XCtrl "escape" +' +' + +SUB XCtrl (s$) STATIC + DoKeys "^" + SKeyString$(s$) +END SUB + +' +' XShift(s$) +' +' Description: +' Send a key as if the alt key is pressed at the same time +' +' Parameters: +' s$ - single char to send +' see XKey note +' +' Returns: +' nothing +' +' Example: +' XShift "f" +' XShift "escape" +' +' + +SUB XShift (s$) STATIC + DoKeys "+" + SKeyString$(s$) + +END SUB + +' +' XCtrlAlt(s$) +' +' Description: +' Send a key as if the alt key is pressed at the same time +' +' Parameters: +' s$ - single char to send +' see XKey note +' +' Returns: +' nothing +' +' Example: +' XCtrlAlt "f" +' XCtrlAlt "escape" +' +' + + +SUB XCtrlAlt (s$) STATIC + DoKeys "^%" + SKeyString$(s$) +END SUB + +' +' XAltShift(s$) +' +' Description: +' Send a key as if the alt key is pressed at the same time +' +' Parameters: +' s$ - single char to send +' see XKey note +' +' Returns: +' nothing +' +' Example: +' XAltShift "f" +' XAltShift "escape" +' +' + +SUB XAltShift (s$) STATIC + DoKeys "%+" + SKeyString$(s$) +END SUB + +' +' XCtrlShift(s$) +' +' Description: +' Send a key as if the alt key is pressed at the same time +' +' Parameters: +' s$ - single char to send +' see XKey note +' +' Returns: +' nothing +' +' Example: +' XCtrlShift "f" +' XCtrlShift "escape" +' +' + +SUB XCtrlShift (s$) STATIC + DoKeys "^+" + SKeyString$(s$) +END SUB + +' +' XCtrlAltShift(s$) +' +' Description: +' Send a key as if the alt key is pressed at the same time +' +' Parameters: +' s$ - single char to send +' see XKey note +' +' Returns: +' nothing +' +' Example: +' XCtrlAltShift "f" +' XCtrlAltShift "escape" +' +' + +SUB XCtrlAltShift (s$) STATIC + DoKeys "^%+" + SKeyString$(s$) + +END SUB + +' +' XText(s$) +' +' Description: +' Send any key as without having to specially specify any +' keys that are special to DoKeys +' +' Parameters: +' s$ - string of characters to send +' +' Returns: +' nothing +' +' Example: +' XText "Hello World" +' XText "The DoKeys string to send is {escape}" +' +' + +SUB XText(s$) STATIC + DoKeys SHideKeys$(s$) +END SUB + +' +' XEnter(s$) +' +' Description: +' Send any key as without having to specially specify any +' keys that are special to DoKeys followed by an enter key +' +' Parameters: +' s$ - string of characters to send +' +' Returns: +' nothing +' +' Example: +' XEnter "Hello World" +' XEnter "The DoKeys string to send is {escape}" +' +' + +SUB XEnter(s$) STATIC + DoKeys SHideKeys$(s$) + "{enter}" +END SUB + + + + + +'********************************************************** +'***************** Menu Subroutines *********************** +'********************************************************** + + + + +' +' XSelectMenuItem(stMenu, stMenuItem, stHMenuItem) +' +' Description: +' This procedure selects the specified menu item name. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF +' Hierarchial menu exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' nothing +' +' Example: +' XSelectMenuItem "Edit", "Copy","" +' +' +SUB XSelectMenuItem(stMenu$,stMenuItem$,stHMenuItem$) STATIC + XMenuItemExists stMenu$,stMenuItem$,stHMenuItem$ + + WMenu(stMenu$) + IF stMenuItem$ <> "" THEN + WMenu(stMenuItem$) + END IF + IF stHMenuItem$ <> "" THEN 'If popup menu is to be selected + WMenu(stHMenuItem$) 'Select menu item under popup menu. + END IF + +END SUB + + + +' +' BMenuItemExists(stMenu, stMenuItem, stHMenuItem) +' +' Description: +' This procedure checks for the specified menu item +' and returns true IF found, false IF not found. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to check or secondary menu, IF +' Hierarchial menu exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' TRUE if it exists, FALSE if not +' +' Example: +' fSuccess% = BMenuItemExists("File", "", "") +' fSuccess% = BMenuItemExists("FIle","Edit", "") +' +' +FUNCTION BMenuItemExists%(stMenu$,stMenuItem$,stHMenuItem$) STATIC + + IF stHMenuItem$ = "" THEN + IF stMenuItem$ = "" THEN + BMenuItemExists = WMenuExists(stMenu$) <> 0 + ELSE + WMenu(stMenu$) + BMenuItemExists = WMenuExists(stMenuItem$) <> 0 + END IF + ELSE + WMenu(stMenu$) + WMenu(stMenuItem$) + BMenuItemExists = WMenuExists(stHMenuItem$) <> 0 + END IF + DoKeys "{esc 3}" 'Make sure you close menu. + +END FUNCTION + + +' +' XMenuItemExists (stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' Reports error IF menu item does not exist. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF +' Hierarchial menu exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' nothing +' +' Example: +' XMenuItemExists "File", "Close", "" +' +' +' +SUB XMenuItemExists(stMenu$,stMenuItem$, stHMenuItem$) STATIC + IF BMenuItemExists(stMenu$,stMenuItem$, stHMenuItem$) = 0 THEN + XLogFailure stMenu$ + " " + stMenuItem$ + " " + stHMenuItem$ + " does not Exist" + END IF +END SUB + + +' +' XMenuItemNotExists (stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' Reports error IF menu item exist. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' nothing +' +' Example: +' XMenuItemNotExists "File", "Close", "" +' +' +' + +SUB XMenuItemNotExists(stMenu$,stMenuItem$, stHMenuItem$) STATIC + IF BMenuItemExists(stMenu$,stMenuItem$, stHMenuItem$) THEN + XLogFailure stMenu$ + " " + stMenuItem$ + " " + stHMenuItem$ + " Exists" + END IF +END SUB + + + +' +' IGetMenuCount(stMenu, stMenuItem) +' +' Description: +' This procedure returns the number of menu items +' in the specified menu. +' +' Parameters: +' stMenu = top level menu to count menu items in. +' IF stMenu = "", THEN counts items in the menu bar(counts the +' number of top level menus). +' stMenuItem = secondary menu to count menu items in; counts hierarchial +' menu items. +' +' Returns: +' An integer; the number of menu items found. +' +' Example: +' iHowMany% = IGetMenuCount("","") returns how many top level menus. +' iHowMany% = IGetMenuCount("Utilities", "") returns the number of menu items +' in the "Utilities" menu. +' iHowMany% = IGetMenuCount("Utilities", "Info") returns how many menu items +' in the popup menu "Info". +' +' +FUNCTION IGetMenuCount%(stMenu$, stMenuItem$) STATIC + + IF stMenuItem$ <> "" THEN 'Count in menu items in hierarchial menu. + WMenu(stMenu$) + WMenu(stMenuItem$) + IGetMenuCount = WMenuCount() 'Count the number of menus items in the popup + 'menu. + ELSE + IF stMenu$ <> "" THEN 'Count menus in stMenu$. + WMenu(stMenu$) + IGetMenuCount = WMenuCount() 'Count the number of menus items in the menu. + ELSE + IGetMenuCount = WMenuCount() 'Count the number of menus in the menu bar if. + 'the above "IF" statements are skipped. + END IF + END IF + DoKeys "{esc 3}" 'Make sure you close menu. + +END FUNCTION + + + +' +' SGetMenuItemText(stMenu, stMenuItem, iIndex) +' +' Description: +' This procedure returns the text of menu item, iIndex +' (base 1) in stMenu. Length of the buffer to store +' the menu item text is passed in. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to check or secondary menu, IF Hierarchial menu +' exists. +' iIndex = index of menu item in stMenu. +' iLength = length of buffer to store text +' +' Returns: +' a string, the menu item text(name). +' +' Example: +' Print SGetMenuItemText("","","", 3) gets name of 3rd menu. +' Print SGetMenuItemText("Utilities","","",3) gets name of 3rd menu item +' in the "Utilities" menu. +' Print SGetMenuItemText("Utilities","Info",3) gets name of 3rd menu item +' in the popup menu "Info". +' +' +FUNCTION SGetMenuItemText$(stMenu$,stMenuItem$, iIndex%) STATIC + DIM buffer$ + + buffer$ = String$(128,32) 'initialize with spaces. + IF stMenuItem$ <> "" THEN 'get menu text from hierarchial menu. + WMenu(stMenu$) + WMenu(stMenuItem$) + ELSE + IF stMenu$ <> "" THEN 'get menu text from stMenu$. + WMenu(stMenu$) + END IF + END IF + +'$IFNDEF NT + WMenuText iIndex%, buffer$ 'get menu text. If above "IF" condition + 'is skipped, this gets text in menu bar. +'$ELSE + WMenuText "@"+STR$(iIndex%), buffer$ +'$ENDIF + + SGetMenuItemText = buffer$ 'return buffer$ + + DoKeys "{esc 3}" 'Make sure you close menu. + +END FUNCTION + + + +' +' BMenuItemGrayed(stMenu$, stMenuItem$,stHMenuItem$) +' +' Description: +' This procedure checks to see IF the specified menu or +' menu item is grayed out or not. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' TRUE if grayed. +' FALSE if not grayed. +' +' Example: +' fIsGrayed% = BMenuItemGrayed("Edit", "Copy", "") +' fIsGrayed% = BMenuItemGrayed("Edit", "", "") +' +' +FUNCTION BMenuItemGrayed%(stMenu$, stMenuItem$, stHMenuItem$) STATIC + + IF stHMenuItem$ = "" THEN + IF stMenuItem$ = "" THEN + BMenuItemGrayed = WMenuGrayed(stMenu$) <> 0 'Check main menu bar menu items. + ELSE + WMenu(stMenu$) 'Check menu item within stMenuItem$. + BMenuItemGrayed = WMenuGrayed(stMenuItem$) <> 0 + END IF + ELSE + WMenu(stMenu$) 'Check popup menu items. + WMenu(stMenuItem$) + BMenuItemGrayed = WMenuGrayed(stHMenuItem$) <> 0 + END IF + DoKeys "{esc 3}" 'Make sure you close menu. + +END FUNCTION + + +' +' XMenuItemGrayed (stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' Reports error IF menu item is not Grayed. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' nothing +' +' Example: +' XMenuItemGrayed "File", "Close", "" +' +' +' + +SUB XMenuItemGrayed(stMenu$,stMenuItem$, stHMenuItem$) STATIC + IF BMenuItemGrayed(stMenu$,stMenuItem$, stHMenuItem$) = 0 THEN + XLogFailure stMenu$ + " " + stMenuItem$ + " " + stHMenuItem$ + " is not Grayed" + END IF +END SUB + +' +' XMenuItemNotGrayed (stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' Reports error IF menu item is Grayed. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' nothing +' +' Example: +' XMenuItemNotGrayed "File", "Close", "" +' +' +' + +SUB XMenuItemNotGrayed(stMenu$,stMenuItem$, stHMenuItem$) STATIC + IF BMenuItemGrayed(stMenu$,stMenuItem$, stHMenuItem$) THEN + XLogFailure stMenu$ + " " + stMenuItem$ + " " + stHMenuItem$ + " is Grayed" + END IF +END SUB + + + +' +' BMenuItemChecked(stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' This procedure checks to see IF the specified menu +' item is checked or not. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' TRUE if checked. +' FALSE if not checked. +' +' Example: +' fIsChecked% = BMenuItemChecked("Format","Style","Bold") +' fIsChecked% = BMenuItemchecked("Edit", "Copy", "") +' +' +FUNCTION BMenuItemChecked%(stMenu$, stMenuItem$, stHMenuItem$) STATIC + + IF stHMenuItem$ = "" THEN + WMenu(stMenu$) 'Check menu item within stMenu$. + BMenuItemChecked = WMenuChecked(stMenuItem$) <> 0 + ELSE + WMenu(stMenu$) 'Check menu item under popup menu. + WMenu(stMenuItem$) + BMenuItemChecked = WMenuChecked(stHMenuItem$) <> 0 + END IF + DoKeys "{esc 3}" 'Make sure you close menu. + +END FUNCTION + + + +' +' XMenuItemChecked (stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' Reports error IF menu item is not Checked. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' nothing +' +' Example: +' XMenuItemChecked "Options", "Read Only", "" +' +' +' +SUB XMenuItemChecked(stMenu$,stMenuItem$, stHMenuItem$) STATIC + IF BMenuItemChecked(stMenu$,stMenuItem$, stHMenuItem$) = 0 THEN + XLogFailure stMenu$ + " " + stMenuItem$ + " " + stHMenuItem$ + " is not Checked" + END IF +END SUB + +' +' XMenuItemNotChecked (stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' Reports error IF menu item is Checked. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' nothing +' +' Example: +' XMenuItemNotChecked "Options", "Read Only", "" +' +' +' +SUB XMenuItemNotChecked(stMenu$,stMenuItem$, stHMenuItem$) STATIC + IF BMenuItemChecked(stMenu$,stMenuItem$, stHMenuItem$) THEN + XLogFailure stMenu$ + " " + stMenuItem$ + " " + stHMenuItem$ + " is Checked" + END IF +END SUB + + + +' +' BMenuItemEnabled(stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' This procedure checks to see IF the specified menu or +' menu item is enabled or not. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' TRUE if enabled. +' FALSE if not enabled. +' +' Example: +' fIsEnabled% = BMenuItemEnabled("File", "", "") +' fIsEnabled% = BMenuItemEnabled("File", "Close", "") +' +' +FUNCTION BMenuItemEnabled%(stMenu$,stMenuItem$, stHMenuItem$) STATIC + + IF stHMenuItem$ = "" THEN + IF stMenuItem$ = "" THEN + BMenuItemEnabled = WMenuEnabled(stMenu$) <> 0 'Check main menu bar menu items. + ELSE + WMenu(stMenu$) 'Check menu item within stMenu$. + BMenuItemEnabled = WMenuEnabled(stMenuItem$) <> 0 + END IF + ELSE + WMenu(stMenu$) 'Check menu item under popup menu. + WMenu(stMenuItem$) + BMenuItemEnabled = WMenuEnabled(stHMenuItem$) <> 0 + END IF + DoKeys "{esc 3}" 'Make sure you close menu. + +END FUNCTION + + +' +' XMenuItemEnabled (stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' Reports error IF menu item is not Enabled. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' nothing +' +' Example: +' XMenuItemEnabled "Options", "Read Only", "" +' +' +' +SUB XMenuItemEnabled(stMenu$,stMenuItem$, stHMenuItem$) STATIC + IF BMenuItemEnabled(stMenu$,stMenuItem$, stHMenuItem$) = 0 THEN + XLogFailure stMenu$ + " " + stMenuItem$ + " " + stHMenuItem$ + " is not Enabled" + END IF +END SUB + + +' +' XMenuItemNotEnabled (stMenu$,stMenuItem$, stHMenuItem$) +' +' Description: +' Reports error IF menu item is Enabled. +' +' Parameters: +' stMenu = menu where stMenuItem is found. +' stMenuItem = menu item to select or secondary menu, IF Hierarchial menu +' exists. +' stHMenuItem = hierarchial(popup) menu item. +' +' Returns: +' nothing +' +' Example: +' XMenuItemNotEnabled "Options", "Read Only", "" +' +' +' +SUB XMenuItemNotEnabled(stMenu$,stMenuItem$, stHMenuItem$) STATIC + IF BMenuItemEnabled(stMenu$,stMenuItem$, stHMenuItem$) THEN + XLogFailure stMenu$ + " " + stMenuItem$ + " " + stHMenuItem$ + " is Enabled" + END IF +END SUB + + + +'********************************************************** +'***************** Window Subroutines ********************* +'********************************************************** + + + + +' +' XCaptionExists(stCaption$) +' +' Description: +' Will report error IF caption does not Exist. +' +' Parameters: +' stCaption$ - expected caption of current window +' +' Returns: +' nothing +' +' Example: +' XCaptionExists "Winword" +' +' +' +SUB XCaptionExists(stCaption$) STATIC + IF Instr(SGetCaption(), stCaption$) = 0 THEN + XLogFailure stCaption$ + " caption does not exist in active window." + END IF +END SUB + + +' +' XCaptionNotExists(stCaption$) +' +' Description: +' Will report error IF caption Exist. +' +' Parameters: +' stCaption$ - NOT expected caption of current window +' +' Returns: +' nothing +' +' Example: +' XCaptionNotExists "Winword" +' +' +SUB XCaptionNotExists(stCaption$) STATIC + IF Instr(SGetCaption(), stCaption$) <> 0 THEN + XLogFailure stCaption$ + " caption Exists in active window." + END IF +END SUB + + + +' +' SGetCaption() +' +' Description: +' Returns the caption of the Active window +' +' Parameters: +' none +' +' Return: +' Caption of the Active window +' +' Example: +' stCaption$ = SGetCaption() +' +' +FUNCTION SGetCaption$() STATIC + DIM x% + DIM stCaption$ + + stCaption$ = String$(100, 32) + x% = GetWindowText (GetForegroundWindow(), stCaption$, LEN(stCaption$)) + SGetCaption = mid$(stCaption$,1,x%) + stCaption$ = "" +END FUNCTION + + + +' +' XZoomWindow +' +' Description: +' Toggles the state of the window between normalized +' and maximized. +' +' Parameters: +' None +' +' Returns: +' nothing +' +' Example: +' XZoomWindow +' +' +' +SUB XZoomWindow STATIC + DIM bogus% + DIM lhwndTemp% + + lhwndTemp% = GetForegroundWindow() + + ' IF the window is maximized, normalize. + + IF (IsZoomed(lhwndTemp%)) THEN + ' window is maximized, we must normalize it + bogus% = ShowWindow(lhwndTemp%, SW_SHOWNORMAL) + ELSE + bogus% = ShowWindow(lhwndTemp%, SW_MAXIMIZE) + END IF + +END SUB + + +' +' XMaxWindow +' +' Description: +' Maximize the current active window +' +' Parameters: +' None +' +' Returns: +' nothing +' +' Example: +' XMaxWinow +' +' +' + + +SUB XMaxWindow STATIC + DIM bogus% + DIM lhwndTemp% + DIM lWndStyle& + + lhwndTemp% = GetForegroundWindow () + + ' Get the window's style attributes + lWndStyle& = GetWindowLong(lhwndTemp%, GWL_STYLE) + + IF ((lWndStyle& And WS_MAXIMIZE) <> 0) THEN + XLogFailure "Could not maximize active window, already maximized" + ELSE + bogus% = ShowWindow(lhwndTemp%, SW_SHOWMAXIMIZED) + END IF + +END SUB + +' +' XWindowMaximized +' +' Description: +' check IF the current active window is Maximized +' +' Parameters: +' none +' +' Returns: +' nothing +' +' Example: +' XWindowMaximized +' +' +' + + +SUB XWindowMaximized STATIC + IF BWindowMaximized = 0 THEN + XLogFailure "Active Window not maximized" + END IF + +END SUB + +' +' XWindowNotMaximized +' +' Description: +' Check that the current window is not maximized +' +' Parameters: +' none +' +' Returns: +' nothing +' +' Example: +' XWindowNotMaximized +' +' +' + + +SUB XWindowNotMaximized STATIC + + IF BWindowMaximized THEN + XLogFailure "Active Window is maximized" + END IF + +END SUB + +' +' BWindowMaximized +' +' Description: +' detect IF current window is maximized +' +' Parameters: +' none +' +' Returns: +' TRUE if maximized, FALSE if not +' +' Example: +' BWindowMaximized +' +' +' + + +FUNCTION BWindowMaximized% STATIC + DIM bogus% + DIM lhwndTemp% + DIM lWndStyle& + + lhwndTemp% = GetForegroundWindow () + + ' Get the window's style attributes + lWndStyle& = GetWindowLong(lhwndTemp%, GWL_STYLE) + + BWindowMaximized = (lWndStyle& AND WS_MAXIMIZE) <> 0 + +END FUNCTION + + +' +' XMinWindow +' +' Description: +' Minimize the current active window +' +' Parameters: +' none +' +' Returns: +' nothing +' +' Example: +' XMinWindow +' +' +' + + +SUB XMinWindow STATIC + DIM bogus% + DIM lhwndTemp% + DIM lWndStyle& + + lhwndTemp% = GetForegroundWindow () + + ' Get the window's style attributes + lWndStyle& = GetWindowLong(lhwndTemp%, GWL_STYLE) + + ' IF maximized, XLog the descrepancy + IF ((lWndStyle& And WS_MINIMIZE) <> 0) THEN + XLogFailure "Could not minimize active window, already minimized" + ELSE + bogus% = ShowWindow(lhwndTemp%, SW_SHOWMINIMIZED) + END IF + +END SUB + +' XWindowMinimized +' +' Description: +' Check that current window is minimized +' +' Parameters: +' none +' +' Returns: +' nothing +' +' Example: +' XWindowMinized +' +' +' + + +SUB XWindowMinimized STATIC + + IF BWindowMinimized = 0 THEN + XLogFailure "Active Window not Minimized" + END IF + +END SUB + +' +' XWindowNotMinimized +' +' Description: +' Check that current window is not minimized +' +' Parameters: +' none +' +' Returns: +' nothing +' +' Example: +' XWindowNotMinimized +' +' +' + + +SUB XWindowNotMinimized STATIC + IF BWindowMinimized THEN + XLogFailure "Active Window is Minimized" + END IF + +END SUB + +' +' BWindowMinimized +' +' Description: +' Detect IF active window minimized +' +' Parameters: +' none +' +' Returns: +' TRUE if minimized, FALSE if not +' +' Example: +' BWindowMinimized +' +' +' + + +FUNCTION BWindowMinimized% STATIC + DIM bogus% + DIM lhwndTemp% + DIM lWndStyle& + + lhwndTemp% = GetForegroundWindow () + + ' Get the window's style attributes + lWndStyle& = GetWindowLong(lhwndTemp%, GWL_STYLE) + + BWindowMinimized = (lWndStyle& AND WS_MINIMIZE) <> 0 + +END FUNCTION + +' +' XRestoreWindow +' +' Description: +' Restore the current active window. NOTE: You must make +' the icon the active window before calling XRestoreWin! +' +' Parameters: +' none +' +' Returns: +' nothing +' +' Example: +' XRestoreWindow +' +' +' + + +SUB XRestoreWindow STATIC + DIM bogus% + DIM lhwndTemp% + DIM lWndStyle& + + lhwndTemp% = GetForegroundWindow () + + ' Get the window's style attributes + lWndStyle& = GetWindowLong(lhwndTemp%, GWL_STYLE) + + ' IF maximized, XLog the descrepancy + IF ((lWndStyle& And WS_MINIMIZE) = 0) AND ((lWndStyle& And WS_MAXIMIZE) = 0) THEN + XLogFailure "Active window is not minimized or maximized." + ELSE + bogus% = ShowWindow(lhwndTemp%, SW_RESTORE) + END IF + +END SUB + + + +' +' XSizeActiveWindow(iXPixels, iYPixels, fAbsOrRel) +' +' Description: +' Moves the bottom-right corner of the active window +' to new coordiates iXPixels, iYPixels. IF fAbsOrRel +' is TRUE, the coordiates are absolute. IF fAbsOrRel +' is FALSE, the coordiates are relative to the current +' position. +' +' Parameters: +' iXPixels - X coordinate +' iYPixels - Y coordinate +' IF !fAbsOrRel FALSE, the X,Y coordinates are relative to the +' current mouse coordianates. +' +' Returns: +' nothing +' +' Example: +' XSizeActiveWindow iXPixels, iYPixels, fAbsOrRel +' +' +' + +SUB XSizeActiveWindow (iXPixels%, iYPixels%, fAbsOrRel%) STATIC + + DIM xyTempRect As rect + DIM iTempX% + DIM iTempY% + DIM temphWnd% + + IF fAbsOrRel% THEN + WSetWndSiz GetForegroundWindow(), iXPixels%, iYPixels% + ELSE + ' Find the active window + temphWnd% = GetForegroundWindow + + ' Get the Rect of the active window + GetWindowRect temphWnd%, xyTempRect + ' Determine new X coordinate + iTempX% = ((xyTempRect.wright - 1) - (xyTempRect.wleft)) + iXPixels% + + ' Determine new Y coordinate + iTempY% = ((xyTempRect.bottom - 1) - (xyTempRect.top)) + iYPixels% + + ' size the window + WSetWndSiz GetForegroundWindow(), iTempX%, iTempY% + + END IF +END SUB + + +' +' XMoveActiveWindow(iXPixels, iYPixels, fAbsOrRel) +' +' Description: +' Moves the top-left corner of the active window +' to new coordiates iXPixels, iYPixels. IF fAbsOrRel +' is TRUE, the coordiates are absolute. IF fAbsOrRel +' is FALSE, the coordiates are relative to the current +' position. +' +' Parameters: +' iXPixels - X coordinate +' iYPixels - Y coordinate +' IF !fAbsOrRel FALSE, the X,Y coordinates are relative to the +' current mouse coordianates. +' +' Returns: +' nothing +' +' Example: +' XMoveActiveWindow iXPixels, iYPixels, fAbsOrRel +' +' + +SUB XMoveActiveWindow (iXPixels%, iYPixels%, fAbsOrRel%) STATIC + + DIM xyTempRect As Rect + DIM iTempX% + DIM iTempY% + DIM temphWnd% + + + IF fAbsOrRel% THEN + WSetWndPos GetForegroundWindow(), iXPixels%, iYPixels% + ELSE + ' Find the active window + temphWnd% = GetForegroundWindow + + ' Get the Rect of the active window + GetWindowRect temphWnd%, xyTempRect + + ' Determine new X coordinate + iTempX% = xyTempRect.wleft + iXPixels% + + ' Determine new Y coordinate + iTempY% = xyTempRect.top + iYPixels% + + ' move the window + WSetWndPos GetForegroundWindow(), iTempX%, iTempY% + END IF +END SUB |