回 帖 发 新 帖 刷新版面

主题:猎取键盘信息问题

如何让 Edit1 框内的焦点在按下<回车>后自动跳转到 Edit2 框内?
望指教!谢谢!

回复列表 (共9个回复)

沙发

默认的好象就可以的啊,如果你的关了就开下,有个属性可以实现,记不清咯,反正和TAB有关的

板凳


就两个属性:TabOrder、TabStop,怎样设置都不行!

我想知道如何用 OnKeyPress事件 来控制焦点的转移,包括按钮!

望楼上或各位不吝赐教!谢谢!

3 楼


//以回车代TAB
procedure TfmBaseFrm.BaseKeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
   begin
      (Sender as TForm).Perform(WM_NEXTDLGCTL,0,0);
      key := #0;
   end;
end;

4 楼


很好,太谢谢了!

5 楼


晕 ~~不用消息就行~~
if key=#13 then
  edit2.setfocuse;
就行了

6 楼

不同意楼上的,你的方法只能是事先指定好下一控件,这样一来,每个都要指定才行

7 楼


如何让 Edit1 框内的焦点在按下<回车>后自动跳转到 Edit2 框内
~~
他不就是这个意思啊!
~~
难道 postmessage(self.handle,WM_NEXTDLGCTL,0,0);
如果他的edit2的taborder不是edit1的下一个也不行啊,
用postmessage(self.handle,WM_NEXTDLBCTL,edit2.handle,1) 也麻烦啊

8 楼


可以设定第一个EDIT为焦点。比如设他为I:=0;那下一个焦点就是I:=1;
只要他判断他在I:=0时就I:=1就好了~

9 楼

学习三楼。正解。

我来回复

您尚未登录,请登录后再回复。点此登录或注册