EnableMenuItem

来源:百度文库 编辑:神马文学网 时间:2024/04/29 22:44:22

EnableMenuItem

  允许或禁止指定的菜单条目 
  返回值 : Long, 
  参数表 : 
  参数 类型及说明 
  hMenu Long,菜单句柄 
  wIDEnableItem Long,欲允许或禁止的一个菜单条目的标识符。如果在wEnable参数中设置了MF_BYCOMMAND标志,这个参数就代表欲改变菜单条目的命令ID。如设置的是MF_BYPOSITION,则这个参数代表菜单条目在菜单中的位置(第一个条目肯定是零) 
  wEnable Long,参考ModifyMenu函数中的菜单常数标志定义表,其中列出了允许使用的所有常数。对于这个函数,只能指定下述常数:MF_BYCOMMAND,MF_BYPOSITION,MF_ENABLED,MF_DISABLED以及MF_GRAYED 
  这些值有下列含义: 
  ·MF_BYCOMMAND指定参数给出已存在的菜单项的命令ID号。此为缺省值。·MF_BYPOSITION指定参数给出已存在菜单项的位置。第一项所在的位置是0。·MF_DISABLED使菜单项无效,以便它不能被选择,但不变灰。·MF_ENABLED使菜单项有效,以便它能够被选择,并可从变灰的状态中恢复出来。·MF_GRAYED使菜单项无效,以便它不能被选择并同时变灰。
  注解 
  如指定的菜单条目依附了一个弹出式菜单,那么整个弹出式菜单都会受到影响 
  说明:
  使菜单项有效、无效或变灰。CreateMenu,InsertMenu,ModifyMenu和LoadMenuIndirect成员函数同时也设置菜单项的状态(有效、无效、或变灰)。
  使用MF_BYPOSITION的值需要应用恰当的CMenu对象。若菜单条的CMenu被使用,那么顶层菜单项(菜单条中的某项)将受影响。如果为了在弹出菜单或嵌套的弹出菜单中通过位置来设置项的状态,那么应用必须指定弹出菜单的CMenu。
  当应用指定了MF_BYCOMMAND标志,那么Windows将检测所有的属于CMenu的弹出菜单项。因此,除非当前正在复制菜单项,那么使用菜单条的CMenu是非常有效的。