现在有这样一个问题:
主程序的窗体为Form1,另外一个窗体为Form2(代码设计阶段就设计好了这2个窗体),我在Form1主窗体上放了一个Panel1和Button1,然后在Button1的click事件中写如下代码:
Form2.Parent:= Form1.Panel1;
Form2.WindowState:= wsMaximized;
Form2.Left := 0;
Form2.Top := 0;
Form2.Height := Form1.Panel1.Height;
Form2.Width := Form1.Panel1.Width;
Form2.Show;这样,Form2就显示在主窗体Form1的Panel1里面了.如果我在Form2上放一个Edit1和Button2,奇怪的是Edit1无法用鼠标点击获得焦点,而Button2则可以用鼠标点击.请问大侠们,如何让Edit1能够用鼠标点击得到焦点可以输入!!!急~~~
主程序的窗体为Form1,另外一个窗体为Form2(代码设计阶段就设计好了这2个窗体),我在Form1主窗体上放了一个Panel1和Button1,然后在Button1的click事件中写如下代码:
Form2.Parent:= Form1.Panel1;
Form2.WindowState:= wsMaximized;
Form2.Left := 0;
Form2.Top := 0;
Form2.Height := Form1.Panel1.Height;
Form2.Width := Form1.Panel1.Width;
Form2.Show;这样,Form2就显示在主窗体Form1的Panel1里面了.如果我在Form2上放一个Edit1和Button2,奇怪的是Edit1无法用鼠标点击获得焦点,而Button2则可以用鼠标点击.请问大侠们,如何让Edit1能够用鼠标点击得到焦点可以输入!!!急~~~
Form2.Left := 0;
Form2.Top := 0;
Form2.Height := Form1.Panel1.Height;
Form2.Width := Form1.Panel1.Width;
Form2.Show;
Windows.SetParent(Form2.Handle, Form1.Panel1.Handle);
但是,新的问题来了,如果我把子窗体Form2关闭,再点主窗体上的Button1,Form2就显示不出来了,怎么解决?
谢谢.
//加了这个就OK了
如果建立窗体的副本就可以了。
var
F2: TForm2;
begin
F2 := TForm2.Create(nil);
F2.WindowState:= wsMaximized;
F2.Left := 0;
F2.Top := 0;
F2.Height := Form1.Panel1.Height;
F2.Width := Form1.Panel1.Width;
F2.Show;
Windows.SetParent(F2.Handle, Form1.Panel1.Handle);
end;//在Form2 中添加下代码 释放窗体
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;