The SYSGUI Event Queue

The SYSGUI device employs an event queue to provide notification of user interaction with graphical objects. An application using this mechanism must READ the SYSGUI channel to watch for events. There is only one event queue, regardless of how many contexts are active on the SYSGUI channel, and regardless of how many channels are opened to SYSGUI.

Retrieving the Event Template

Each event is returned as a fixed-size string in a standard format. A template for the event structure may be obtained with TMPL(channel).

OPEN(channel)"X0"
DIM E$:TMPL(channel)
READ RECORD (channel,siz=len(E$))E$

Event Template Structure

context:u(2),code:u(1),id:u(2),flags:u(1),x:u(2),y:u(2)

Event Descriptions

Event

Code

Activation

A

Push Button

B

Check/Uncheck

c

Control Focus Gained/Lost

f

Control Validation

v

Edit Control Modify

e

Form Validation

V

Keypress

t

List Item Click

l (lower case L)

Menu Selection

C

Mouse Button Down

d

Mouse Button Up

u

Mouse Double-Click

2

Mouse Move

m

Notify

N

Right Mouse Button Down

R

Scrollbar Move

p

System Color Change

s

Tool Button Push

b

Window Close Box

X

Window Focus Gained/Lost

F

Window Resize

S

Timer Event T (BBj)
MDI Closing Event M (BBj)
Extended Event x (BBj)
Click Event k (BBj 23.00 and higher)

Event Queue Mnemonic

'FLUSH' mnemonic - Flush Event Queue