Prblm: MG 2.Fenster,Button klicken,schliesen,wiederaufrufen
Übersicht

SiriusMonkBetreff: Prblm: MG 2.Fenster,Button klicken,schliesen,wiederaufrufen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Holla
ich möchte im MaxGui, über einen Menüeintrag (Schwierigkeitsgrad) , ein zweites Fenster öffnen , den Nutzer die Wahl zwischen (leicht,mittel,schwer) mit Hilfe von Buttons ermöglichen und dann das Fenster selber schliessen ohne das das Hauptprogramm sich schliesst oder er 'X' drücken muss. Wenn ich jetzt im Menü nochmal den "Schwierigkeitsgrad" aufrufe passiert nichts. Im EventData() wird zwar 201 (Menüeintrag) angezeigt aber ich kann nicht darauf reagieren- bzw. weiss nicht wie . Vielleicht kann mir jemand helfen ? Danke im Vorraus / Code auf das wesentliche runtergebrochen SiriusMonk BlitzMax: [AUSKLAPPEN]
|
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich steig bei Deinem Code zwar nicht so recht durch, allerdings fällt mir folgendes auf:
- Die Einrückung ist inkonsistent bis seltsam, das würd ich mal ordentlich machen - In MENU_Schwierig_() legts Du eine Variable Dummy an, die mit 0 initialisiert wird. Die folgende while-Schleife kann also bei keinem Funktionsaufruf ausgeführt werden (war Dummy vielleicht als Global gemeint?) - Für Leicht setzt Du Dummy=1, was bei Mittel und Schwierig nicht passiert Soll in Dummy der Schwierigkeitsgrad gespeichert werden? Nenn die Variable doch mal so, dass ihre Bedeutung deutlich wird ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sollte die Dummy Variable in MENU_Schwierig_() nicht genau umgekehrt definiert werden? So startet die Schleife nie.
Am besten benennst du sie eindeutig, dann kann man das direkt im Quellcode lesen; z.B. "runloop" oder "abort" - je nach dem wie du es nun formulieren willst. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du darfst, wenn man den Schwierigkeitsgrad ausgewählt hat, das Fenster nicht mit FreeGadget freigeben (= Löschen). Benutze stattdessen HideGadget und ShowGadget um es später wieder einzublenden.
MfG |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dürfen schon, da er es immer neu erstellt, aber es wäre schon konsistenter die GUI Elemente nur einmal an zu legen. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh ja tatsächlich, das ist ja in der Funktion drin ![]() ![]() Ähh. Monk, kannst du bitte noch etwas genauer beschreiben, was denn passieren soll aber eben nicht passiert? |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich soll es im Programm nur eine einzige Schleife geben, die EVENTs abfragt.
BlitzMax: [AUSKLAPPEN] While WaitEvent() |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
SiriusMonk |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich war doch nur kurz einkaufen ![]() Also erst mal Asche über mein Haupt bzgl. der Codeeinrückung ,Übersichtlichkeit und Variablebenennung (nicht immer ist Cut&Paste/ Quick&Dirty gut - sorry, werde mich bessern ![]() Die Varianten mit Hide / ShowGadget hatte ich auch durch - ich möchte halt das komplette "Unterfenster" schliessen und es dann bei Bedarf wieder aus dem Menü heraus öffnen - der Tip mit der einer Event - Auswertungsroutine ist wahrscheinlich die Lösung. Ich wollte halt Menü- und Tabs- Auswertung getrennt machen, das funktioniert ja leider nicht . (- zwecks Wartung und Erweiterbarkeit ) - also vielen Danke nochmal an alle |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst natürlich auch alles, was Dialoge anbelangt, jeweils in eigenständige Types packen und denen dann eine Update-Funktion verpassen. In der globalen Hauptschleife rufst du dann einfach nach und nach alle Update-Funktionen auf. So kannst du doch immerhin ein wenig die Auswertung der einzelnen Elemente voneinander aufteilen.
MfG |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
SiriusMonk |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ist auch eine prima Idee - Vielen Dank - mal sehen, ob ich das umsetzen kann.... ![]() Holzchopf hat Folgendes geschrieben: Du kannst natürlich auch alles, was Dialoge anbelangt, jeweils in eigenständige Types packen und denen dann eine Update-Funktion verpassen. In der globalen Hauptschleife rufst du dann einfach nach und nach alle Update-Funktionen auf. So kannst du doch immerhin ein wenig die Auswertung der einzelnen Elemente voneinander aufteilen.
MfG |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group