全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1903
推到 Plurk!
推到 Facebook!

關於偵測按鍵

答題得分者是:herbert2
aresustar
一般會員


發表:9
回覆:8
積分:3
註冊:2008-10-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-06-21 15:19:18 IP:202.39.xxx.xxx 訂閱
請問一下
FormKeyUp這個Event可以偵測我"按了一下"▼鍵
但似乎不能偵測我"一直壓著"▼鍵
按一下又放開與一直壓著,似乎都只會觸發一次FormKeyUp
如果一直壓著要一直觸發,或者隔一秒觸發一次
請問該如何解決?感謝
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-06-21 16:32:00 IP:202.39.xxx.xxx 訂閱
一直按住按鍵沒有放開,則 Key 有 Up 嗎?可否試用 KeyDown 或 KeyPress?
P.D.
版主


發表:571
回覆:3880
積分:3666
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-06-24 13:56:30 IP:59.120.xxx.xxx 未訂閱
你應該這麼做
在 k e y d o w n 偵測按鍵被按下, 然後就使用 do while 進行無限迴圈的運作
但在 do while 中 必須加入一個變數判斷, 如果這個變數就是是否按鍵有被放開, 如果被放開就立即 break 迴圈
而在 k e y u p 上偵測這個變數為 true
這樣應該可以達到你要求的初步功能,
至於這樣的做法會引發的其他問題, 就不在這篇的討論範圍了

註:
在k e y d o w n 中如何讓系統能同時接收到 k e y u p 的訊息(message), 一個很重要的指令要加入到 do while 中
那就是
~~~
Application.ProcessMessage
應該就差不多了

===================引 用 aresustar 文 章===================
請問一下
FormKeyUp這個Event可以偵測我"按了一下"▼鍵
但似乎不能偵測我"一直壓著"▼鍵
按一下又放開與一直壓著,似乎都只會觸發一次FormKeyUp
如果一直壓著要一直觸發,或者隔一秒觸發一次
請問該如何解決?感謝
編輯記錄
P.D. 重新編輯於 2013-06-24 13:58:57, 註解 無‧
ANDY8C
資深會員


發表:114
回覆:582
積分:299
註冊:2006-10-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2013-06-24 14:53:36 IP:60.245.xxx.xxx 未訂閱

k/b 的訊號,若按很快,不容易 100% 同步偵測成功 .....
即使 加上 sleep ,會稍微改善......

我是用 usb 模擬 rs232 介面,設計一個簡單的硬體電路,
偵測 Rs232 訊號,成功率還蠻高的.


===================引 用 P.D. 文 章===================

至於這樣的做法會引發的其他問題, 就不在這篇的討論範圍了


------
---------------------------------------
偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩.
aresustar
一般會員


發表:9
回覆:8
積分:3
註冊:2008-10-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2013-06-24 15:05:55 IP:202.39.xxx.xxx 訂閱
就小弟的情況
原來KeyDown在別的Dll被設成 Key := 0了
所以KeyDown一直不會被觸發,我才會寫到KeyUp
否則的話,寫到KeyDown就可以了
說起來,應該算是小弟擺了一次烏龍
感謝各位大大的指點^^
===================引 用 herbert2 文 章===================
一直按住按鍵沒有放開,則 Key 有 Up 嗎?可否試用 KeyDown 或 KeyPress?
編輯記錄
aresustar 重新編輯於 2013-06-24 15:07:14, 註解 無‧
系統時間:2017-10-23 8:56:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!