CMFCRibbonPanel
からを削除するためのトリックを探していCMFCRibbonCategory
ます。AddPanel()
には関数だけがありますがCMFCRibbonCategory
、ありませんRemovePanel()
。
これを行うには、本当に全体を再構築する必要がありCMFCRibbonCategory
ますか?
明確にするために、私が望むのは、パネルの要素ではなく、パネル自体をカテゴリから削除することです。
CMFCRibbonPanel
からを削除するためのトリックを探していCMFCRibbonCategory
ます。AddPanel()
には関数だけがありますがCMFCRibbonCategory
、ありませんRemovePanel()
。
これを行うには、本当に全体を再構築する必要がありCMFCRibbonCategory
ますか?
明確にするために、私が望むのは、パネルの要素ではなく、パネル自体をカテゴリから削除することです。
私の場合、カテゴリを最初から再構築することになりました。CMFCRibbonCategory
ソース コード ( を探します) には、afxribboncategory.cpp
パネル配列からパネルを削除する明らかな方法はありません。
CMFCRibbonPanel
とについては何も知りませんCMFCRibbonCategory
。CMFCRibbonPanel
MSDN でクラス宣言を見た後、 fromへの参照を取得してポインターCMFCRibbonCategory
を呼び出すことができると思いました。CMFCRibbonPanel::RemoveAll
CMFCRibbonCategory *pCategory = m_wndRibbonBar.GetCategory(0);
if (pCategory)
{
CMFCRibbonPanel *pPanel = pCategory->GetPanel(0);
if (pPanel)
{
pPanel->RemoveAll();
m_wndRibbonBar.AdjustSizeImmediate();
}
}