在一些MDI程序的菜单中,可以看见当前显示的窗口(显示的窗体前会加个勾),如何做到?(80分)

  • 主题发起人 主题发起人 zkf001
  • 开始时间 开始时间
Z

zkf001

Unregistered / Unconfirmed
GUEST, unregistred user!
在一些MDI程序的菜单中,可以看见当前显示的窗口(显示的窗体前会加个勾),
在DELPHI中,像MDI子窗体层叠等功能ActionList控件都能提供,如何能做到当前控制窗
体在菜单项里能显示的效果呢?(具体效果可以参见SQL SERVER 2000窗口菜单的效果)
 
MDI主窗体有一个WindowMenu属性,看到没有,给它指定一个主菜单项,OK!
不过,有时候会有些Bug,小心调试!

 
好像有些不行,怎么回事?
 
通常将WindowMenu的属性设为一个菜单项,该菜单项的Caption是"Windows"。
该菜单项的头几个子菜单项是“级联”、“水平排列”……但是往往会有些问题,
好像与几个快捷键或者热键的设置有关,捉摸不定。

最好的方法是,参照Delphi/Demos/Doc/Textedit中的例子,按照那个设置,
就没问题。
 
关键在于那个作为 Windowmenu 的菜单不能有子菜单的。

(好象没有书本介绍这个东西),不信你试下就可以了
 
kthy:
这个例子我看过了,怎么遍寻不见加菜单项的命令?
 
kthy:
这个例子中的菜单可以随着MDI子窗口的改变而改变,这个功能很好,但我的程序却不行
子窗口的菜单会覆盖父窗口的菜单,怎么回事?
 
各位:
真是奇怪,我的要求就是实现不了?那如何做到子窗口和父窗口的菜单能自动合并呢?
例子看不懂
 
各位:现在MDI子父窗口的菜单合并问题已解决,但在菜单栏里显示子窗体的问题还没
解决,HELP ME!!!
 
可以看看C:/Program Files/Borland/Delphi5/Demos/Doc/Textedit的例子
在窗体FrameForm的WindowMenu中设定为Window1,当新建子窗口EditForm,
不用写任何代码就自动在菜单Window1下增加子窗口标题列表。

但是必须为Window1下的菜单
指定一个快捷,如:
&New Window,&Tile,&Cascade,&Arrange All
而且这些N,T,C,A快捷必须唯一
,你只要按照上述方法肯定没有问题


子窗口和父窗口的菜单能自动合并,必须将菜单控件的AutoMerge设为True,同时要注意设定GroupIndex
 
多人接受答案了。
 
后退
顶部