允許或禁止指定的菜單條目
返回值 : 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 | 使菜單項有效,以便它能夠被選擇,并可從變灰的狀態(tài)中恢復出來。 |
· | MF_GRAYED | 使菜單項無效,以便它不能被選擇并同時變灰。 |
注解
如指定的菜單條目依附了一個彈出式菜單,那么整個彈出式菜單都會受到影響
說明:
使菜單項有效、無效或變灰。CreateMenu,InsertMenu,ModifyMenu和LoadMenuIndirect成員函數同時也設置菜單項的狀態(tài)(有效、無效、或變灰)。
使用MF_BYPOSITION的值需要應用恰當的CMenu對象。若菜單條的CMenu被使用,那么頂層菜單項(菜單條中的某項)將受影響。如果為了在彈出菜單或嵌套的彈出菜單中通過位置來設置項的狀態(tài),那么應用必須指定彈出菜單的CMenu。
當應用指定了MF_BYCOMMAND標志,那么Windows將檢測所有的屬于CMenu的彈出菜單項。因此,除非當前正在復制菜單項,那么使用菜單條的CMenu是非常有效的。