Siehe hier.
Und speziell meine Antwort hier
Event Handling mehrere Windows
Re: Event Handling mehrere Windows
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!
Re: Event Handling mehrere Windows
Bin gerade unterwegs, aber Matbals Erklärung scheint mir ein ganz heißer Tip zu sein, werde dem nachher mal nachgehen.Soweit ich überflogen hab, hat HeX0R den gleichen Gedanken.
.Danke Euch bis später
.Danke Euch bis später
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Event Handling mehrere Windows
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.
Bei langsamen PCs sollte es auch besser aussehen, jedenfalls wenn die Fenster sehr aufwendig sind.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Event Handling mehrere Windows
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.
machen darf.Da ich noch keine coole Lösung dafür hab, löse ich es derzeit mit HideWindow().
Allerdings sieht man beim Start, wie sich das Window aufbaut und dann verschwindet.Das gefällt mir nicht.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Event Handling mehrere Windows
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
Ich würde alle Fenster öffnen und entsprechend verstecken und schon sieht man nirgends mehr wie ein Fenster sich aufbaut
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Event Handling mehrere Windows
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 !
Ich setze jetzt die Window Variable auf 0, wenn das Window geschlossen wird, damit geht's einwandfrei.
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
Der benennt die Window Variable immer nach dem Fensternamen.
Danke an Euch für den entscheidenden Hinweis !
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
Ich wollte natürlich hier jetzt wissen, wo der Denkfehler ist.Oft kann man irgendeinen Workaround finden,
aber immer schlecht, wenn man fehlerhaften Code weiter mitschleppt.
Re: Event Handling mehrere Windows
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.
- Datei => Einstellungen => Form
hier von "Neue Gadgets verwenden standardmäßig #Pb_Any" das Häkchen entfernen
Für Fenster, die es im Programm nur einmal gibt, braucht man kein #Pb_Any, die funktionieren auch mit Konstanten.