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

如何在MDI的主視窗中捉到按鍵的訊息?

尚未結案
deal
一般會員


發表:6
回覆:33
積分:22
註冊:2003-04-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-05 13:00:08 IP:163.29.xxx.xxx 未訂閱
請問各位: 我要如何才能在MDI的主視窗中捉到按鍵的訊息?我試過將KeyPreview設為true,但沒效,有其它方法嗎?謝謝!!
brook
資深會員


發表:57
回覆:323
積分:371
註冊:2002-07-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-05 14:53:18 IP:218.160.xxx.xxx 未訂閱
應該可以攔得到,是不是某些鍵攔不到?哪個鍵呢?
deal
一般會員


發表:6
回覆:33
積分:22
註冊:2003-04-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-05 15:02:32 IP:163.29.xxx.xxx 未訂閱
引言: 應該可以攔得到,是不是某些鍵攔不到?哪個鍵呢?
報告: 任何鍵也攔不到,但只要將FormStyle由fsMDIForm改成fsNormal就可攔到< >,到底是怎回事呢< >,有經驗的大大分享一下吧!!
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-07 09:24:28 IP:203.73.xxx.xxx 未訂閱
引言: 請問各位: 我要如何才能在MDI的主視窗中捉到按鍵的訊息?我試過將KeyPreview設為true,但沒效,有其它方法嗎?謝謝!!
deal 你好: 建議你先看看自己的問題,是否和下列文章討論的問題類似?? http://delphi.ktop.com.tw/topic.php?topic_id=23844 -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
deal
一般會員


發表:6
回覆:33
積分:22
註冊:2003-04-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-12 08:28:12 IP:163.29.xxx.xxx 未訂閱
引言:
引言: 請問各位: 我要如何才能在MDI的主視窗中捉到按鍵的訊息?我試過將KeyPreview設為true,但沒效,有其它方法嗎?謝謝!!
deal 你好: 建議你先看看自己的問題,是否和下列文章討論的問題類似?? http://delphi.ktop.com.tw/topic.php?topic_id=23844 -- Enjoy Researching & Developing --
先謝謝你的答覆,但這篇文章好像和我的需求不同,我是要在MDI應用程式中設HotKey,但不知有什麼方法可以攔到所有鍵盤的訊息呢??
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-12 08:56:05 IP:203.73.xxx.xxx 未訂閱
引言: 先謝謝你的答覆,但這篇文章好像和我的需求不同,我是要在MDI應用程式中設HotKey,但不知有什麼方法可以攔到所有鍵盤的訊息呢??
deal 你好: (1)方便把你目前的做法詳細說明一下嗎?? ( > --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
deal
一般會員


發表:6
回覆:33
積分:22
註冊:2003-04-07

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-12 10:36:10 IP:163.29.xxx.xxx 未訂閱
引言: deal 你好: (1)方便把你目前的做法詳細說明一下嗎?? ( > -- >< face="Verdana, Arial, Helvetica"> 大大: 不好意思,因不知怎麼做,所以沒有所謂的目前做法,當然也就沒有程式碼嘍,只是我找了相關文章,說只要將Form的KeyPreview設為true就可攔到鍵盤的訊息,但我試過了,這個方法只在SDI中有效,在MDI中似乎無效,我也不知是為了什麼 其實我只是想在一個 >
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-12 18:16:59 IP:203.69.xxx.xxx 未訂閱
引言: 大大: 不好意思,因不知怎麼做,所以沒有所謂的目前做法,當然也就沒有程式碼嘍,只是我找了相關文章,說只要將Form的KeyPreview設為true就可攔到鍵盤的訊息,但我試過了,這個方法只在SDI中有效,在MDI中似乎無效,我也不知是為了什麼 其實我只是想在一個 > < face="Verdana, Arial, Helvetica"> deal 你好: 我試過的結果,好像是要先在 Form1 上放元件才可以(例如: Button1) 當執行期的時候,在上述元件取得 focus 的情況之下,配合以下的程式碼
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
   if(Key==VK_F2)
   {
      ShowMessage("Press F2");
   }
}
備註: (1)建議你查詢 BCB Help 中有關 Virtual Key codes 的說明 (2)以及 TWinControl 中的 event procedure 的 KeyDown 說明 (
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
deal
一般會員


發表:6
回覆:33
積分:22
註冊:2003-04-07

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-12 19:49:20 IP:163.29.xxx.xxx 未訂閱
引言: deal 你好: 我試過的結果,好像是要先在 Form1 上放元件才可以(例如: Button1) 當執行期的時候,在 Button1 取得 focus 的情況之下,配合以下的程式碼 void __fastcall TForm1::FormKeyDown(.....) { if(Key==VK_F2) { ShowMessage("Press F2"); } } 備註: 建議你查詢 BCB Help 中有關 Virtual Key codes 的說明 以及 TWinControl 中的 event procedure 的 KeyDown 說明 -- >< face="Verdana, Arial, Helvetica"> 大大你確定是在MDI的主視窗試的嗎< >< >< > 可是我就是試不出來啊,為什麼< >< >< > 再來,你的測試條件好像…不符合我的需求耶,我的MDI主視窗上不一定會有Button,若是一定要有Button的話……不過還是謝謝嘍 發表人 - deal 於 2003/05/12 19:50:55
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-05-12 21:16:37 IP:203.204.xxx.xxx 未訂閱
引言: 請問各位: 我要如何才能在MDI的主視窗中捉到按鍵的訊息?我試過將KeyPreview設為true,但沒效,有其它方法嗎?謝謝!!
deal, 您好 我做個假設,您的需求是不是要做到類似按下[Ctrl F]就跳出搜尋視窗? 如果是的話,只要用TMainMenu元件,然後設定其TMenuItem中的ShortCut屬性即可。 希望沒有誤會您的意思。 ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
deal
一般會員


發表:6
回覆:33
積分:22
註冊:2003-04-07

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-05-13 08:50:02 IP:163.29.xxx.xxx 未訂閱
引言: deal, 您好 我做個假設,您的需求是不是要做到類似按下[Ctrl F]就跳出搜尋視窗? 如果是的話,只要用TMainMenu元件,然後設定其TMenuItem中的ShortCut屬性即可。 希望沒有誤會您的意思。 ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
是,大大,你猜對了一半,我是要做到類似你說的功能,我也知道用TMainMenu可做到,但我的困難點在於我的主視窗沒有TMainMenu,只有ToolBar,有什麼變通的方法嗎??
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-05-13 09:55:57 IP:61.221.xxx.xxx 未訂閱
引言: 是,大大,你猜對了一半,我是要做到類似你說的功能,我也知道用TMainMenu可做到,但我的困難點在於我的主視窗沒有TMainMenu,只有ToolBar,有什麼變通的方法嗎?? < face="Verdana, Arial, Helvetica"> deal, 您好 再請問一下,您的ToolBar上有沒有顯示文字, 如果有的話,可以用以下的方式做, 在ToolButton上的Caption屬性設定, 例如:&File--->就可以按下[Alt F] 如果沒有可能就沒辦法了。 ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
deal
一般會員


發表:6
回覆:33
積分:22
註冊:2003-04-07

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-05-13 11:18:49 IP:163.29.xxx.xxx 未訂閱
引言: deal, 您好 再請問一下,您的ToolBar上有沒有顯示文字, 如果有的話,可以用以下的方式做, 在ToolButton上的Caption屬性設定, 例如:&File--->就可以按下[Alt F] 如果沒有可能就沒辦法了。 ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
大大,真的可以耶,那再請問一下,如何設定F1~f12的功能鍵??
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-05-13 13:06:47 IP:61.221.xxx.xxx 未訂閱
引言:
引言: deal, 您好 再請問一下,您的ToolBar上有沒有顯示文字, 如果有的話,可以用以下的方式做, 在ToolButton上的Caption屬性設定, 例如:&File--->就可以按下[Alt F] 如果沒有可能就沒辦法了。 ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
大大,真的可以耶,那再請問一下,如何設定F1~f12的功能鍵??
deal, 您好 好像只能用上述的方法,無法設定其他的耶!這應該是元件的限制。 另外請教一下,一般用MDIForm的話不是都搭配TMainMenu元件嗎? 僅使用ToolBar可能會有很多限制喔! 像BCB就是TMainMenu再搭配ToolBar使用, 這樣您要設定F1~F12就比較簡單方便了。 以上一點小小建議,或許其他先進前輩有更好的方法,請指教! ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 發表人 - tech_state 於 2003/05/13 13:10:56
deal
一般會員


發表:6
回覆:33
積分:22
註冊:2003-04-07

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-05-13 13:56:10 IP:163.29.xxx.xxx 未訂閱
引言: deal, 您好 好像只能用上述的方法,無法設定其他的耶!這應該是元件的限制。 另外請教一下,一般用MDIForm的話不是都搭配TMainMenu元件嗎? 僅使用ToolBar可能會有很多限制喔! 像BCB就是TMainMenu再搭配ToolBar使用, 這樣您要設定F1~F12就比較簡單方便了。 以上一點小小建議,或許其他先進前輩有更好的方法,請指教! ======================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 發表人 - tech_state 於 2003/05/13 13:10:56
謝謝大大,已經找到解決方法了,用TActionList就可以在沒有TMainMenu的情況下設定shortcut了
系統時間:2024-05-16 6:33:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!