Seite 1 von 1

PB_Event_Gadget nur einmal

Verfasst: 20.06.2012 10:38
von kunstlust
Ich habe eine Frage zum Beispiel "WaitWindowEvent()" aus der PB-Hilfe,
warum führt er das Event " Debug "Schalter 1 angeklickt!"" bei drücken des Buttons nur einmal aus? Ich habe die 4.61 installiert und nach meiner Meinung sollte PB dies doch beliebig oft machen, oder sehe ich das Falsch?

Ist es besser eine "Case #PB_Event_Gadget" mit einem "If Event:...End" umzusetzen, oder doch besser mit "Case #Button_Zeizeichnung", mir ist der unterschied noch nicht so ganz klar, könnt ihr mir einen Tip geben?

Danke

Code: Alles auswählen

  If OpenWindow(0, 0, 0, 230, 90, "Event-Handling Beispiel...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

   ButtonGadget  (1, 10, 10, 200, 20, "Klick mich")
   CheckBoxGadget(2, 10, 40, 200, 20, "Markiere mich")

   If CreateMenu(0, WindowID(0))
     MenuTitle("Menu")
     MenuItem(1, "Eintrag 1")
     MenuItem(2, "Eintrag 2")
     MenuItem(3, "Eintrag 3")
   EndIf

   Repeat
     Event = WaitWindowEvent()
     
     Select Event
     
       Case #PB_Event_Gadget
         Select EventGadget()
           Case 1 : Debug "Schalter 1 angeklickt!"
           Case 2 : Debug "Schalter 2 angeklickt!"
         EndSelect
       
       Case #PB_Event_Menu
         Select EventMenu()
           Case 1 : Debug "Menü-Eintrag 1 angeklickt!"
           Case 2 : Debug "Menü-Eintrag 2 angeklickt!"
           Case 3 : Debug "Menü-Eintrag 3 angeklickt!"
         EndSelect
     
     EndSelect
   Until Event = #PB_Event_CloseWindow
 EndIf


Re: PB_Event_Gadget nur einmal

Verfasst: 20.06.2012 10:43
von STARGÅTE
kunstlust hat geschrieben:warum führt er das Event " Debug "Schalter 1 angeklickt!"" bei drücken des Buttons nur einmal aus? Ich habe die 4.61 installiert und nach meiner Meinung sollte PB dies doch beliebig oft machen, oder sehe ich das Falsch?
Kann ich nicht nachvollziehen.
Ich kann beliebig oft auf "Klick mich" drücken, und es wird auch genauso beliebig oft "Schalter 1 angeklickt!" gezeigt.

WaitWindowEvent() warten immer solange bis ein Ereingis auf dem Fenster geschar.
In dem Fall gibt WaitWindowEvent() das Event: #PB_Event_Gadget, zusammen mit EventGadget() = 1 zurück, wenn der Schalter 1 gedrückt wurde.

Re: PB_Event_Gadget nur einmal

Verfasst: 20.06.2012 11:12
von kunstlust
Ich zu blöd, ich hatte das Debugfenster geschlossen, ist mir erst aufgefallen, als ich einen "MessageRequester" genutzt habe, sorry :praise: