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

如何得知鍵盤的虛擬碼代號

答題得分者是:ccchen
stonys
初階會員


發表:64
回覆:111
積分:38
註冊:2002-09-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-10-22 01:28:40 IP:61.59.xxx.xxx 未訂閱
請問各位前輩... 如果要得知鍵盤的虛擬碼... 應該用何指令去取得呢? 附帶一提...其實我會問這個問題... 是由於找了各大參考文件... 對於delete的虛擬key值為46.... 但是實做結果46卻是右方數字區的那個del按鍵... 才會有此一問的... 希望若有前輩知道delete的key值能告知一下... 並教導小弟如何去取得鍵盤個按鍵的key 謝謝....
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-10-22 07:17:47 IP:202.39.xxx.xxx 未訂閱
在 OnKeyDown Event 下 用 ShowMessage(IntToStr(Key)); 的方式來得知 這樣可以嗎? 另外, 小弟試的結果 無論是按 Insert 鍵下方的 Delete 鍵 或是按數字鍵那邊的 Delete 鍵 得到的值都是 46 說。 如果數字鍵的 Delete 鍵其功能為 . 時 其值為 110。    -- Everything I say is a lie. 發表人 - hagar 於 2002/10/22 07:19:05
stonys
初階會員


發表:64
回覆:111
積分:38
註冊:2002-09-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-10-22 08:02:23 IP:61.59.xxx.xxx 未訂閱
感謝告知... 等下就來試試看... 但若果真如兄所言... 為何在我程式中的偵測key=46的動作... 卻只有在按右邊數字區有效呢? 請有經驗的前輩說明一下好嗎?
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-10-22 08:20:02 IP:210.202.xxx.xxx 未訂閱
引言: 感謝告知... 等下就來試試看... 但若果真如兄所言... 為何在我程式中的偵測key=46的動作... 卻只有在按右邊數字區有效呢? 請有經驗的前輩說明一下好嗎?
當NumLock亮時,Del鍵就會變成. 代號是110 當NumLock滅時,就是46 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-10-22 08:42:28 IP:61.219.xxx.xxx 未訂閱
對於delete的虛擬key值為46.... 但是實做結果46卻是右方數字區的那個del按鍵... 你是否用了keypress去做測試, 且在numlock狀態才會有此結果 當NumLock亮時 KeyPress46 KeyDown110 當NumLock滅時,Keypress(無) KeyDown46 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處理
00156
高階會員


發表:45
回覆:195
積分:112
註冊:2002-06-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-10-22 16:46:26 IP:61.56.xxx.xxx 未訂閱
另外,在HELP裡搜尋Virtual Key Codes,可以找到虛擬鍵值的常數
stonys
初階會員


發表:64
回覆:111
積分:38
註冊:2002-09-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-10-22 17:51:43 IP:61.59.xxx.xxx 未訂閱
謝謝各位的指教... 小弟完全懂了~~~~ 原來在KEYDOWN 和 KEYPRESS的事件中差異那麼多.. 高手就是高手~~~一點就知道那邊有錯.... 感激感激.... 另外也讓小弟學到一點 在KEYDWON中的KEY後面不需加# 而 在KEYPRESS中的KEY值後面要加# 不知道是否有誤呢?
系統時間:2024-04-30 8:10:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!