複製鏈接
請複製以下鏈接發送給好友

EnableMenultem

鎖定
EnableMenultem是一個函數。
外文名
EnableMenultem
類    型
函數
函數功能:該函數使指定的菜單項有效、無效或變灰。
函數原型:BOOL EnableMenutem(HMENU hMenu,UINT ulDEnablttem,UINT uEnable);
參數
hMenu:菜單句柄。
ulDEnableltem:指定將使其有效、無效或變灰的菜單項,按參數uEnable確定的含義。此
參數可指定菜單條、菜單或子菜單裏的菜單項。
uEnable:指定控制參數uIDEnableltem如何解釋的標誌,指示菜單項有效、無效或者變灰。
此參數必須是MF_BYCOMMAND或MF_BYPOSITION,MF_ENABLED和MF_DISABLE或MF_GRAYED的
組合。
MF_BYCOMMAND:表明參數uIDEnableltem給出了菜單項的標識符。如果MF_BYCOMMAND和
MF_POSITION都沒被指定,則MF_BYCOMMAND為缺省標誌。
MF_BYPOSITION:表明參數uIDEnableltem給出了菜單項的以零為基準的相對位置。
MF_DISABLED:表明菜單項無效,但沒變灰,因此不能被選擇。
MF_ENABLED:表明菜單項有效,並從變灰的狀態恢復,因此可被選擇。
MF_GRAYED:表明菜單項無效並且變灰,因此不能被選擇。
返回值:返回值指定菜單項的前一個狀態(MF_DISABLED,MF_ENABLED或MF_GRAYED)。如果
此菜單項不存在,則返回值是OXFFFFFFFF。
備註:一個應用程序必須用MF_BYPOSITION來指定正確的菜單句柄。如果菜單條的菜單句柄
被指定,頂層菜單項(菜單條上的菜單項)將受到影響。若要根據位置來設置下拉菜單中的
菜單項或子菜單的狀態,應用程序指定下拉菜單或子菜單的句柄。
當應用程序指定MF_BYCOMMAND標誌時,系統在由指定菜單句柄標識的菜單裏選取那些
打開了子菜單的菜單項。因此除非要複製菜單項,指定菜單條的句柄就足夠了。
函數InsertMenu,InsertMenultem,LoadMenulndirect,ModifyMenu和SetMenultemlnfo
也可設置菜單項的狀態(有效、無效或變灰)。
Windows CE:Windows CE不支持參數uEnable取MF_DISABLED標誌。
如果沒有變灰,菜單項不能無效。要使菜單項無效,用MF_RAYED標誌。
速查:Windows NT:3.1及以上版本;Windows:95的及以上版本;Windows CE:1.0及以上
版本;頭文件:winuser.h;輸入庫:user32.lib。
2.13.8 GetMenu
函數功能:該函數取得分配給指定窗口的菜單的句柄。
函數原型:HMENU GetMenu(HWND hWnd);
參數:
hWnd:其菜單句柄被取得的窗口的句柄。
返回值:返回值是菜單的句柄。如果給定的窗口沒有菜單,則返回NULL。如果窗口是一個
子窗口,返回值無定義。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文
件:winuser.h;輸入庫:user32.lib。
函數功能:該函數確定指定菜單上的缺省項。
函數原型:UINT GetMenuDefaultltem(HMENY hMenu,UINT fByPos,UINT gmdiFlags);
參數:
hMenu:獲取缺省項的菜單的句柄。
fByPos:用於確定是取得菜單項的標識符還是位置的值。如果此參數值為FALSE,返回標識
符,否則返回位置。
gmdiFlags:指定函數如何查找菜單項。此參數可取靈或多個下列值:
GMDI_GOINTOPOPUPS:如果缺省項打開了子菜單,此函數在相應的子菜單裏遞歸查找。如果
子菜單沒有缺省項,返回值表示打開了子菜單的項。缺省情況下,函數返回指定菜單的第一
個缺省項,不管它是否打開了一個子菜單。
GMDI_USEDISABLED:指定函數返回一個缺省項,即使該項無效。缺省情況下,函數跳過無效
或變灰的項。
返回值:如果函數調用成功,返回值是菜單項的標識符或位置;如果函數調用失敗,返回值
是C1。若想獲得更多的錯誤信息,請調用GetLastError函數。
速查:Windows:4.0及以上版本;Windows:95及以上版本:Windows CE:不支持;頭文件:
winuser.h;輸入庫:user32.lib。