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

KeyDown 事件無法觸發!!?

尚未結案
LiangJimmy
一般會員


發表:4
回覆:8
積分:2
註冊:2004-10-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-20 17:58:45 IP:203.69.xxx.xxx 未訂閱
我寫了兩個Form, 動作如下: Form1按下F2鍵呼叫出Form2, Form2按下F10鍵關閉, 關閉後回到Form1後他的KeyDown事件卻無法觸發, Form1跟Form2的KeyPreview都有設成True, 我發現回到Form1後必須先按下F10,然後再按下F2後, 才會觸發Form1的KeyDown事件! 請問各位高手該如何解決!!
yaoyao01tw
一般會員


發表:28
回覆:17
積分:9
註冊:2003-01-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-20 18:33:07 IP:61.58.xxx.xxx 未訂閱
不知道您由Form1呼叫Form2 時是否採用ShowModel的方式 因為這個牽涉到視窗控制Focus的移轉,您可能要在Try一下!
LiangJimmy
一般會員


發表:4
回覆:8
積分:2
註冊:2004-10-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-21 09:31:49 IP:61.222.xxx.xxx 未訂閱
Form1 呼叫 Form2 時, 我是用 Form2.ShowModal 的方式
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-21 11:10:58 IP:61.59.xxx.xxx 未訂閱
引言: 我寫了兩個Form, 動作如下: Form1按下F2鍵呼叫出Form2, Form2按下F10鍵關閉, 關閉後回到Form1後他的KeyDown事件卻無法觸發, Form1跟Form2的KeyPreview都有設成True, 我發現回到Form1後必須先按下F10,然後再按下F2後, 才會觸發Form1的KeyDown事件! 請問各位高手該如何解決!!
var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if(KEY=VK_F2)then Form2.ShowModal; end; end. var Form2: TForm2; implementation uses Unit1; {$R *.dfm} procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if(KEY=VK_F10)then Form2.Close; Form2.Close; end; end. //TForm1用FormKeyUp //TForm2用FormKeyDown 試試看.
------
Xax
LiangJimmy
一般會員


發表:4
回覆:8
積分:2
註冊:2004-10-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-21 16:48:00 IP:61.222.xxx.xxx 未訂閱
我試了! 不行耶! 還是沒辦法很順的動作!
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-21 18:28:13 IP:219.134.xxx.xxx 未訂閱
試一下在f10關閉form2的時候,加一行setActiveWindow(form1.handle)上去 許下第一千零一個願望 有一天幸福會聽我的話
lijenyun
一般會員


發表:3
回覆:19
積分:9
註冊:2003-06-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-10-23 03:37:09 IP:59.104.xxx.xxx 未訂閱
if Key = VK_F10 then begin Close; Key := 0; end; Try it
LiangJimmy
一般會員


發表:4
回覆:8
積分:2
註冊:2004-10-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-10-24 10:06:16 IP:203.69.xxx.xxx 未訂閱
感謝 lijenyun 您的幫忙, 下了 Key := 0 就解決這個問題了, 請問 Key := 0 是什麼意思啊? 為什麼要下 Key := 0 ?
lijenyun
一般會員


發表:3
回覆:19
積分:9
註冊:2003-06-22

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-10-24 16:47:28 IP:59.104.xxx.xxx 未訂閱
Key := 0 means suppress further processing of the key press message, don't know why it works though
系統時間:2024-05-07 8:51:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!