Teil 3: Schaltfläche gedrückt ?

 

 
      
If OpenWindow(0,100,100,500,400,"Fenster 1",#PB_Window_SystemMenu)
  If CreateGadgetList(WindowID(0))
    ButtonGadget(1,20,20,100,20,"Knopf 1")
    ButtonGadget(2,20,80,100,20,"Knopf 2")
  EndIf

  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow 
      Quit = 1
    EndIf
    If EventID = #PB_Event_Gadget
      If EventGadget()=1
        MessageRequester("Achtung!","Knopf 1 wurde gedrückt !",0)
      EndIf
      If EventGadget()=2
        MessageRequester("Achtung!","Knopf 2 wurde gedrückt !",0)
      EndIf
     EndIf
  Until Quit=1
EndIf
End
EventID = #PB_Event_Gadget

Wird also ein Gadget auf diesem Fenster gedrückt, steht es - wie besprochen in der EventID. Dies wird mit dieser Zeile festgestellt, und es kann ausgewertet werden, welches Gadget von diesem Ereignis betroffen ist. Die Nummer des Gadgets steht in der EventGadget().

If EventGadget()=1 bedeutet also nichts anderes als: Ist Schalter 1 gedrückt worden? Wenn ja, führe folgenden Code bis EndIf aus. Dieselbe Abfrage folgt für Schalter 2.

Was nach dem Drücken des Schalters passieren soll, ist zweitrangig. In unserem Beispiel soll ein kleines Fenster aufspringen mit einer Meldung. Hierfür nehmen wir den Befehl Messagerequester. Der erste Eintrag steht für die Kopfzeile, der zweite für die eigentliche Meldung im Requester. Die letzte Ziffer ist wieder ein Flag, der das Aussehen des Messagerequesters bestimmt. In unserem Fall steht die 0 dafür, das ein OK-Schalter eingeblendet wird.

 

Das Resultat nach Drücken des Schalters 1:

WEITER