Minimize (Tray)



  • Hallo,
    Wenn man eine Form (NICHT hauptformular) minimiert (oben in der leiste),
    dann wird es nicht in der Taskleiste sondern dadrüber abgelegt (ich meine jetzt im laufenden programm ohne bcb)

    Wenn man aber das hauptformular minimiert (und eine TrayIcon Komponente drauf hat), wird es auch im Tray abgelegt nicht über der Taskleiste.

    Muss/kann man irgendetwas einstellen damit auch ein NICHT-Hauptformular im Tray abgelegt wird?

    Problem: Mein Hauptformular ist ein Ladefenster das nur die ersten paar Sekunden nach Programmstart benutzt wird.

    Danke



  • Hallo

    siehe BCB-FAQ.

    Übrigens sind Tasleiste und Systray nicht dasselbe 😉

    bis bald
    akari



  • Klukki schrieb:

    Muss/kann man irgendetwas einstellen damit auch ein NICHT-Hauptformular im Tray abgelegt wird?

    Siehe FAQ, Abschnitt 'Forms'.

    Problem: Mein Hauptformular ist ein Ladefenster das nur die ersten paar Sekunden nach Programmstart benutzt wird.

    Hört sich nach schlechtem Programmdesign an, wirf mal einen Blick auf die SplashScreen-Beispiele in der FAQ.



  • Ich weiß ich kann mich schwer ausdrücken 🙂
    Ich meine: Wenn man "minimieren" drückt soll das Programm ins Tray gelegt werden auch wenn das Fenster bei dem man Minimieren gedrückt hat nicht das Hauptformular ist.



  • Hallo

    Auch zum Thema Systray gibts einen Eintrag in der FAQ.

    bis bald
    akari



  • Wie gesagt, schlechtes Programmdesign. Das Hauptformular sollte auch das Hauptfenster der Anwendung sein.



  • Also ich habs jetzt mal so gemacht wie du es gesagt hast Jansen und funktioniert auch...

    Danke für deine Bemühungen akari 🙂



  • Ups ^^
    Und danke Jansen natürlich





  • Na ich es selber nicht kannt........
    soeben eingebaut........ hier der Code (BCB5)

    Unit.h

    public:     // Benutzerdeklarationen
        __fastcall TMouseHookForm(TComponent* Owner);
        void __fastcall ONMINIMIZE(TObject *Sender); 
        void __fastcall ONRESTORE(TObject *Sender);
    

    Unit.cpp

    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
       Application->OnMinimize = ONMINIMIZE;
       Application->OnRestore = ONRESTORE;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::ONMINIMIZE(TObject *Sender)
    {
     TrayIcon1->Minimize();
     TrayIcon1->Visible = true;
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::ONRESTORE(TObject *Sender)
    {
     TrayIcon1->Visible = false;
    }
    //---------------------------------------------------------------------------
    

Anmelden zum Antworten