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

Dbedit元件如何按一鍵將游標以後字元清除並自動跳下一個Dbedit

尚未結案
mcho
初階會員


發表:57
回覆:106
積分:42
註冊:2002-11-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-24 08:37:58 IP:220.137.xxx.xxx 未訂閱
請教各位大大! Delphi5的Dbedit元件如何按一鍵將游標以後字元清除並自動跳下一個 Dbedit欄位,可做得到嗎?謝謝! 何明昌
------
何明昌
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-24 09:48:02 IP:60.248.xxx.xxx 未訂閱
大致上像這樣,在它的 OnKeypress 事件裡加這些    
  // LeftStr(AStr, AStart) 取 AStr 字串的左邊 AStart 長度
  // SelStart 游標的位置
  Edit1.Text := LeftStr(Edit1.Text, Edit1.SelStart);
  // 跳到 Edit2 這個欄位,如果想要跳到未知的下一個 DBEdit 欄位的話
  // 還要再多做一些動作,這裡我就省略了
  Edit2.SetFocus;
  // 不加這個 Abort 的話,你剛按的字就會加進去
  // 跑這個 Abort 讓它不要再繼續處理事件了
  Abort;
別忘了要 uses StrUtils; 才能夠使用 LeftStr 發表人 - reptile 於 2005/03/24 09:50:06
mcho
初階會員


發表:57
回覆:106
積分:42
註冊:2002-11-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-24 11:38:38 IP:220.137.xxx.xxx 未訂閱
hi!reptile 謝謝您的指教,但如何按F4鍵在OnKeypress 事件裡執行,因OnKeypress 事件無法感應F4鍵。 何明昌
------
何明昌
cashxin2002
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-24 11:55:38 IP:202.62.xxx.xxx 未訂閱
您好﹗
改寫在DBEdit元件的OnKeyDown事件中﹕
procedure TForm1.DBEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_F4 then
    begin
      DBEdit1.Text := LeftStr(DBEdit1.Text, DBEdit1.SelStart);
      DBEdit2.SetFosuc;
    end;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================ 發表人 - cashxin2002 於 2005/03/24 11:58:23
------
忻晟
mcho
初階會員


發表:57
回覆:106
積分:42
註冊:2002-11-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-28 11:21:07 IP:220.137.xxx.xxx 未訂閱
謝謝!版主您答覆,不過這一分我想還是給reptile好了 何明昌
------
何明昌
系統時間:2024-06-03 9:40:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!