哪位高手能告诉我菜单合并的原理???从网上下载了一个例子,看不懂。。。。

zhensong 2002-11-14 10:34:15
给位高手,快哦。。。答了马上给分。
...全文
45 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
favorit 2002-11-14
  • 打赏
  • 举报
回复
不会吧?自己试一把就懂了^_^
gk0205 2002-11-14
  • 打赏
  • 举报
回复
好东西,就是没看懂
favorit 2002-11-14
  • 打赏
  • 举报
回复
MDI应用程序通常把主窗体的菜单作为基本菜单,当有子窗体打开或被激活时,子窗体的菜单将被融合到主窗体的菜单中作为应用程序扩展的主菜单,从而实现了菜单的动态扩展。菜单融合是指程序运行过程中,子窗体菜单和主窗体菜单相互作用。当子窗体被选中时,子窗体的菜单插入或替换主窗体菜单的部分或全部选项。
合并菜单时主要使用两个属性:窗体的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属性设为相同的值,则它们的排列顺序在菜单融合时不发生变化。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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