もう一度自分の質問に答えます...
テキストを変更しようとするのではなく、ラベルを追加および削除することで問題を回避しました。
ラベルを追加するコード:
CMFCRibbonLabel* pLabel = new CMFCRibbonLabel(description);
pLabel->SetID(ID_MYLABEL); // ID is 0 by default
m_wndStatusBar.AddDynamicElement(pLabel);
m_wndStatusBar.RecalcLayout();
m_wndStatusBar.RedrawWindow();
後でその ID を使用して呼び出すことができるように、ID を設定していることに注意してくださいCMFCRibbonStatusBar::RemoveElement()
。RecalcLayout()
およびの呼び出しはRedrawWindow()
、変更を表示するために必要です。
ラベルを削除するコード:
if(m_wndStatusBar.RemoveElement(ID_MYLABEL))
{
m_wndStatusBar.RecalcLayout();
m_wndStatusBar.RedrawWindow();
}