Intercepter la touche TAB dans un TEdit

Méthode n°1:

private
Procedure CMDialogKey(Var Msg: TWMKey); message CM_DIALOGKEY;

{...}

Procedure TForm1.CMDialogKey(Var Msg: TWMKEY);
Begin
If (ActiveControl = Edit1) Then
If Msg.Charcode = VK_TAB Then
begin
ShowMessage('Tab');
{ Msg.Charcode := 0; } // to eat the tab key!
end;
inherited;
End;


Méthode n°2:

private
Procedure CMDialogKey(Var Msg: TWMKey); message CM_DIALOGKEY;

{...}

procedure TForm1.CMDialogKey( var Msg: TWMKey);
begin
if (Edit1.Focused) then
Msg.Result := 0
else
inherited;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(Key) = VK_TAB then
begin
ShowMessage('Tab');
Key := #0; // no beep!
end;
end;
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour22/11/2001
VisualisationVu 880 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Objet
Auteur de l'article
Communauté Delphi Communauté Delphi
connecté le 02/11/2011
0 articles dans la section
Contacter l'auteur