Changement de edit1.Font.color avec tabulation

Résolu
Signaler
Messages postés
57
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
10 février 2009
-
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
-
Bonjours à tous. j'ai réalisé un programme, et je touche à la "fin" avec un f minuscule.

il me reste quelques modifications basiques mettre en place. tel que celle qui me pose actuellement problème.

J'ai dans mon programme, Grisé les instructions des Tedit  pour guider l'utilisateur. Et j'y ai mis des trucs Bateau pour changer la couleur  du texte quand l'utilisateur clic dessus. (evenement onClick : edit1.font.color := ClDefault)
mais ça ne fonctionne que quand on clic dessus. et il est vrai que certaines personne utilise beaucoup La touche Tabulation pour passer d'une zone à l'autre. et dans le cas de la Tabulation, la couleur reste grise.

J'ai bien pensé à recopier ma petit fonction sur le OnEditing du Tedit, mais ce n'est pas vraiment ce que je veux.

si quelqu'un savais comment je peu faire pour que quand je Tabule le Font. color change. en fait, le nom de l'évènement associé.

Merci par avance

Hainlesgens

3 réponses

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
procedure TForm1.EditsEnter(Sender: TObject);
begin
  (Sender as TEdit).Font.Color := clRed;
end;

procedure TForm1.EditsExit(Sender: TObject);
begin
  (Sender as TEdit).Font.Color := clGray;
end;

Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
Salut,

Et encore plus ergonomique car touche 'ENTER' = touche 'TAB' !  



Le truc de f0xi, plus la propriété KeyPreview de la fiche sur True, et dans l'événement OnKeyPress de la fiche :


procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
  begin
  if Key = #13 then
  begin
    Key := #0;
    PostMessage(handle, WM_NEXTDLGCTL, 0, 0);
  end;
end;
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Ou alors :




TEdit(Sender).Font.Color := clBlue;



Je ne sais laquelle est la mieux ? (Sender as TEdit) ou TEdit(Sender) ?

Cordialement, Bacterius !