The utility functions provide a way to obtain and pass Windows information to external functions and can be used as arguments in the PowerScript Send function. Table 21-1 describes the PowerScript utility functions.
Function |
Return value |
Purpose |
---|---|---|
Handle |
UnsignedInt |
Returns the handle to a specified object. |
IntHigh |
UnsignedInt |
Returns the high word of the specified Long value. IntHigh is used to decode Windows values returned by external functions or the LongParm attribute of the Message object. |
IntLow |
UnsignedInt |
Returns the low word of the specified Long value. IntLow is used to decode Windows values returned by external functions or the LongParm attribute of the Message object. |
Long |
Long |
Combines the low word and high word into a Long. The Long function is used to pass values to external functions. |
LongLong |
LongLong |
Combines the low word and high word into a LongLong. The LongLong function is used to pass values to external functions. |
This script uses the external function IsZoomed to test whether the current window is maximized. It uses the Handle function to pass a window handle to IsZoomed. It then displays the result in a SingleLineEdit named sle_output:
boolean Maxed
Maxed = IsZoomed(Handle(parent))
if Maxed then sle_output.Text = "Is maxed"
if not Maxed then sle_output.Text = "Is normal"
This script passes the handle of a window object to the external function FlashWindow to change the title bar of a window to inactive and then active:
// Declare loop counter and handle to window object
int nLoop
uint hWnd
// Get the handle to the PowerBuilder window.
hWnd = handle(This)
// Make the title bar inactive.
FlashWindow (hWnd, TRUE)
//Wait ...
For nLoop = 1 to 300
Next
// Return the title bar to its active color.
FlashWindow (hWnd, FALSE)