2016-02-26 68 views
-1

我嘗試以下方法,攻克了「Esc」鍵:捕獲按免費pascal鍵?

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; 

但被中斷的地方點進行調試,並從來沒有被調用的方法

我感謝所有幫助。

+2

這對我的作品。你的目標系統是什麼?它只是一些更大的應用程序的一部分,或者只是這個簡單的例子? – TSr

+1

適用於我的簡單測試應用程序。提供更多信息:目標操作系統,FPC/Lazarus版本,您的窗體上是否有任何其他代碼/控件... – Abelisto

+0

該方法必須連接到窗體的onkeypress事件?只是宣佈這是不夠的。 –

回答

-1

嘗試事件UTFKeyPress代替:

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