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

如何实现用回车替代Tab?

尚未結案
wu_51_yi
一般會員


發表:8
回覆:5
積分:2
註冊:2004-12-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-27 17:44:46 IP:61.154.xxx.xxx 未訂閱
在DELPHI7中如何实现用回车替代Tab?我用GOOGLE搜索一下,都是用如下代码: 需要用回车键代替TAB键下移一个控件时,把KeyPress设为True,加入下列代码拦截击键: Procedure TForm1.FormKeyPress(Sender:Tobject;Var Key:Char); Begin if key=#13 then { 判断是按执行键} if not (ActiveControl is TDbgrid) Then Begin { 不是在TDbgrid控件内} key:=#0; perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件} end else if (ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内} begin With TDbgrid(ActiveControl) Do if Selectedindex Selectedindex:=Selectedindex 1{ 移动到下一字段} else Selectedindex:=0; end; End; 首先我连keypress都找不到在哪里? 其次运行时第一个if key=#13语句就出错,好象提示是不合法字符,请问如何实现这种功能?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-27 18:40:46 IP:202.62.xxx.xxx 未訂閱
您好﹗    應沒有問題吧﹐OnKeyPress事件在Form中和DBGrid元件中都有﹐就您的問題來講﹐因為是需要Form接收OnKeyPress事件中指令﹐故需先將Form的KeyPreview屬性設為True﹐作用是讓Form接收KeyPress的触發﹒        ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-27 20:20:31 IP:61.31.xxx.xxx 未訂閱
在 Form1 的 KeyPreview 屬性設為 True。 在 Form1.OnKeyPress 事件處理。
wu_51_yi
一般會員


發表:8
回覆:5
積分:2
註冊:2004-12-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-28 09:24:59 IP:61.154.xxx.xxx 未訂閱
我知道了!这段代码粘贴过去时,要把IF 前面的空格删去,不然会提示出错! 谢谢两位前辈!
系統時間:2024-11-23 12:38:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!