更改 CMFCRibbonStatusBar 的文本,但显示第一个字符和三个点(如“C...”)

hes*_*ini 2 c++ user-interface mfc statusbar visual-c++

在我的项目 (VC++,mfc,2010) 中,我想更改状态栏文本。

变量是:

CMFCRibbonStatusBar  m_wndStatusBar;
Run Code Online (Sandbox Code Playgroud)

代码是:

{

    CString strTitlePane1=_T(""); 
    m_wndStatusBar.AddElement(new CMFCRibbonStatusBarPane(ID_STATUSBAR_PANE1, strTitlePane1,TRUE), strTitlePane1);
    m_wndStatusBar.GetElement(0)->SetText(_T("Connecting"));

}
Run Code Online (Sandbox Code Playgroud)

但我在状态栏中看到: C...

我的问题是什么?

Rog*_*and 5

创建 之后CMFCRibbonStatusBarPane,您需要通过调用 来设置预期的最大文本大小CMFCRibbonStatusBarPane::SetAlmostLargeText

例如:

CString strTitlePane1=_T(""); 
CMFCRibbonStatusBarPane* pPane = new CMFCRibbonStatusBarPane(ID_STATUSBAR_PANE1,
                                                  strTitlePane1,TRUE);
pPane.SetAlmostLargeText(_T("Connecting"));

m_wndStatusBar.AddElement(pPane, strTitlePane1);
m_wndStatusBar.GetElement(0)->SetText(_T("Connecting"));
Run Code Online (Sandbox Code Playgroud)