Re: Event Handling mehrere Windows
Verfasst: 10.06.2015 11:27
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Glücklicherweise wird immer das richtige Fenster mitgegeben - zumindest zu allen PB_Events. Sonst hätten viele meiner Programme nicht richtig funktionieren dürfen. Ich habe auch lange Zeit im Event-Loop den Code nach EventWindow aufgeteilt und in Prozeduren ausgelagert.ts-soft hat geschrieben:Bei einem EventGadget() wird nicht unbedingt ein EventWindow() mit dem richtigem Fenster gefeuert!
Ich mache dies aktuell mit einem Fenster, das hat nur den Grund, dass ich aus einem Thread kein OpenWindowts-soft hat geschrieben:Warum versteckst Du die Fenster nicht, statt jedesmal Neuaufzubauen, mit neuem Variablenwert usw.
Bei langsamen PCs sollte es auch besser aussehen, jedenfalls wenn die Fenster sehr aufwendig sind.
matbal hat geschrieben: Wenn du für die Fenster dynamische Nummern erzeugst, mußt du selber dafür sorgen, daß beim Schließen eines Fensters auch die Window-Variable zurückgesetzt wird.
Dieselbe freigewordene Window-Nummer könnte nämlich das als nächstes geöffnete Fenster bekommen. Setzt du die Variablen nicht zurück, hast du dann zwei Variablen mit der gleichen Nummer, und deine Event-Verarbeitung klappt nicht mehr.
Genau das wars !
Code: Alles auswählen
Procedure RNotes_Events(Event, Window)
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case Button_8
DisableWindow(Main, 0)
CloseWindow(RNotes)
RNotes = 0
EndSelect
EndSelect
EndProcedure
Dir auch Danke...Gute Idee ! Das Flag hatte ich irgendwie bisher übersehents-soft hat geschrieben:Wie wäre es mit: OpenWindow(......, #PB_Window_Invisible) ?
Ich würde alle Fenster öffnen und entsprechend verstecken und schon sieht man nirgends mehr wie ein Fenster sich aufbaut
Das läßt sich in der IDE auch auf Konstanten Umschalten:TWELVE hat geschrieben:Warum mache ich das so mit der Variable und den Events...das ist im Prinzip der Code, den der integrierte FormDesigner rauswirft.
Der benennt die Window Variable immer nach dem Fensternamen.