【KeyPress】不知是否有函數表可參考之 |
答題得分者是:RaynorPao
|
uuujjj
一般會員 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 各位高手大大們好~^^ 想撰寫一些熱鍵的程式…… 但是不大知道keycode在delphi和vb有沒有什麼差別…?? 我目前所知道的是… enter → #13 而ctrl、shift…之類的都是利用keydown的內鍵傳回值 但是…Esc、或是f1、f2…那些呢???? 不好意思…麻煩前輩們指教…^^"uuujjj 你好: 請參考以下的連結
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 各位高手大大們好~^^ 想撰寫一些熱鍵的程式…… 但是不大知道keycode在delphi和vb有沒有什麼差別…?? 我目前所知道的是… enter → #13 而ctrl、shift…之類的都是利用keydown的內鍵傳回值 但是…Esc、或是f1、f2…那些呢???? 不好意思…麻煩前輩們指教…^^"您可以參考這篇文章: http://delphi.ktop.com.tw/topic.php?topic_id=22224 其中有一篇是這麼講:(引述ccchen大大) KeyPress與KeyDown之意義不同, 當我們輸入一個鍵時, 先有WM_KEYDOWN,WM_KEYUP. 之後系統經過轉換在送出WM_CHAR. KEYPRESS相當於WM_CHAR之結果, 故已被轉為CHAR 例: 不論輸入大小寫A, keyDown中均是65, 必須配合 shiftstate才知大小寫, KeyPress則可正確得到 所有function key由於無法轉成char故在keypress中均無效 故 1. 須取得user輸入之字元->在keypress處理 2. 功能鍵->在keydown或keyup處理
------
~小弟淺見,參考看看~ |
QOO10
初階會員 發表:59 回覆:89 積分:29 註冊:2002-12-25 發送簡訊給我 |
引言: 各位高手大大們好~^^ 想撰寫一些熱鍵的程式…… 但是不大知道keycode在delphi和vb有沒有什麼差別…?? 我目前所知道的是… enter → #13 而ctrl、shift…之類的都是利用keydown的內鍵傳回值 但是…Esc、或是f1、f2…那些呢???? 不好意思…麻煩前輩們指教…^^" 發表人 - uuujjj 於 2003/02/27 22:11:44下列兩段攘您參考希望對您有幫助 procedure FORM1.FormKeyPress(Sender: TObject; var Key: Char); begin if (key=#13) then begin if not (activecontrol is TDBGRID) then begin KEY:=#0; PerForm(WM_NEXTDLGCTL,0,0); end; end; end; procedure FORM1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin inherited; if shift = [ssCtrl] then begin case key of VK_F4 :sbCLIHIST.Click; VK_F9 :sbPARHIST.Click; vk_f10:sbCF10.click; end; end else begin case key of vk_f8 :SpeedButton2.Click; vk_f9 :SpeedButton3.Click; vk_f11:SpeedButton4.Click; end; END; end; |
Rain
資深會員 發表:31 回覆:236 積分:268 註冊:2003-02-17 發送簡訊給我 |
|
uuujjj
一般會員 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
引言: uuujjj 你好: 請參考以下的連結 >>< face="Verdana, Arial, Helvetica"> 不好意思…對於這個連結有很多資源可以看到… 但是,恕我…^^"" 太嫩了點… 我不知道這些keycode要如何使用… 我下面是我依照那keycode表撰寫的程式… 但是…><""" 無法使用… 我不知道是哪裡錯了~嗚… procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key =vk_end then begin close; end; end; 發表人 - uuujjj 於 2003/02/28 21:03:03 |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 不好意思…對於這個連結有很多資源可以看到… 但是,恕我…^^"" 太嫩了點… 我不知道這些keycode要如何使用… 我下面是我依照那keycode表撰寫的程式… 但是…><""" 無法使用… 我不知道是哪裡錯了~嗚… procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key =vk_end then begin close; end; end;uuujjj 你好: 請善用本網站的搜尋功能,看看別人寫的範例吧
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
uuujjj
一般會員 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
引言: 下列兩段攘您參考希望對您有幫助 procedure FORM1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin inherited; if shift = [ssCtrl] then begin case key of VK_F4 :sbCLIHIST.Click; VK_F9 :sbPARHIST.Click; vk_f10:sbCF10.click; end; end else begin case key of vk_f8 :SpeedButton2.Click; vk_f9 :SpeedButton3.Click; vk_f11:SpeedButton4.Click; end; END; end;謝謝QOO10前輩的指導… 但我想請教一下…^^" vk_f8:SpeedButton2.Click; 這是不是代表按下「F8」,即啟動如按下SpeedButton2的事件??? 但是,我現在用key = vk_f8 沒有任何反應… 難不成…vk_f8這些函數只能對應已寫好的事件程序嗎??? 還是說,我有哪裡沒設定… 因而使我的熱鍵再怎麼按也沒有反應…><||| 因為我用shift傳回值可以順利執行, 但…key值的… 如果用RaynorPao前輩所提供的函數表都沒辦法使用…@@||| 嗚……::: >< ::: 不好意思…太嫩了… 再請教大家一下~ |
uuujjj
一般會員 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
|
uuujjj
一般會員 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
ㄚ呀呀……ㄚ呀呀…
RaynorPao前輩…謝謝您點醒我…^0^
我剛好瞄到一行…小小的一行…
但,卻是我的重點…
呵…
那就是:(下二行引用hagar大大的話)
QOO10 原本的就可以了
應該是 TForm.KeyPreview 的屬性沒有設有 True 的關係吧! 這是個關鍵哪…
非常感恩~~^ ^
解開了…就好高興…謝謝您~
這樣一來,就撰寫出下面ok的程式了…
謝謝~
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
VK_F8: Form1.Close ;
end;
end; 另外的也可以:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_f8 then
begin
Form1.Close ;
end;
end; 太開心囉…謝謝~ 發表人 - uuujjj 於 2003/02/28 21:56:25
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |