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:

 

 

[label]

ACTIVATE

{shape}[,{routine},{result}]

 

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:

  1. The runtime performs no default action for SHAPE objects.

  2. 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:
     

  3. 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.

 

  1. 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.

  2. The {routine} is called when a mouse click occurs within the screen boundaries of the SHAPE object

  3. The {routine} is called as if a CALL instruction was performed. It is only called when an EVENTCHECK or EVENTWAIT is executed.

  4. 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.

  5. 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.

  6. An object must be CREATEd before it is activated. If this is not done, a runtime error of O105 is generated.

  7. If insufficient memory is available to perform the operation, a runtime error O106 is generated.

  8. If a FILEPI instruction is active, it is terminated.

 

 

See Also: Example Code, ACTIVATE, DEACTIVATE, Object Output Instructions

 



PL/B Language Reference ACTIVATE RICHEDITTEXT ACTIVATE SPLITTER