我正在寻找CMFCRibbonPanel从CMFCRibbonCategory. 中只有AddPanel()函数CMFCRibbonCategory,没有RemovePanel()。
我真的需要重建我的整体CMFCRibbonCategory来做到这一点吗?
只是为了澄清,我想要的是从类别中删除面板本身,而不是从面板中删除元素。
我正在寻找CMFCRibbonPanel从CMFCRibbonCategory. 中只有AddPanel()函数CMFCRibbonCategory,没有RemovePanel()。
我真的需要重建我的整体CMFCRibbonCategory来做到这一点吗?
只是为了澄清,我想要的是从类别中删除面板本身,而不是从面板中删除元素。
就我而言,我最终确实从头开始重建了该类别。在CMFCRibbonCategory源代码(查找afxribboncategory.cpp)中,没有明显的方法可以从面板数组中删除面板。
CMFCRibbonPanel我对和一无所知CMFCRibbonCategory。在 MSDN 中看到类声明后,我认为您可以获得对CMFCRibbonPanelfrom的引用CMFCRibbonCategory并调用CMFCRibbonPanel::RemoveAll指针。
CMFCRibbonCategory *pCategory = m_wndRibbonBar.GetCategory(0);
if (pCategory)
{
CMFCRibbonPanel *pPanel = pCategory->GetPanel(0);
if (pPanel)
{
pPanel->RemoveAll();
m_wndRibbonBar.AdjustSizeImmediate();
}
}