Можно ли удалить CMFCRibbonPanel из CMFCRibbonCategory? - PullRequest
1 голос
/ 26 февраля 2009

Я ищу трюк для удаления CMFCRibbonPanel из CMFCRibbonCategory. В CMFCRibbonCategory есть только функция AddPanel(), но нет RemovePanel().

Мне действительно нужно перестроить весь мой CMFCRibbonCategory, чтобы сделать это?

Просто для пояснения, я хочу удалить саму панель из категории, а не элементы из панели.

Ответы [ 2 ]

3 голосов
/ 05 марта 2009

В моем случае я перестроил категорию с нуля. В исходном коде CMFCRibbonCategory (ищите afxribboncategory.cpp) нет очевидного способа удалить панель из массива панелей.

1 голос
/ 26 февраля 2009

Я ничего не знаю о CMFCRibbonPanel и CMFCRibbonCategory. После просмотра объявления класса в MSDN я подумал, что вы можете получить ссылку на CMFCRibbonPanel из CMFCRibbonCategory и вызвать CMFCRibbonPanel::RemoveAll на указателе.

CMFCRibbonCategory *pCategory = m_wndRibbonBar.GetCategory(0);

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

     if (pPanel)
     {
        pPanel->RemoveAll();
        m_wndRibbonBar.AdjustSizeImmediate();
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...