jbJOGI
Cadet 4th Year
- Registriert
- März 2004
- Beiträge
- 105
Hi,
heute mal kein Problem sondern nur ne allgemeine Frage.
Wie erstellt man Programme im Stil dieser bekannten Wizards?
Ich habe folgende Ansätze im Kopf, scheinen aber alle recht aufwändig. Gehen wir von einem Wizard aus, der 3 Schritte, also 3 "Seiten" enthalten soll.
1. Ansatz:
3 Windows/Dialoge anlegen und den ersten vom Hauptprogramm aus starten. Mit dem Klick auf "Weiter" wird die Eingabe geprüft und das nächste Fenster/Dialog aufgerufen, bevor sich das aktuelle schließt.
Hierbei gibt es aber evtl. Probleme mit der Positionierung der Fenster auf dem Bildschirm. Man müsste ja die Pos des aktuellen Fensters abfragen und das neue genau an der Stelle erzeugen, damit der Übergang möglichst flüssig ist. Außerdem ist es ein rießen Stress hierbei die Werte weiter zu reichen.
2. Ansatz:
Ein Window/Dialog für den Wizard, der dann die Verwaltung übernimmt und je nach "Stage" den richtigen Dialog als "untergeordneten Dialog" im eigenen Darstellungsbereich einblendet. Hierbei könnten die Paramater immer zum Vaterfenster geschickt und dort zentral verwaltet. Die "Weiter" und "Zurück"-Buttons könnten auch Teil des Steuerfensters sein werden. Die Eingaben geschehen dann über die austauschbaren Dialoge, die ohne Rahmen, etc angelegt werden.
Aber auch hierbei bekomme ich dann 4 Window-Prozeduren.
3. Ansatz:
Ein Window/Dialog, der alle Elemente enthält und nur die momentan benötigten anzeigt und den Rest unsichtbar schaltet. Hier habe ich ne zentrale Werteverwaltung und nur eine Window-Funktion, die allerdings viele hundert Zeilen lang wird.
Wie ich es auch drehe und wende, alles Mist. Dennoch sieht man solche Wizards selbst bei kleinen Amateur-Programmen als Einrichtungsassistenten, also kann es ja nicht so schwer sein. Vielleicht gibts ja ne Vorgehensweise, die mir bisher nur noch nicht eingefallen ist. Der gute alte Petzold schreibt darüber leider nichts.
Ich möchte das Ganze mit der Win32 API machen und nicht mit MVC. Dafür gibt es eine Vorlage in VC++, das habe ich schon gesehen, aber MVC kann ja jeder.
Würde mich freuen, wenn mir jemand Einblick geben könnte, wie Ihr das so handhabt.
Mfg,
jbJOGI
heute mal kein Problem sondern nur ne allgemeine Frage.
Wie erstellt man Programme im Stil dieser bekannten Wizards?
Ich habe folgende Ansätze im Kopf, scheinen aber alle recht aufwändig. Gehen wir von einem Wizard aus, der 3 Schritte, also 3 "Seiten" enthalten soll.
1. Ansatz:
3 Windows/Dialoge anlegen und den ersten vom Hauptprogramm aus starten. Mit dem Klick auf "Weiter" wird die Eingabe geprüft und das nächste Fenster/Dialog aufgerufen, bevor sich das aktuelle schließt.
Hierbei gibt es aber evtl. Probleme mit der Positionierung der Fenster auf dem Bildschirm. Man müsste ja die Pos des aktuellen Fensters abfragen und das neue genau an der Stelle erzeugen, damit der Übergang möglichst flüssig ist. Außerdem ist es ein rießen Stress hierbei die Werte weiter zu reichen.
2. Ansatz:
Ein Window/Dialog für den Wizard, der dann die Verwaltung übernimmt und je nach "Stage" den richtigen Dialog als "untergeordneten Dialog" im eigenen Darstellungsbereich einblendet. Hierbei könnten die Paramater immer zum Vaterfenster geschickt und dort zentral verwaltet. Die "Weiter" und "Zurück"-Buttons könnten auch Teil des Steuerfensters sein werden. Die Eingaben geschehen dann über die austauschbaren Dialoge, die ohne Rahmen, etc angelegt werden.
Aber auch hierbei bekomme ich dann 4 Window-Prozeduren.
3. Ansatz:
Ein Window/Dialog, der alle Elemente enthält und nur die momentan benötigten anzeigt und den Rest unsichtbar schaltet. Hier habe ich ne zentrale Werteverwaltung und nur eine Window-Funktion, die allerdings viele hundert Zeilen lang wird.
Wie ich es auch drehe und wende, alles Mist. Dennoch sieht man solche Wizards selbst bei kleinen Amateur-Programmen als Einrichtungsassistenten, also kann es ja nicht so schwer sein. Vielleicht gibts ja ne Vorgehensweise, die mir bisher nur noch nicht eingefallen ist. Der gute alte Petzold schreibt darüber leider nichts.
Ich möchte das Ganze mit der Win32 API machen und nicht mit MVC. Dafür gibt es eine Vorlage in VC++, das habe ich schon gesehen, aber MVC kann ja jeder.
Würde mich freuen, wenn mir jemand Einblick geben könnte, wie Ihr das so handhabt.
Mfg,
jbJOGI