線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1905
推到 Plurk!
推到 Facebook!

如何攔截CTRL+ALT+G之組合按鍵?

尚未結案
aceeric
一般會員


發表:5
回覆:7
積分:2
註冊:2005-06-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-28 14:05:21 IP:139.223.xxx.xxx 未訂閱
請問一下各位大大!該如何攔截CTRL ALT G之組合按鍵來讓我的FORM作動作~~
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-28 14:34:17 IP:61.70.xxx.xxx 未訂閱
您好: 請參考如下: void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if ((Shift.Contains(ssAlt)) && (Shift.Contains(ssCtrl)) && (UpperCase(Key)==71)) Form->ShowModal(); } 記得把Form的KeyPreview設為true
aceeric
一般會員


發表:5
回覆:7
積分:2
註冊:2005-06-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-28 16:38:15 IP:139.223.xxx.xxx 未訂閱
謝謝您!! 不過我是想讓我在FORM上的一個Button->Visible=fasle; 可是我這樣做Form好像得不到我的按鍵的值!!
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-28 16:51:37 IP:61.70.xxx.xxx 未訂閱
請問你把Form的KeyPreview設為true了嗎???????? void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if ((Shift.Contains(ssAlt)) && (Shift.Contains(ssCtrl)) && (UpperCase(Key)==71)) Button1->Visible=false; }
aceeric
一般會員


發表:5
回覆:7
積分:2
註冊:2005-06-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-28 17:21:43 IP:139.223.xxx.xxx 未訂閱
嗯~我設了~ 不過我想可能是因為我的form沒有可以讓鍵盤輸入的field(像是Memo或Edit之類的),所以才無法讓form產生keydown的even~ 我如果建一個text field的話就可以了~ 不過我的程式是想不論focus有沒有在text field都可以使用ctrl-alt-G來隱藏我的button~~我想是不是必須用hook來達成,不過hook可以監視組合鍵嗎??
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-29 00:11:33 IP:219.68.xxx.xxx 未訂閱
唉,你既然是要在無論有無focus都要讓組合鍵作用,而且你也知道hook這東西,就請將主題,及你要問的內容寫清楚,指引解答的人正確的方向,不要浪費答題的人跟你自己的時間..... 關於hook的資料站內已經有很多討論,你看過了嗎? 利用hook搜尋一共有八頁資料,夠你研究了..以下是其中的一篇,先讀過遇到問題再發問吧。 [利用Hook技術實現鍵盤監控] http://delphi.ktop.com.tw/topic.php?topic_id=19936
aceeric
一般會員


發表:5
回覆:7
積分:2
註冊:2005-06-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-29 08:59:14 IP:139.223.xxx.xxx 未訂閱
對不起,可能是我沒寫清楚,不過用hook的方式只是我猜想,因為我主要的目的只是要讓我自己設的組合鍵可以像MainMenu上的shortcut功能一樣,不一定要在text field上才有作用。 發問前我也試過了hook的方式,只是我一直試不出來組合鍵而已,不過我現在問題已經解決了,只是感覺有點偷雞摸狗,我一樣在MainMenu上設一個button讓後把隱藏起來,在設定它的組合鍵,雖然不能隨心所欲的用我想用的按鍵,不過應該是最快的解決方式了吧~~ 最後還是謝謝您的回答~~
系統時間:2024-05-04 10:49:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!