Posted on 2007-09-27 17:12
xyz 阅读(415)
评论(0) 编辑 收藏 引用 所属分类:
DELPHI
最近遇到一个问题,在edit1的onExit中设置edit2的焦点,虽然焦点成功转移到了edit2,但是在edit2上却没有光标显示,设置的有焦点自动变背景色的事件也无法触发。
问题代码如下:
procedure Tdbd.Edit1onExit(Sender: TObject);
edit2.setFocus
end;
估计是EDIT2的获焦点消息被EDIT1的离开焦点覆盖掉了。
后来手动给EDIT2再发一次获焦点的消息后能触发变色事件,但是却无法输入东西,需要用setFocus命令才正常。
procedure Tdbd.Edit1onExit(Sender: TObject);
postmessage(edit2.Handle,WM_SETFOCUS,0,0);
edit2.setFocus
end;