寻思半天都不得其解,后来搜索了下相关问题,结果这个的确是一个问题。具体是怎么样的,我也没有去深究,总之想找到一个简单的解决办法。
原来只需要重载CDialogBar::OnUpdateCmdUI这个方法就可以了,代码如下:
void CToolBarDlg::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHandler)
{
bDisableIfNoHandler = FALSE;
CDialogBar::OnUpdateCmdUI(pTarget, FALSE);
}
{
bDisableIfNoHandler = FALSE;
CDialogBar::OnUpdateCmdUI(pTarget, FALSE);
}
如上图所示,已经不是灰色的了,添加了一个事件处理程序,放了一个MessageBox进去,可以响应了。
我的编译环境是:VS2005+SP1。