被调用窗口的Edit不能获得焦点(100)

  • 主题发起人 主题发起人 胡鸣
  • 开始时间 开始时间

胡鸣

Unregistered / Unconfirmed
GUEST, unregistred user!
在主窗体中有一Panel,将另一窗体调用并显示在Panel中,现在的问题是被调用的窗体的Button、Grid等控件都可以用鼠标点击获得焦点,但Edit控件点击鼠标左键不能获得焦点,点击鼠标右键或连按两次回车键或用Tab都可以获得焦点,是什么原因呢?
 
Edit控件事件中可有代码?
 
把edit的tag设为0试一下~~
 
Edit的tag本身就为0
 
在主窗体中有一Panel,将另一窗体调用并显示在Panel中 windows.SetParent( form2.Handle, panel1.Handle );不要通过form2.parent:=panel1来完成,测试满足条件,否则就出现你的现象。
 
在主窗体中有一Panel,将另一窗体调用并显示在Panel中 windows.SetParent( form2.Handle, panel1.Handle );窗体显示位置错乱
 
在主窗体中有一Panel,将另一窗体调用并显示在Panel中,现在的问题是被调用的窗体的Button、Grid等控件都可以用鼠标点击获得焦点,但Edit控件点击鼠标左键不能获得焦点,点击鼠标右键或连按两次回车键或用Tab都可以获得焦点,将边框设为BorderStyle := bsNone也可以获得焦点、
 
加上一句edit.SetFocus;
 
那还不如把Form2制作为Frame了。
 
那还不如把Form2制作为Frame了。不行啊,其他窗体都作好了.
 
总感觉把Form摆放在另外一个panel里面有些别扭,所以才感觉用Frame比较合适,不知道你的困难在哪里。不管如何,问题现在解决了,就算好事,祝君早日结贴。procedure TForm1.Button1Click(Sender: TObject);var t:TFrame3;begin t:=TFrame3.Create(self); t.Parent:=Panel1; t.Align := alClient;end;
 
那还不如把Form2制作为Frame了。不行啊,其他窗体都作好了.
 
在要获得焦点的Edit控件的MouseDown事件中加入Edit.SetFocus
 
多人接受答案了。
 

Similar threads

回复
0
查看
978
不得闲
D
回复
0
查看
825
DelphiTeacher的专栏
D
D
回复
0
查看
831
DelphiTeacher的专栏
D
D
回复
0
查看
664
DelphiTeacher的专栏
D
后退
顶部