TStatusBar - OnChange



  • Hallo,

    meine Applikation schreibt von verschiedenen Orten auf eine globale StatusBar.
    Ich möchte jetzt, dass der Text dort, nach 2 Sekunden wieder verschwindet wenn er nicht wechslet, d.h. ich möchte etwas das etwa so aussieht machen:

    void __fastcall TMain_Frm::StatusBar1Change(TObject *Sender)
    {
    Sleep(2000);
    StatusBar1->SimpleText="";
    }
    

    Das Problem ist nur, TStatusBar hat kein Event OnChange. Wie kann ich das ergänzen oder hat jemand einen anderen Lösungsansatz?
    Danke!



  • Das einfachste wäre wohl, aus der globalen Struktur eine private Struktur der Form zum machen, deren Daten über eine public Funktion der Form geändert werden. Somit hast Du immer nur eine Stelle, an der die Daten für die StatusBar geändert werden. Pack zusätzlich einen TTimer auf das Form mit Intervall 2000 ms, Enabled = false. Am Ende der public Funktion setzt Du den Timer auf Enabled = true. In der Timer-Funktion mußt Du dann nur den Inhalt der StatusBar löschen und den Timer deaktivieren (Enabled = false).


Anmelden zum Antworten