Edit元件按enter按順序跳 |
答題得分者是:wameng
|
goodjimmy
一般會員 發表:20 回覆:26 積分:9 註冊:2004-02-19 發送簡訊給我 |
請問:
如何控制edit元件內的游標,按enter,可以照我要的順序跳呢?是不是改tab order的順序,可是我有改,還是無法照我的設計走 程式碼如下:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); var x, y: Integer; t: TEdit; begin if key = #13 then begin y := 1; for x := 0 to Componentcount - 1 do begin if (Components[x] is TEdit) then if TEdit(Components[x]).Focused then y := x 1; end; if y = componentcount then y := y 1; TEdit(Components[y]).SetFocus; end; end; |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
a6475
高階會員 發表:67 回覆:230 積分:154 註冊:2002-09-15 發送簡訊給我 |
引言: 按照 TabOrder 順序 改用 procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if key=#13 then Perform(WM_NEXTDLGCTL,0,0); end;站上有大大寫了一個TdosMove 不錯用。 大大可以下載議試看 ..-----------βλμε------------.. ◎Oo月夜 光明 藍更愁oO◎ 藍調月光城v4:http://inping.myweb.hinet.net/ (暫時使用中..) 明日報(藍調.月光):http://mypaper2.ttimes.com.tw/user/a6475
------
月夜 光明 藍更愁 |
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
goodjimmy
一般會員 發表:20 回覆:26 積分:9 註冊:2004-02-19 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
引言: 太神奇了! 高手可否解說一下 Perform(WM_NEXTDLGCTL,0,0)此寫法是如何找尋出來的?? ps:謝謝其它大大的回應我再作一點補充: Perform(WM_NEXTDLGCTL,1,0); 表示往上移。就是依照TabOrder 次序由大至小。 事實上,Windows 系統本身就是訊息類的系統。 您也可以直接用 SendMessage(Handle,WM_NEXTDLGCTL,0,0); 比如: SendMessage(Handle,WM_SYSCOMMAND,SC_TASKLIST,0); 就是開啟 -->系統「開始」功能選單 發表人 - wameng 於 2004/10/22 19:33:35 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |