MDI 打开另一窗体后,如何解决焦点还在原窗体的问题,SetFocus无效 ( 积分: 200 )

  • 主题发起人 主题发起人 leeeeleeee
  • 开始时间 开始时间
L

leeeeleeee

Unregistered / Unconfirmed
GUEST, unregistred user!
MDI 打开另一窗体后,如何解决焦点还在原窗体<br> &nbsp;if (not FM.Visible) then<br> &nbsp; &nbsp;FM.Visible := True;<br> &nbsp;FM.BringToFront;<br> &nbsp;FM.SetFocus;<br>但事实是光标还在原窗体上,按键盘即可发现,如何解决啊?<br>我要焦点在新开的MDI窗体上。
 
MDI 打开另一窗体后,如何解决焦点还在原窗体<br> &nbsp;if (not FM.Visible) then<br> &nbsp; &nbsp;FM.Visible := True;<br> &nbsp;FM.BringToFront;<br> &nbsp;FM.SetFocus;<br>但事实是光标还在原窗体上,按键盘即可发现,如何解决啊?<br>我要焦点在新开的MDI窗体上。
 
我试过了,不会啊,<br>FM既然SetFocus了,焦点当然就是FM上了,怎么会光标还在原窗体上?<br>你的FM窗体上有没有放个Edit控件试试?
 
1.仅只MDI窗体,其他我不知道。<br>2.是分次激活原已打开的二个窗体。如MDI_1,MDI_2<br>3.通过程序激活,不是点窗体激活。我上面写的那样<br>4.当然都有TEdit等控件啦<br>这时你会发现我说的没错。
 
我做了一个demo,就是用菜单打开MDI子窗体,<br>菜单的代码就是用你的那样:<br>if (not FM.Visible) then<br> &nbsp; &nbsp;FM.Visible := True;<br> &nbsp;FM.BringToFront;<br> &nbsp;FM.SetFocus;<br>每个窗体上放了一个Button,<br>发现点了菜单后,焦点就是在新打开的窗体上的,通过Button的Focus可以知道,<br>不知道你的到底是哪里出问题了[?]
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部