2016-02-26 2 views
-1

J'essayez ce qui suit, pour capturer la touche « Echap »:Touche de saisie enfoncée en pascal libre?

procedure Tform1.FormCreate(Sender: TObject); 
begin 
    KeyPreview := True; 
end;  

procedure TForm1.FormKeyPress(Sender: TObject; var Key: char); 
begin 
    if Key = #27 then 
    begin 
     btnCloseClick(Sender); 
    end; 
end; 

Mais Interrupted lieu un point de débogage, et n'a jamais invoqué la méthode

Je vous remercie de toute aide.

+2

Il fonctionne pour moi. Quel est votre système cible? Ce n'est qu'une partie d'une application plus grande ou juste un exemple simple? – TSr

+1

Fonctionne correctement sur l'application de test simple pour moi. Fournir plus d'informations: système d'exploitation cible, versions de FPC/Lazarus, existe-t-il d'autres codes/contrôles sur votre formulaire ... – Abelisto

+0

La méthode doit être connectée à l'événement onkeypress du formulaire? Juste déclarer que ce n'est pas suffisant. –

Répondre

-1

essayer le UTFKeyPress d'événement au lieu:

procedure TForm1.FormUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char); 
begin 
    if UTF8Key = #27 then 
    btnCloseClick(Sender); 
end;