ACTIVATE SHAPE
7.8.5, PLBCMP GUI Only
The ACTIVATE SHAPE statement makes a SHAPE visible and allows the user to interact with it. An optional execution label may be provided to process information if the user selects the SHAPE. The instruction uses the following format:
|
|
|
|
|
Where:
label
Optional. A Program Execution Label.
shape
Required. The name of a previously created SHAPE object variable or a pointer to a SHAPE object.
routine
Optional. A program execution label called when a mouse click occurs within the screen boundaries of the object.
result
Optional. A previously defined Numeric Variable in which the result code as described below is placed upon object selection.
Flags Affected: NONE
Note the following:
The runtime performs no default action for SHAPE objects.
If the {result} operand is specified, it is set
to a nine-digit number describing the screen position of the mouse cursor at the time of the mouse click.
The bottom four digits describe the vertical position and the next four digits describe the horizontal
position. The ninth digit describes which button was clicked as follows:
|
Value |
Meaning |
|
0 |
The left mouse button was clicked. |
|
1 |
The right mouse button was clicked. |
|
2 |
The left mouse button was double clicked. |
|
3 |
The right mouse button was double clicked. |
If the {result} operand is too small to contain the value, the OVER flag is set upon entry to the {routine}. This flag setting does not occur at the time of the ACTIVATE butat the time the {routine} is called.
The {routine} is called when a mouse click occurs within the screen boundaries of the SHAPE object
The {routine} is called as if a CALL instruction was performed. It is only called when an EVENTCHECK or EVENTWAIT is executed.
When the {routine} is complete, a RETURN instruction continues execution at the instruction following the EVENTWAIT or EVENTCHECK. Otherwise, a NORETURN instruction should be executed to clear the return address from the call stack.
If the object specified by an ACTIVATE instruction is already active, the old {routine} and {result} operands are replaced with the new {routine} and {result} operands.
An object must be CREATEd before it is activated. If this is not done, a runtime error of O105 is generated.
If insufficient memory is available to perform the operation, a runtime error O106 is generated.
If a FILEPI instruction is active, it is terminated.
See Also: Example Code, ACTIVATE, DEACTIVATE, Object Output Instructions
![]() |