全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:960
推到 Plurk!
推到 Facebook!

如何判断键盘状态,例如Alt与Ctrl是否被按下?

尚未結案
lovelypp
初階會員


發表:122
回覆:111
積分:46
註冊:2003-02-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-26 21:51:56 IP:218.2.xxx.xxx 未訂閱
请教
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-26 23:58:45 IP:218.18.xxx.xxx 未訂閱
Hi,lovelypp,您好! 如果您想在自己的程式中判斷是否有Alt或Ctrl按下,請看看下面的code對您是否有所幫助:

......
  private
    procedure WMGetDlgCode(var msgIn: TWMGetDlgCode); message WM_GETDLGCODE;
......
procedure TForm1.WMGetDlgCode;
begin
  inherited;
  msgIn.Result := msgIn.Result or DLGC_WANTTAB;
end;    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_CONTROL then
   ShowMessage('Ctrl鍵被按下');
end;
PS: Alt的Virtual key codes是vk_menu哦! 如果您是要監視全局的話,就請使用鍵盤鈎子函數(在站內使用hook,RegisterHotKey等關鍵字可以搜索到許多相關內容) < class="code"> =============== 人生在勤,不索何获? ===============
------
人生在勤,不索何获?
系統時間:2024-06-24 21:22:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!