如图所示,我想实现下面功能:
模式设置选择 模式1时,把更换布局灰化掉。我在OnPaint()函数中添加代码:
if(CMainDlg->imode == 1)//模式1
{
m_ConfigMenu.EnableMenuItem(4,MF_BYPOSITION |MF_GRAYED);//更换布局菜单
}
但是问题是:我是在OnPaint()函数中添加的代码,故只有主界面窗口重绘时,这个函数才执行,
如果不重绘,那么这个菜单就不灰化,怎么办呢?我要求一旦选择模式1,这个菜单立即灰化掉,
应该在哪里添加这几句代码呢?
然后加上Invalidate();
就可以了。
设置菜单使能的
通常做法on_command只处理菜单响应命令,ON_UPDATE_COMMAND_UI控制状态啦(每次右键菜单弹出时才响应)~