Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8353293
  • 博文数量: 1413
  • 博客积分: 11128
  • 博客等级: 上将
  • 技术积分: 14685
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 10:03
个人简介

follow my heart...

文章分类

全部博文(1413)

文章存档

2013年(1)

2012年(5)

2011年(45)

2010年(176)

2009年(148)

2008年(190)

2007年(293)

2006年(555)

分类:

2007-01-04 10:13:22

如果你写的MDI程序中,要将父窗体与子窗体菜单融合在一起,Delphi提供了非常方便的方法.将父窗口的上级菜单比方说"File"文件,有个属性GroupIndex,设为0,将子窗体的菜单比方说"Funcion"功能,将GroupIndex设为1,这样的话,在打开子窗体的时候,就会将菜单合并在一起了.如果你不改这个属性的话,一般来说,GroupIndex都是0,这样一来,打开子窗体的时候,父窗体的菜单就看不到了.还有注意,将菜单本身的AutoMerge(自动合并)设为false,如果放成true的话,两个菜单就会都看不到的.

MenuItem有一个“GroupIndex”属性,将你要溶合的MDI父窗口和子窗口的某个菜单的GroupIndex设成相同的值就OK了。
---------------------------------------------------------------

合并菜单时主要使用两个属性:窗体的Menu属性和菜单控件的GroupIndex属性。
由于一个窗体一次只能使用一个菜单,所以必须用Menu属性指明窗体当前使用的菜单控件名。
GroupIndex属性指明每个菜单项在菜单中的位置。可按照以下规则确定各菜单项的GroupIndex属性:
1)数值从0开始,排在菜单的最左端,并向右依次增大。如果主菜单与被合并的菜单中有相同的菜单项,则可以将两个菜单项的GroupIndex属性设为一个值,这样在菜单合并时,子菜单就会替换掉主菜单上的相应菜单项。
例如:主窗体和子窗体的菜单控件中File菜单项的GroupIndex属性值都设为0,打开子窗体后File菜单就会自动扩展。
2)如果需要将被合并菜单中的菜单项插入到主菜单中去,则可以将主菜单中的GroupIndex属性跳过一个序列值,而将插入菜单项的GroupIndex属性值设为空缺的那个值。
例如:在主窗体中我们将File和Help菜单项的GroupIndex分别设为0和4,而在子窗体中Edit、Search和Window菜单项的 GroupIndex分别设为1、2和3,或1、1和1(此时三个菜单的排列顺序与在菜单编辑器里的排列顺序一致),则打开窗体后,Edit、 Search和Window菜单项就会自动插入。
3)将同一个窗体中的多个菜单项的GroupIndex属性设为相同的值,则它们的排列顺序在菜单融合时不发生变化。
阅读(6042) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~