線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1097
推到 Plurk!
推到 Facebook!

怪怪的 SetFocus

缺席
blue
中階會員


發表:169
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2014-03-18 18:23:47 IP:122.146.xxx.xxx 訂閱
Hi,各位先進大家好:
因程式需依不同條件跳到不同的 TEdit,
故使用 OnExit 及 SetFocus 搭配使用,
可是在 FireMonkey 會當掉(應該是 Stack overflow),
簡單測試,在 Edit1 的 OnExit 加上 Edit3.SetFocus
這樣就會當了,
但,同樣的方式在 VCL 是正常的,
是否有方法解,
謝謝!
Main Chen
高階會員


發表:29
回覆:135
積分:127
註冊:2002-10-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2014-03-21 08:01:37 IP:112.104.xxx.xxx 訂閱
 試了一下,確實會錯誤,你可以提報 QC 給 EMBT,或者避開它,換成另外一種寫法。

如果你的目的只是要讓它可以按下 Tab 或 Enter 跳到 Edit3 可以如下寫:

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
begin
case Key of
vkReturn,
vkTab: Edit3.SetFocus;
end;
end;
blue
中階會員


發表:169
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2014-03-24 14:48:49 IP:122.146.xxx.xxx 訂閱
Hi,感謝 Main Chen 的指導:
在KeyDown的Tab並無作用(還是到Edit2),
若有TabControl,更是無法在TabControl中的Edits 間以Tab切換(當然是有找到解法,只是抱怨一下),
還有,使用 Edit 也很難使用滑鼠拖拉方式來選取 Edit 中的部份文字....
感覺上FireMonkey還有一段很長的路要走,
無奈小弟已頭髮剃了一半了(主要是專案要Win & Mac通吃)
謝謝!

===================引 用 Main Chen 文 章===================
試了一下,確實會錯誤,你可以提報 QC 給 EMBT,或者避開它,換成另外一種寫法。

如果你的目的只是要讓它可以按下 Tab 或 Enter 跳到 Edit3 可以如下寫:

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
begin
case Key of
vkReturn,
vkTab: Edit3.SetFocus;
end;
end;
系統時間:2024-04-27 0:48:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!