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

關於按下enter 指標的移動

尚未結案
pristen
一般會員


發表:15
回覆:10
積分:5
註冊:2002-05-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-14 11:16:38 IP:61.222.xxx.xxx 未訂閱
我有兩個 groupbox 每個groupbox中 各有五個edit 我想要在第一個group中的輸入完第三個edit(不管剩下兩個未輸入資料的edit) 按下enter 後 指標跳到 另一個group中排在第一個的edit 請教各位大大 要怎麼做比較好ㄋㄟ
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-11-14 11:20:24 IP:147.8.xxx.xxx 未訂閱
An easy way is to do it in the OnKeyPress event:
if Key=#13 then begin
    Edit1.SetFocus;
    Key := #0;
end;
pristen
一般會員


發表:15
回覆:10
積分:5
註冊:2002-05-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-14 12:06:31 IP:61.222.xxx.xxx 未訂閱
沒有辦法..這樣做無法達到預期效果 這樣好像指標永遠定位edit1 其實我是想要直接跳到 第二個groupbox中的第一個edit 假如我有粉多的groupbox中有各有粉多edit 要怎麼辦? procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var i,j:integer; const Nameedit ='Edit6'; begin if (length(trim(tedit(sender).text)) = 1) then begin j:=1; for i := 0 to componentcount-1 do begin if (components[i] is tedit) then if tedit(components[i]).focused then j:=i 1; end; if j=componentcount then j:=j-1; button1.Caption:=inttostr(tedit(sender).taborder); tedit(components[j]).setfocus; end; if key=#13 then //這邊就搞糊塗了 不知道怎麼寫 begin with TEdit(FindComponent(nameedit)) do begin setfocus; end; end; end;
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-11-14 12:20:38 IP:147.8.xxx.xxx 未訂閱
引言: 沒有辦法..這樣做無法達到預期效果 這樣好像指標永遠定位edit1 其實我是想要直接跳到 第二個groupbox中的第一個edit 假如我有粉多的groupbox中有各有粉多edit 要怎麼辦?
Just a stupid idea: Can you make use of the "Tag" property (e.g. store the tab order, etc.) since every component has this property.
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-11-14 13:10:43 IP:61.219.xxx.xxx 未訂閱
只要如下 Groupbox1.Setfocus; //set focus在groupbox上 Perform(WM_NEXTDLGCTL, 0, 0); //在gropubox中移至下一control
pristen
一般會員


發表:15
回覆:10
積分:5
註冊:2002-05-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-11-15 11:57:02 IP:61.222.xxx.xxx 未訂閱
那請問 那如果要在edit中移回上一個control 語法要怎麼下?
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-11-15 12:01:14 IP:147.8.xxx.xxx 未訂閱
引言: 那請問 那如果要在edit中移回上一個control 語法要怎麼下?
Perform(WM_NEXTDLGCTL, 1, 0);
系統時間:2024-04-30 22:25:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!