2009-02-26 162 views
1

我正在尋找招數來從CMFCRibbonCategory中刪除CMFCRibbonPanelCMFCRibbonCategory中只有AddPanel()函數,但沒有RemovePanel()是否可以從CMFCRibbonCategory中刪除CMFCRibbonPanel?

我真的需要重建我的整個CMFCRibbonCategory來做到這一點嗎?

只是澄清,我想要的是從類別中刪除面板本身,而不是面板中的元素。

回答

1

我對CMFCRibbonPanelCMFCRibbonCategory一無所知。在MSDN中看到類聲明後,我認爲你可以從CMFCRibbonCategory得到對CMFCRibbonPanel的引用,並在指針上調用CMFCRibbonPanel::RemoveAll

CMFCRibbonCategory *pCategory = m_wndRibbonBar.GetCategory(0); 

if (pCategory) 
{ 
    CMFCRibbonPanel *pPanel = pCategory->GetPanel(0); 

    if (pPanel) 
    { 
     pPanel->RemoveAll(); 
     m_wndRibbonBar.AdjustSizeImmediate(); 
    } 
} 
+1

我想刪除pPanel本身,而不是面板中的元素。 (pPanel-> GetCount()) VERIFY(pPanel-> Remove(0));} insted of pPanel-> RemoveAll(); 看到https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=377527&wa=wsignin1.0 – mem64k 2009-02-26 16:27:59

+0

我知道這就像3年前,無論如何感謝在未來幫助我。 – 2012-07-26 23:08:25

3

在我的情況下,我最終從頭開始重建類別。在CMFCRibbonCategory源代碼中(查找afxribboncategory.cpp)沒有明顯的方法從面板數組中移除面板。

相關問題