PB_Event_Gadget nur einmal

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
kunstlust
Beiträge: 259
Registriert: 12.04.2012 23:47
Wohnort: Hannover
Kontaktdaten:

PB_Event_Gadget nur einmal

Beitrag 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

Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: PB_Event_Gadget nur einmal

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
kunstlust
Beiträge: 259
Registriert: 12.04.2012 23:47
Wohnort: Hannover
Kontaktdaten:

Re: PB_Event_Gadget nur einmal

Beitrag von kunstlust »

Ich zu blöd, ich hatte das Debugfenster geschlossen, ist mir erst aufgefallen, als ich einen "MessageRequester" genutzt habe, sorry :praise:
Antworten