CMainFrame在应用程序空闲的时候才根据命令处理(ON_UPDATE_COMMAND_UI)更新界面,包括菜单、工具栏。
于是,正确的使能禁能按钮只能通过命令流来处理。
先在CMainFrame类中设置一个bool变量m_bButtonEn。
然后对相应的工具栏按钮添加更新命令ON_UPDATE_COMMAND_UI(ID_BUTTON_xxx,OnUpdataxxx)
头文件中这样定义函数:afx_msg
void
OnUpdataxxx(CCmdUI *pCmdUI);
cpp文件中
void
CMainFrame::OnUpdataxxx(CCmdUI* pCmdUI)
{
pCmdUI->Enable(m_bButtonEn);
}
初始化m_bButtonEn = false; 按钮就变灰了。