关于MDI窗口问题,请各位进来看看(50分)

  • 主题发起人 主题发起人 AWEIF
  • 开始时间 开始时间
A

AWEIF

Unregistered / Unconfirmed
GUEST, unregistred user!
本人在此请教各位,我有一个MDI程序,在主菜单上有一个菜单项,专门用来记录MDIChild窗口的情况,如果有MDIChild被建立,则在该菜单上增加一个菜单项,如果有MDIChild窗口被关闭,则要在该菜单上删除相应的菜单项,如果有多个MDIChild被建立,那么如果我在菜单上Click某一项,则要激活相应的MDIChild窗口。我也曾见过许多这样的程序,但不知道该如何实现,所以请教各位高手,望能得到帮助,多谢!
 
设置主窗体MainForm的WindowMenu
将要显示子窗体的菜单加到上面的WindowMenu中
 
在MDI主窗口中有一个属性,设置后系统就会自动处理你的问题,不用你在考虑了。多简单,不要这么复杂了。
mainForm.windowmenu:=menuItem;
详细的你看help吧!
 
那样不行呀,我试过了,而且也不合我意,比如有很多个子窗口,那怎么办?我的意思是有多少个子窗口,该菜单就有多少个相应的菜单项,如果有一个子窗口关闭了,则要删除掉相应的菜单项,如查单击其中一个菜单项,则要激活相应的子窗口。
 
呵呵,我想你搞错了,是你说的这样的。

你先在主窗口上建一个主菜单,然后再在主窗体的WindowMenu中加入你的任意一个子菜单
当你打开子窗体或关闭子窗体时,你看看这个子菜单里的东西,就明白了

上面完全满足你的要求
 
啊,真的是我搞错了,现在可以了,非常感谢各位!
 
To AWEIF:
只需要修改GroupIndex属性,MDI会自动合并。合并原则,主窗体的GroupIndex属性与子窗体的GruopIndex属性相同的话,子窗体会自动覆盖主窗体的Menu。GroupIndex的顺序实际就是安排菜单的排列顺序,这样的话阁下想怎样排实际就是安排一下GroupIndex的顺序就可以了,如果不想覆盖,追加在后面的话,只要把GroupIndex的属性设定不与主菜单相同就ok了。
 
后退
顶部