HTBasic Help
×
Menu
Index

Example: Context Sensitive Help

 
10     ! *********************************************************************
20     ! Example: Context-Sensitive Help
30     !
40     ! This program displays three pushbuttons (Fire Phasers,
50     ! Fire Photon Torpedoes, and Stand Down). You can display
60     ! the definitions of these pushbuttons by placing the cursor
70     ! on the desired pushbutton and clicking the RIGHT mouse
80     ! button.
90     !
100   ! *********************************************************
110   !
120   DIM S$[256]                                                                ! GP string
130   S$="weapons.chm"                                                ! Help file name
140   !
150   ! Create the PANEL widget
160   !
170   ASSIGN @Main TO WIDGET "PANEL";SET ("VISIBLE":0)
180   CONTROL @Main;SET ("X":50,"Y":25,"WIDTH":300,"HEIGHT":175)
190   CONTROL @Main;SET ("TITLE":" Example: Context-Sensitive Help","SYSTEM MENU":"Quit")
200   CONTROL @Main;SET ("HELP FILE":S$,"HELP TOPIC":"weapons.TOC")
210   !
220   ! Set up buttons
230   !
240   ASSIGN @Phasers TO WIDGET "PUSHBUTTON";PARENT @Main
250   CONTROL @Phasers;SET ("X":45,"Y":15,"WIDTH":200,"HEIGHT":30)
260   CONTROL @Phasers;SET ("LABEL":"Fire Phasers")
270   CONTROL @Phasers;SET ("HELP FILE":S$,"HELP TOPIC":"weapons.phasers")
280   !
290   ASSIGN @Torps TO WIDGET "PUSHBUTTON";PARENT @Main
300   CONTROL @Torps;SET ("X":45,"Y":55,"WIDTH":200,"HEIGHT":30)
310   CONTROL @Torps;SET ("LABEL":"Fire Photon Torpedoes")
320   CONTROL @Torps;SET ("HELP FILE":S$,"HELP TOPIC":"weapons.torp")
330   !
340   ASSIGN @Off TO WIDGET "PUSHBUTTON";PARENT @Main
350   CONTROL @Off;SET ("X":45,"Y":100,"WIDTH":200,"HEIGHT":30)
360   CONTROL @Off;SET ("LABEL":"Stand Down")
370   CONTROL @Off;SET ("HELP FILE":S$,"HELP TOPIC":"weapons.off")
380   !
390   ! Set up events and loop
400   !
410   ON EVENT @Phasers,"ACTIVATED" GOSUB Phasers
420   ON EVENT @Torps,"ACTIVATED" GOSUB Torps
430   ON EVENT @Off,"ACTIVATED" GOSUB Off
440   ON EVENT @Main,"SYSTEM MENU" GOTO Finis
450   !
460   CONTROL @Main;SET ("VISIBLE":1)
470   !
480   LOOP
490     WAIT FOR EVENT
500   END LOOP
510   STOP
520   !
530   ! ********************* Subroutines Start Here ************************
540   !
550 Phasers: !
560   DIALOG "INFORMATION","Fired phasers!"
570   RETURN
580   !
590 Torps:  !
600   DIALOG "INFORMATION","Fired photon torpedoes!"
610   RETURN
620   !
630 Off:  !
640   DIALOG "INFORMATION","Weapons system standing down."
650   RETURN
660   !
670 Finis:  !
680   ASSIGN @Main TO *                                ! Delete PANEL widget
690   END