Using utility functions to manage information
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 22-1 describes the PowerScript
utility functions.
Five 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 |
| IntLow | UnsignedInt | Returns the low word of the specified Long value.
IntLow is used to decode Windows values |
| Long | Long | Combines the low word and high word into a Long. The Long function is used to pass values |
| LongLong | LongLong | Combines the low word and high word into a LongLong. The LongLong function is used to pass values |
Examples
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:
|
1 |
boolean Maxed |
|
1 |
Maxed = IsZoomed(Handle(parent)) |
|
1 |
if Maxed then sle_output.Text = "Is maxed" |
|
1 |
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:
|
1 |
// Declare loop counter and handle to window object |
|
1 |
int nLoop |
|
1 |
uint hWnd |
|
1 |
// Get the handle to the PowerBuilder window. |
|
1 |
hWnd = handle(This) |
|
1 |
// Make the title bar inactive. |
|
1 |
FlashWindow (hWnd, TRUE) |
|
1 |
//Wait ... |
|
1 |
For nLoop = 1 to 300 |
|
1 |
Next |
|
1 |
// Return the title bar to its active color. |
|
1 |
FlashWindow (hWnd, FALSE) |