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

如何攔截Delphi內建的快速鍵?

缺席
yeye
一般會員


發表:7
回覆:5
積分:2
註冊:2006-11-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-11-15 10:02:44 IP:59.125.xxx.xxx 訂閱
To. 各位前輩:

小弟最近遇到一個問題,使用的版本是Delphi 5,原本的程式是用PageControl元件,

每個頁面是使用數字鍵1~9,當作快速鍵進行切換,在游標不是停在輸入格(如edit)時,

是可以不用按Alt 鍵,直接按數字鍵就可以切換頁面~~

但是,現在遇到一個狀況,我在DBGrid 裡面,針對每一筆資料,建一個快速鍵,

使其可以快速跳至該筆資料,但依客戶的要求,剛好也是0~9 ....

狀況就發生了...當我按下5的時候,指標會指到第5筆資料,可是頁面也會跳到第5個,

曾試著在Form和DBGrid的KeyDown事件,試著去改變Key的值也沒用,

在站上打快速鍵查詢,似乎也沒有與我相類似的需求,

只好上來求援,不曉得是否有哪位先進曾遇過這樣子的問題?
cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-01-24 17:00:20 IP:211.75.xxx.xxx 訂閱
您好,您攔錯了,要在 OnKeyPress 裡面攔,Key := #0; 就可以了。

沒有 Ascii 對應的鍵要,如 F1,在 OnKeyDown 攔
有 Ascii 對應的鍵要在 OnKeyPress

之前我試過在 OnKeyDown 攔,後來發現即使在 OnKeyDown 攔掉,OnKeyPress 一樣會產生,所以要在最後一關攔。
系統時間:2024-04-25 7:12:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!