Changement de edit1.Font.color avec tabulation

Résolu
hainlesgens Messages postés 57 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 10 février 2009 - 27 janv. 2009 à 15:13
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 28 janv. 2009 à 18:09
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

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 37
27 janv. 2009 à 17:17
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;

3
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
27 janv. 2009 à 18:03
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;
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 9
28 janv. 2009 à 18:09
Ou alors :




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



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

Cordialement, Bacterius !
0
Rejoignez-nous