Par fiche active, il faut comprendre la fiche active au sein de l'application !
Si tu cliques ailleurs, sur le bureau Windows par exemple, alors ce n'est pas ce qu'il te faut.
Tu dois utiliser l'objet Application.
Dans ce cas, dans ta fiche principale, tu déclares deux méthodes comme ceci :
private
{ Déclarations privées }
procedure AppActivate(Sender: TObject);
procedure AppDeactivate(Sender: TObject);
Dans ces deux méthodes, tu mets le code que tu veux :
procedure TForm1.AppActivate(Sender: TObject);
begin
Label1.Caption := 'Application active';
end ;
procedure TForm1.AppDeactivate(Sender: TObject);
begin
Label1.Caption : = 'Application désactivée';
end;
Enfin, lorsque la fiche est créée, tu affectes ces méthodes aux évènements de l'application :
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnActivate := AppActivate;
Application.OnDeactivate := AppDeactivate;
end ;
Selon ta version de Delphi, tu peux aussi utiliser le composant TApplicationEvents (onglet Supplément, D6+) si cela te semble plus facile et surcharger les méthodes OnActivate et OnDeActivate.
<HR color =#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.