SplashForm aktivieren/deaktivieren



  • Hallo Zusammen,

    wie man eine SplashForm erzeugt ist oft behandelt worden z.B.:

    http://www.c-plusplus.net/forum/viewtopic.php?t=12168&highlight=splash
    bzw.
    http://www.bytesandmore.de/rad/cpp/snipp/sc06013.php

    Allerdings verwende ich dazu

    SplashForm=new TSplashForm(Application);
    

    Der Benutzer soll selbst festlegen können ob der Splashscreen beim nächsten Programmstart angezeigt werden soll oder nicht. Diese Information kann man ja in eine Datei speichern, welche beim Programmstart ausgelesen wird.

    Fragen:
    1. An welcher Stelle genau muss ich diese Datei auslesen (es wird ja sofort der Splashscreen angezeigt)? Etwa in der Project.cpp?

    2. Wie kann ich den Splashscreen unterbinden bzw. zulassen?

    Schonmal Danke!

    Gruß



  • gert_mue schrieb:

    Der Benutzer soll selbst festlegen können ob der Splashscreen beim nächsten Programmstart angezeigt werden soll oder nicht.

    Mach einen Eintrag in der Registry-Datenbank.



  • In dem von dir verlinkten Beitrag ist doch explizit eine NOSPLASH-Option eingebaut, wird auch im Text erwähnt.



  • Hallo Jansen,

    aber ich weis nicht wie ich die NOSPLASH-Option verwenden kann.
    In der Zeile wird geprüft ob ...NOSPLASH = 0 ist aber wie stelle ich es auf 1?



  • hi,

    na du musst einfach nur die IF abfrage ändern von

    if (AnsiString(GetCommandLine()).UpperCase().Pos("/NOSPLASH")==0)
    {
        SplashForm=new TSplashForm(static_cast<void *> (NULL));
        SplashForm->Show();
        Application->ProcessMessages();
    }
    

    in

    bool ShowSplash;
    TIniFile* Ini = new TIniFile("C:\\Test.ini");
    ShowSplash = Ini->ReadBool("Optionen", "SplashScreen", true);
    delete Ini;
    
    if(ShowSplash == true)
    {
    	SplashForm=new TSplashForm(static_cast<void *> (NULL));
    	SplashForm->Show();
    	Application->ProcessMessages();
    }
    

    und in der selben Datei die TIni Funktionen Includen.
    #include "Inifiles.hpp"

    also das kannst du dann so machen wenn Du es über eine *.ini File realisieren willst.



  • gert_mue schrieb:

    In der Zeile wird geprüft ob ...NOSPLASH = 0 ist aber wie stelle ich es auf 1?

    Indem du das Programm in der Commandline (oder über eine Verknüpfung) mit dem
    Parameter /NOSPLASH startest...



  • Hallo,

    danke, das was Tom geschrieben hat klingt natürlich logisch und werde ich heute mal testen.

    Noch eine Frage:

    Die if-Anweisung hatte ich mal in der FormMain.cpp bei OnCreate ganz am Anfang und da funktionierte der Splashscreen auch. Warum sollte man die if-Anweisung unbedingt in die Project.cpp schreiben?



  • Hallo

    Mach dir doch mal Gedanken darüber, was denn die if-Bedingung macht, dann weißt du auch wann man sie braucht und wann nicht.

    bis bald
    akari


Anmelden zum Antworten