Example: Pushbutton Events
|
10 ! *********************************************************************
20 ! Example: PUSHBUTTON Events
30 !
40 ! This program generates a bank of four PUSHBUTTON
50 ! widgets. When you click any pushbutton, the entire
60 ! bank moves in the direction specified on the pushbutton.
70 !
80 ! ****************************************************
90 !
100 ASSIGN @Main TO WIDGET "PANEL"
110 CONTROL @Main;SET ("TITLE":" Example: PUSHBUTTON Events")
120 CONTROL @Main;SET ("HEIGHT":130,"WIDTH":275,"X":120,"Y":60)
130 CONTROL @Main;SET ("SYSTEM MENU":"Quit")
140 !
150 ! Create a bank of PUSHBUTTON widgets
160 !
170 ASSIGN @Pb1 TO WIDGET "PUSHBUTTON";PARENT @Main,SET ("X":40,"Y":10,"TAB STOP":1)
180 ASSIGN @Pb2 TO WIDGET "PUSHBUTTON";PARENT @Main,SET ("X":140,"Y":10,"TAB STOP":1)
190 ASSIGN @Pb3 TO WIDGET "PUSHBUTTON";PARENT @Main,SET ("X":40,"Y":60,"TAB STOP":1)
200 ASSIGN @Pb4 TO WIDGET "PUSHBUTTON";PARENT @Main,SET ("X":140,"Y":60,"TAB STOP":1)
210 !
220 ! Label the buttons
230 !
240 CONTROL @Pb1;SET ("LABEL":"MOVE LEFT")
250 CONTROL @Pb2;SET ("LABEL":"MOVE RIGHT")
260 CONTROL @Pb3;SET ("LABEL":"MOVE UP")
270 CONTROL @Pb4;SET ("LABEL":"MOVE DOWN")
280 !
290 ! Set up the button event handlers
300 !
310 ON EVENT @Main,"SYSTEM MENU" GOTO Finis
320 ON EVENT @Pb1,"ACTIVATED" GOSUB Moveleft
330 ON EVENT @Pb2,"ACTIVATED" GOSUB Moveright
340 ON EVENT @Pb3,"ACTIVATED" GOSUB Moveup
350 ON EVENT @Pb4,"ACTIVATED" GOSUB Movedown
360 !
370 LOOP
380 WAIT FOR EVENT
390 END LOOP
400 !
410 ! Service the button events
420 !
430 Moveleft: !
440 CONTROL @Main;SET ("X":50)
450 BEEP
460 RETURN
470 !
480 Moveright: !
490 CONTROL @Main;SET ("X":150)
500 BEEP
510 RETURN
520 !
530 Moveup: !
540 CONTROL @Main;SET ("Y":30)
550 BEEP
560 RETURN
570 !
580 Movedown: !
590 CONTROL @Main;SET ("Y":100)
600 BEEP
610 RETURN
620 Finis: !
630 ASSIGN @Main TO * ! Delete PANEL widget
640 END