关于MDI的3个问题:

Libran 2002-11-01 03:46:04
1,如何使MDI子窗体的某一菜单,合并入主窗体的某一菜单里?要求添加在原有菜单项之后而不覆盖;
2,如何使子窗体的工具栏并入主窗体的工具栏?
3,如何使子窗体的状态栏并入主窗体的状态栏?
还要不影响各控件原有的功能以及事件的响应等
...全文
186 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gpg 2002-12-18
  • 打赏
  • 举报
回复
jishiping(JSP 季世平) 关于2、3讲的不错。
关于一:
道理不讲了,你可以这样:
假定主菜单有五个。
那么将GroupIndex设为 0、11,12,13,14
子菜单有5个
那么将GroupIndex设为 1、2,3,4,5
一切OK。

neelee 2002-12-18
  • 打赏
  • 举报
回复
其实有一种简单的办法(OO的办法),就是永远只用一套StatusBar和ToolBar

所有的MDIChild 派生自一个共同基类,当然需要预定义足够的虚函数用于
派生类的重载。

我也正在做和你类似的一套程序,效果很好,可以多多交流

我碰到了几个问题,不知道你能不能解决
1:怎么去掉子窗体的最小化与最大化按纽,但是要保持最大化状态
2:子窗体启动时,显示了最大化过程,怎么去掉这个过程,让它直接就显示为最大化。(主要是为了消除闪烁感)
3:怎么实现后台启动子窗体

谢谢,


Behard 2002-11-04
  • 打赏
  • 举报
回复
mark
liu6tot 2002-11-04
  • 打赏
  • 举报
回复
最保守的办法就是在子窗体中也定义父窗体所包含的菜单项,比如说,MDIfather包含的窗体,到MDICHILD中还得再定义一次。利用INDEX属性进行合并。我最近就在做这方面的例程,希望大家互相切磋。
jishiping 2002-11-04
  • 打赏
  • 举报
回复
1。需要自己写代码。
2、3。修改Child窗口的工具栏(状态栏)的属性Parent为主窗口就可以了。
当然还有一些细节的东西需要考虑。同时,当Child窗口激活时,显示工具栏
(状态栏);当窗口不激活时,需要隐藏工具栏(状态栏)。这样主窗口就不
会显示所有Child的工具栏(状态栏)了。
Libran 2002-11-04
  • 打赏
  • 举报
回复
1的补充:希望得到的效果不是替换,而是合并
例如,原主窗口[文件]菜单下有2项,在子窗口[文件]菜单下又定义了3项;想要在子窗口打开后,[文件]菜单下将菜单合并为5项,而不是替换为子窗口的3项,如何实现?
其它2个问题,也希望各位多多帮忙
icuc88 2002-11-04
  • 打赏
  • 举报
回复
学习ing
danna 2002-11-04
  • 打赏
  • 举报
回复
学习ing
mynameis007 2002-11-02
  • 打赏
  • 举报
回复
gz 2+3:
weibz0525 2002-11-01
  • 打赏
  • 举报
回复
我从书上找到个MDI例子,你可以参考,是第一个问题的
GroupIndex原则:
1 GroupIndex数值小的显示在数值大的前面。
2 如果要将子窗口的菜单项插入到父窗口的菜单条,则父窗口菜单的GroupIndex必须留有数字空间。
2 如果子窗口的菜单项的GroupIndex值等于父窗口的某菜单项的值,子窗口打开时,子窗口的菜单项会替换父窗口对应的菜单项。
原书摘抄,呵呵

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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