对话框使用工具条:如何控制工具条上按钮的状态
本帖最后由 VisualEleven 于 2013-08-22 16:54:03 编辑 在一个非模态对话框上记载了一个工具条,其上有按钮(RC内编辑)和动态创建的ComboBox,
现在的问题是根据不同状态要控制工具条上各个按钮的状态(可用与不可用),遇到的问题是
RC内编辑的按钮无法控制(ComboBox没有问题),代码如下:
ON_UPDATE_COMMAND_UI(ID_CV_SINGLE_LINE_TYPE, OnUpdateSingleLineBtn)
void CTestDlg::OnUpdateSingleLineBtn(CCmdUI* pCmdUI){
pCmdUI->Enable( !m_ucMonitorStart );//这个函数根本不执行。
}
ON_WM_INITMENUPOPUP()
void CTestDlg::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu)
{
CDialog::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu);
// TODO: Add your message handler code here
if(!bSysMenu && pPopupMenu)
{
CCmdUI cmdUI;
cmdUI.m_pOther = NULL;
cmdUI.m_pMenu = pPopupMenu;
cmdUI.m_pSubMenu = NULL;
UINT count = pPopupMenu->GetMenuItemCount();
cmdUI.m_nIndexMax = count;
for(UINT i=0; i<count; i++)
{
UINT nID = pPopupMenu->GetMenuItemID(i);
if(-1 == nID || 0 == nID)
{
continue;
}
cmdUI.m_nID = nID;
cmdUI.m_nIndex = i;
cmdUI.DoUpdate(this, FALSE);
}
}
}