void CMainFrame::UpdateStatusBarCountPane(int nID, CString strText, int nCount) { // <snippet8> // CMFCRibbonStatusBar m_wndStatusBar CMFCRibbonBaseElement* pPane = m_wndStatusBar.FindByID(nID); // </snippet8> if (pPane != NULL) { if (nCount == 0) { strText += _T(": None"); } else { CString strFormatted; strFormatted.Format(_T(": %d"), nCount); strText += strFormatted; } // <snippet9> pPane->SetDescription(_T("a pane")); // CString strText pPane->SetText(strText); pPane->SetKeys(_T("p")); pPane->SetToolTipText(_T("this is a pane")); // </snippet9> } }
LRESULT CMainFrame::OnStatusUpdate(WPARAM wParam, LPARAM lParam) { CString *status = reinterpret_cast<CString *>(lParam); std::_tstring text = _T("Ready"); if (status) { text = *status; delete status; } CMFCRibbonBaseElement * elem = wParam == 0 ? m_wndStatusBar.GetElement(wParam) : m_wndStatusBar.GetExElement(wParam - 1); elem->SetText(text.c_str()); if (wParam > 0) { if (text.length()) m_wndStatusBar.RecalcLayout(); m_wndStatusBar.RedrawWindow(); } return 0; }