1

我正在寻找CMFCRibbonPanelCMFCRibbonCategory. 中只有AddPanel()函数CMFCRibbonCategory,没有RemovePanel()

我真的需要重建我的整体CMFCRibbonCategory来做到这一点吗?

只是为了澄清,我想要的是从类别中删除面板本身,而不是从面板中删除元素。

4

2 回答 2

3

就我而言,我最终确实从头开始重建了该类别。在CMFCRibbonCategory源代码(查找afxribboncategory.cpp)中,没有明显的方法可以从面板数组中删除面板。

于 2009-03-05T15:34:21.840 回答
1

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();
     }
}
于 2009-02-26T15:54:33.427 回答