Problem beim Fenster anzeigen



  • Problem Fensteranzeige:

    Ich habe ein Hauptformular mit meinem Gnazen Programmzeugs drin und sollte jetzt noch
    so ne Art Diashow einbauen. Heist wenn das Programm gestartet wird, erscheint dann ein
    zweites Formular über dem MainFormular (Modal) und in diesem läuft eine art kleine
    Demonstration ab. Dieses Formular ist bereits fertig nun stellt sich mir nur die Frage
    wann ich es anzeige.

    1. Konstruktor: geht nicht, da MainFormular da noch nicht angezeigt wird und dieses soll im Hintergrund sichtbar sein
    2. OnCreate: geht nicht, da Borland sagt niemals Konstruktor und OnCreate zusammen benutzen
    3. nach Applikation->Initialize(); : geht nicht, wie 1.
    4. nach Applikation->Run(); : geht auch nicht, wird das Formular gar nicht mehr angezeigt

    Was nu?

    Edit:
    Beitrag auf ein Thema reduziert.

    [ Dieser Beitrag wurde am 13.01.2003 um 17:14 Uhr von Jansen editiert. ]



  • Bitte immer nur eine Frage/Thema pro Thread!



  • Wie wäre es beim OnShow()-Ereignis deines Hauptformulars??



  • OnShow wird aber doch immer beim anzeigen ausgelößt, ich möchte es aber nur beim Programmstart, naja fürn Notfall könnte ich mir da ne Variable zur Abfrage machen.

    @Jansen

    Kritik nehm ich mir gerne an, nur das letzte mal als ich 3 Fragen hatte bin ich hier im Forum kritisiert wurden, weil ich 3 Threads aufgemacht habe (ich glaube damals von (WebFritzi)



  • a) glaube ich nicht, zumindest nicht bei so grundverschiedenen Themen wie hier
    b) selbst wenn, WebFritzi ist kein Moderator 😉



  • Ok, zum Thema zurück.

    OnShow geht auch nicht, da da das Hauptformular auch noch nicht vollständig angezeigt wird. Laut Hilfe ist die Reihenfolge:

    OnCreate
    OnShow
    ...
    OnPaint

    Allerdings sind im OnPaint die Steuerelemente auch noch nicht gezeichnet, welche aber bei mir schon gezeichnet sein sollten. Ich bräuchte also einen Einsprungpunkt nach OnPaint() aber danach kommt kein Ereignis mehr, oder?

    Vielleicht hat ja noch jemand ne gute Idee.



  • Original erstellt von Bigwill:
    OnShow wird aber doch immer beim anzeigen ausgelößt

    OnShow wird dann ausgelöst, wenn das Formular mit "Show()" angezeigt wird.
    Aber ich nehme mal an, dass du dein Haupformular am Anfang erzeugen lässt und nicht mehr während des Programmablaufs schliessen tust.
    Dann nämlich wird OnShow nur zu Beginn aufgerufen.
    (Wenn du dir mal das Beispiel zur Erstellung eines Splash-Screens anschaust,
    dann wirst du sehen, dass dies dort genau so gemacht wird).

    Es ist ein Missverständnis, wenn du meinst, dass OnShow auch dann aufgerufen wird, wenn das Fenster wieder angezeigt wird, wenn es minimiert oder im Hintergrund war.



  • Benutz doch mal die Suchfunktion, das Thema Splashscreen wurde auch schon etliche Male diskutiert.


Anmelden zum Antworten