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

一個DBEdit與Tab的問題

尚未結案
iecs
一般會員


發表:21
回覆:10
積分:6
註冊:2003-02-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-21 11:56:59 IP:218.162.xxx.xxx 未訂閱
小弟有一個DBEdit與Tab的問題,尚請各位先進幫小弟解答一下,謝謝!! 小弟有一個Form,FOrm上有一個Panel,Panel上有十個DBEDit,名稱各 為DBEdt01, DBEdt02,...DBedt10, Tag值各為1,2,...10。 小弟想要在任一DBEdit上按下Enter鍵,游標就往下一個Tag值移動, 目前我是寫了十個OnKeyPress的事件在各DBEdit上 小弟想請問各位先進,是否有其他方法不要寫十個OnKetPress事件. 謝謝!
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-21 12:11:52 IP:61.62.xxx.xxx 未訂閱
只要將 tab order 設定完成後, 將該 Form 的 KeyPreview 設為 True, 並在 Form 的 OnKeyPress event 下寫入:    
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0;
    Perform(WM_NEXTDLGCTL, 0, 0);
  end;
end;
cmj
高階會員


發表:15
回覆:242
積分:226
註冊:2002-06-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-21 15:00:40 IP:211.76.xxx.xxx 未訂閱
參考下面文章說明,可解決Enter鍵問題 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27456
iecs
一般會員


發表:21
回覆:10
積分:6
註冊:2003-02-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-21 19:59:11 IP:218.162.xxx.xxx 未訂閱
timhuang兄: 可以請問一下,為何在程序中加入這一行 key := #0; 呢?? 謝謝!
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-22 00:02:31 IP:61.62.xxx.xxx 未訂閱
使用 Key := #0 的意思表示忽略該輸入的鍵.    例如你只希望使用者輸入數字鍵的話, 就可以用這樣的方式:    
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9']) then
    Key := #0;
end;
系統時間:2024-06-19 4:54:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!