关于MDI子窗口菜单问题?

liangwh 2003-09-26 10:08:52
在VB中,如果打开一个MDI子窗体,MDI子窗体上的菜单会替换掉父窗体的菜单。
有什么办法可以实现子窗体和父窗体的菜单都保留吗?

谢谢!
...全文
135 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangwh 2003-09-29
  • 打赏
  • 举报
回复
一楼的做法有两点和MDI窗口不一样;

1. 窗口标题栏,MDI子窗口最大化的时候,标题栏会和MDI窗口的标题栏叠加,而用setparent不会
,变成上下两个标题栏,很难看。

2. 滚动条,在MDI窗口中,如果子窗口操作MDI窗口,则MDI窗口会出现滚动条,而用setparent的方法的窗口不会。

如果有人能解决这两个问题,setParent出来的窗口就和MDI类似了,而且更灵活。
hemeijun81 2003-09-27
  • 打赏
  • 举报
回复
同意一楼的方法
MSSQL 2003-09-26
  • 打赏
  • 举报
回复
方法是多种多样的了,
如果菜单不多。
楼二的方法也可以的。
射天狼 2003-09-26
  • 打赏
  • 举报
回复
都保留是不可能的,除非按一楼的办法,不过这有缺陷,不能重新排列窗口.
还有一个比较麻烦的方法,就是使子窗口的菜单和MDI窗口的菜单做成一样的.
strongfisher 2003-09-26
  • 打赏
  • 举报
回复
首先在MDI菜单上建立好基本的菜单。
然后在MDI子菜单上建立MDI菜单中所有的菜单,在加上你要求的MDI子菜单上所独有的菜单,即:MDI子菜单拥有包括MDI菜单内所有的菜单项目。
这样,当MDI子菜单关闭的时候,MDI菜单上就只有它本身的几个基本菜单项目,而当MDI子菜单打开的时候,MDI子菜单就或将MDI菜单上所有的项目全部覆盖。就可以达到目的了。
WQ771211 2003-09-26
  • 打赏
  • 举报
回复
不用MDI
用SetParent这个API把一个From装到另外一个Form中
liangwh 2003-09-26
  • 打赏
  • 举报
回复
如果用楼二的方法,将会有很多多余的代码,维护起来非常麻烦。
楼一的方法能把一个窗体装到另外窗体,但是与mdi窗口的方式是不同的。

有没有其他API函数能实现这个功能?
或者能够实现MDI子窗体能够继承父窗体的菜单也是可以的?

7,789

社区成员

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

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