Application OnActivate
-
Ich versuche zu zählen wie oft der Anwender von anderen Applications
zur eigenen wechselt.
Die Zähler meiner beiden Form1 x1,x2 funktionieren beim Wechseln der Forms untereinander, nicht aber beim Wechseln von anderen Anwendungen.
Ich versuche das zu erreichen mit
Application->OnActivate=Form1->OnActivate;
Wie macht man das richtig?Hier mein Müll:
//Form1
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->OnActivate=Form1->OnActivate;
}void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
}void __fastcall TForm1::FormActivate(TObject *Sender)
{
x1++;
Label1->Caption=x1;
}//Form2
void __fastcall TForm2::FormActivate(TObject *Sender)
{
x2++;
Label1->Caption=x2;
}
-
Hallo,
folgendes:
int counter = 0; //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { Application->OnActivate = Form1->OnActivate; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormActivate(TObject *Sender) { counter++; Label1->Caption = IntToStr(counter); } //---------------------------------------------------------------------------
funktioniert zumindest bei mir ganz prima!
LG, Micha
-
-
Danke, das ist ja komisch. Bei mir klappt das nicht. Der Counter bleibt auf 1 stehen. Ich verwende C++ Builder 6.
An was könnte das liegen? Einstellungen?
-
Klappt auch im BCB 6 einwandfrei, wenn man die von audacia empfohlene Methode verwendet.
-
TApplicationEvents::OnActivate
Jo, es passt. Vielen Dank!
Tom1