我的需求是这样的,我在form1中把WindowState=wsMaximized,并且在左边放了一些构件,剩下右边就空出一大块空间。
现在问题来了,当我用菜单时,显示出form2,我点击一下form2的最大化按钮,结果它会覆盖整个form1。我现在的需求就是当我按下form2时,它能占满我在form1中空出来的空间就行了。
各位有没有方法能实现啊。小弟给你敬礼了
现在问题来了,当我用菜单时,显示出form2,我点击一下form2的最大化按钮,结果它会覆盖整个form1。我现在的需求就是当我按下form2时,它能占满我在form1中空出来的空间就行了。
各位有没有方法能实现啊。小弟给你敬礼了
或者
你可以指定form1上面的某个容器为form2的parent
重新定义FORM最大化的尺寸和位置var
MinMaxInfo : ^TMinMaxInfo;
begin
if Message.Msg=WM_GETMINMAXINFO then
being
MinMaxInfo:=Pointer(Message.LParam);
MinMaxInfo.ptMinTrackSize:=Point(640,400); //最小尺寸640*400,自己变通吧
end;
inherited;
end
我也不能把form2的visible改为false,会提示错误。我现在所需要的功能,就是点击某个菜单项,就能把form2显示出来,现在form2的显示完全不受我控制。即便我在菜单项写代码:form2.show也没用。请各位指教
如果解决呢?打开project/options菜单,选择forms页签,把子窗体从auto-create forms里移掉,这样就不会被自动创建了,当然也就不会被显示出来。
当需要显示的时候再动态创建。MDI子窗体会自动显示的。MDI子窗体默认是不能关闭的(默认为最小化),要真正关闭,建议在OnClose里将Action设为caFree。
dg->MdiParent = this;
dg->Show();