Wie geht Ihr bei "Unterseiten" eines Programmes vo

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Wie geht Ihr bei "Unterseiten" eines Programmes vo

Beitrag von pvmichael »

Hallo!

ich möchte gerne von Euch wissen, wie Ihr damit umgeht, wenn Ihr ein Programm habt, dass "Unterseiten" z.b. für Einstellungen usw. hat.

Ich selbst habe das in einem aktuellen Programm so gelöst, dass ich bei Programmstart zwei Fenster erzeuge. Das eine ist das Hauptfenster, in dem der User arbeitet. Das zweite ist für die Programmeinstellungen gedacht. Dieses zweite Fenster wird mit dem Flag #PB_Window_Invisible erzeugt, damit man es anfangs nicht sieht. Wenn im Menü den Punkt Konfiguration auswählt, dann mache ich das zweite Fenster mit dem HideWindow Befehl wieder sichtbar. (Dabei fällt mir auf, dass ich beobachten kann, wie es sich komplett aufbaut!? 1600MHz!)

Gibt es für diesen Zweck bessere Lösungen?

Danke und Grüsse

Michael
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

Deine Lösung ist somit die schnellste würde ich sagen, nur um Speicher
zu sparen :lol: erstelle ich sie meist direkt und lösche sie dann wieder,
nach dem Schließen erst natürlich.
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag von nicolaus »

Du kannst das doch einfach so lösen das du dir eine Procedure anlegst und in dieser Procedure dein fenster erstellst und dann bei OpenWindow() als letzten parameter (nach dem string für den titel des fensters) gibst du mit windowid(ID des haupfensters) an zu welchem Hauptfenster es gehört.
Da baust du dann noch nen Button für Close ein.
Nun erstellst du einen menupunkt für das fenster und wenn darauf geklickt wird rufst du die procedure auf und so wird das fenster dargestellt und wenn du auf close klickst rufst du halt CloseWindow(ID des einstellungsfensters) auf und so wird das fenster geschlossen.
Damit ast du nich immer so viel speicher belegt.
Antworten