Rolin的专栏

路在自己脚下

MFC中维护菜单状态的两种方法

    MFC中维护菜单状态一般是通过UPDATE_COMMAND_UI消息。那些还没有添加消息响应的UI都默认为灰色。而SDK程序中,改变菜单状态时,可以调用EnableMenuItem( UINT nIDEnableItem, UINT nEnable )函数。

    本来我在程序中,不想添加太多的消息映射,而直接使用EnableMenuItem函数,结果行不通。通过查询了一些菜单编程的知识,发现这个m_bAutoMenuEnable成员函数。它是CFrameWnd类的public成员函数,默认为TRUE。正是因为它的存在,而使得那些没有添加消息的UI都为灰色。

如果想在MFC中使用EnableMenuItem函数,必须需要对程序进行一点改动。

    //Disable MFC from automatically disabling menu items. 
    m_bAuoMenuEnable=FALSE; 
    //Now enable the menu item. 
    CMenu* pMenu=GetMenu (); 
    ASSERT_VALID (pMenu); 
    pMenu->EnableMenuItem (ID_MENU_ITEM,MF_BYCOMMAND | MF_ENABLED); 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tianrolin/article/details/763259
个人分类: Windows Programming
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

MFC中维护菜单状态的两种方法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭