Ric*_*ick 6 delphi caret setfocus
我有两个TEdit控件.当我退出edit1时,edit2会收到焦点.在Edit1的OnExit事件中,我有以下代码:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
edit2.Enabled := false;
edit2.Enabled := true;
edit2.setfocus;
end;
Run Code Online (Sandbox Code Playgroud)
Edit2有焦点.但是,它没有任何关注.我可以开始输入,但它很混乱,因为我不知道哪个控件有焦点.
我更感兴趣的是Enabled属性的翻转会导致某些消息无法正常触发?例如,edit2的OnEnter事件未被触发.
如果重要的话,这是在D2006.
谢谢回复.
我不明白为什么你禁用和启用edit2,但你这样做:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
edit2.Enabled := false;
edit2.Enabled := true;
edit2.setfocus;
PostMessage(edit2.Handle, WM_SETFOCUS, 0, 0);
end;
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我同意Andreas Rejbrand的观点.