Form2 nur bei aktiver Form1



  • Hallo.

    Ich habe ein main Fenster und ein sub Fenster.
    Das sub Fenster soll nur bei aktiviertem main Fenster sichtbar sein.
    Gelöst habe ich dies über Application->OnDeactivate/OnActivate.

    Mein Problem ist jetzt, das wenn ich aus der SysTray zum Beispiel meinen E-Mail Client (TheBat) per einfach Click aufrufe, plötzlich Form2 wieder auftaucht, obwohl ja die Anwendung keinen Fokus besitzt. Störend ist das dahingehend, da Form2 "AlwaysOnTop" ist.

    Inwiefern ist dies ein Bug und wie löst man das am Besten?

    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    Application->OnDeactivate = deaktiviert;
        Application->OnActivate = aktivieren;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::deaktiviert(TObject *Sender)
    {
    	Form2->Hide();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::aktivieren(TObject *Sender)
    {
    	Form2->Show();
    }
    


  • Hallo

    vielleicht hilft es ja, wenn du vor dem Anzeigen des Subforms noch Application->Active überprüfst.

    bis bald
    akari



  • Klappt super. Danke schön! 👍


Anmelden zum Antworten