把子窗口从Project->Options...->Auto-create forms中去掉
然后在主窗口中调用:
MDIForm1 := TMDIForm1.Create(Self);
MDIForm1.Show;注意在MDIForm1.OnClose事件中加上:Action := caFree;
然后在主窗口中调用:
MDIForm1 := TMDIForm1.Create(Self);
MDIForm1.Show;注意在MDIForm1.OnClose事件中加上:Action := caFree;
Application.CreateForm(xxx, xxx);
xxx.show;
然后在主窗口中调用:
application.createform(tform1,form1);
form1.show;
然后在主窗口中调用:Application.CreateForm(tform1, form1);
form1.show;
谢谢两位
1. 如果子窗口已经打开,我希望只是把它激活,而不是再创建一个,请问怎么实现?
2. careerist() 说的代码在哪?我没找着。
??????????????????????
这样实现,子窗口已经打开,只是把它激活,而不是再创建一个
if not Assigned(form1) then
begin
Application.CreateForm(Tform1,form1);
form1.Show;
end
else
form1.Show;
h:hwnd;
begin
h:=FindWindow('Tform2',nil);
if h<>0 then
begin
//showwindow(form1.MDIChildren[0].Handle,SW_SHOWNORMAL );
showwindow(h,SW_SHOWNORMAL);
end;
存在时用form1.Show并没激活子窗口form1
怎么才能激活form1?
???????????????????