zoukankan      html  css  js  c++  java
  • 创建应用程序菜单与菜单融合 

    创建应用程序菜单与菜单融合 
      父窗口的菜单应作为应用程序主菜单。如果子窗口有菜单,则当子窗口在运行获得焦点并最大化时,子窗口的菜单项将融合父窗口菜单。
      创建父窗口与子窗口菜单的方法与创建普通窗体菜单类似。菜单融合是指程序运行过程中,子菜单与父窗口菜单的相互作用。如当子窗口获得焦点时,子窗口的菜单或插入主窗口的菜单中,或将替换部分或全部的父窗口菜单。
      进行菜单融合需设置的两个属性:
      ● 窗体的Menu属性
      ● 菜单项的GroupIndex属性
        Menu属性定义窗体的活动菜单,而菜单融合只对活动菜单进行。 如果窗体有多个菜单部件,运行时可通过以下代码进行改变:
      Form1.Menu := SecondMenu; 
        GroupIndex属性决定出现在菜单条中各菜单项的位置,在菜单融合中,GroupIndex 将决定融合菜单是插入还是替换主窗体菜单条中的菜单。
      GroupIndex的缺省值是0,可以用下规则确定其值:
      1. 数值越小,菜单的位置越靠左。
      例如:GroupIndex为0的菜单将出现在菜单条中的最左端。随着GroupIndex数值的增大,菜单项依次向右排列。
      2. 若需替换主菜单中的某一菜单项,则将子菜单相应菜单项的GroupIndex设为与之相等的值。这条规则适合一个或多个菜单项。例如,主菜单中的"Edit"菜单项的GroupIndex 的值为1。将子菜单的一个或多个菜单项的GroupIndext的值设为1,则在运行时,这些菜单项替换主窗口的"Edit"菜单。
      将同一窗体的多个菜单项的GroupIndex设为相同值, 原有的排列顺序在菜单融合时将保持不变。
     3. 若要在菜单融合时插入菜单项,需在主菜单中预留数值“位置”。例如,主菜单的两菜单项数值为0,5,则子菜单GroupIndex数值为1,2,3,4的菜单在融合时将插入其中。
     在使用MDI界面时,用户通常会打开多个窗体。为了使用户方便地进行窗体切换,常设有一个进行切换的菜单项.此菜单列出了打开窗体的名称,当用户选择其中的一个时,程序进行相应的窗体切换。在Delphi的MDI设计时,可非常方便地实现这一功能。方法是将父窗口的WindowMenu设置成该菜单项的名字即可。
  • 相关阅读:
    CodeForces 906D (欧拉降幂)
    洛谷4139 bzoj 3884 上帝与集合的正确用法
    The Preliminary Contest for ICPC Asia Nanjing 2019ICPC南京网络赛
    主席树之初见
    HDU 6709“Fishing Master”(贪心+优先级队列)
    [数论]拓展中国剩余定理
    [数论] 求逆元
    2019 年百度之星·程序设计大赛
    2019 年百度之星·程序设计大赛
    pb_ds中的hash_table
  • 原文地址:https://www.cnblogs.com/fuyingke/p/295695.html
Copyright © 2011-2022 走看看