这样的MDI窗体如何做??各位进来看看!!!!!

梦想0524Sz 2006-07-23 07:14:35
我现在做了一个系统是MDI形式的窗体,现在运行程序其中一个子窗体(A)是自动创建,也就是说我程序一运行,就有一个子窗体(A)打开在主界面的客户区域中而且是最大化(且没有标题栏),现在如果我再打开另一个子窗体(B),且子窗体(B)是不可以最大化最小化的。现在我要解决的问题如下:
1.我如何使子窗体(A),不随子窗体(B)而变化(也就是说我打开子窗体(B),子窗体(A)就会缩小到设计时的大小,不是最大化了)

2.如果我打开可以最大化最小化的子窗体(C)时,子窗体(C)会跟着子窗体(A)一样最大化,而且标题栏也没有了,我怎么才能让子窗体(C)最大化时标题栏不消失呢??
...全文
266 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dabaicai 2006-07-26
  • 打赏
  • 举报
回复
客户区的大小就是主界面的大小 - 边框大小(该大小是固定的,不会因为拉大拉小而变化)


另外,你说的需求正常情况下MDI是处理不了的,你不如继承系统的TFORM,自己从新写一个窗体类来处理
dabaicai 2006-07-25
  • 打赏
  • 举报
回复
我怎么才能让子窗体(C)最大化时标题栏不消失呢??
最大化而标题栏不合并,你让他显示在哪??????

还有,上面说的改第二个窗体的bimax...属性为false 那样第二个窗体打开时也会吧第一个窗体恢复为不是最大化状态
第二就是将该窗体的maxheight和maxwidth属性值控制住,那样就是最大化了,也是在你输入的数值范围里,
但是不论你用什么方法,实现你的功能后,界面都不再好看了
梦想0524Sz 2006-07-25
  • 打赏
  • 举报
回复
我的目的就是要第一个打开的子窗体,永远最大化,永远处在最底层,他不会受其它窗体最大化最小化的影响。即使是用层叠,横向平铺,纵向平铺,也要使第一个窗体不受影响。

还有就是第一个窗体如果最大化了,接着打开的窗体如果最大化了,标题不要合并,就跟正常最大化一样呢???

如果控制窗体的最大高度和最大宽度,必须获取的主界面中客户区的大小,客户区的大小又如何获得????
梦想0524Sz 2006-07-24
  • 打赏
  • 举报
回复
一直是菜鸟:我知道标题合并到主窗体里了,现在我就是想乍么不让他合进去,而且我第二个子窗体的属性不是最大化,因为MDI就是只要有一个窗体最大化,再打开的窗体就是最大化。

小人物:我也知道用代码来控制,现在不就是不知道代码如何来写吗!!!如何你会,你还能提供个例子???????
SmallMaker 2006-07-24
  • 打赏
  • 举报
回复
打开b之前通过代码来控制a窗体的状态
dabaicai 2006-07-24
  • 打赏
  • 举报
回复
2.子窗体的标题栏是不会没有的,只是合并到主窗体里面的,如
主窗体 - 子窗体
当然,"子窗体"是当前焦点窗体的标题
1.你可以将第二个子窗体的窗体属性改掉,让它的最大化属性为false即可

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧