在 MFC(Microsoft Foundation Classes)中,CStatusBarCtrl::SetTipText 并不是 CStatusBarCtrl 类的标准方法。如果你想要为状态栏的某个部分设置提示文本,通常是使用 CToolTipCtrl 类的相关方法。

以下是一个基本的示例代码,演示如何使用 CToolTipCtrl 为状态栏的不同部分设置提示文本:
// 假设你的 CMainFrame 类中有一个 CStatusBarCtrl 对象(m_wndStatusBar)
// 和一个 CToolTipCtrl 对象(m_toolTip)

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext)
{
    // 创建状态栏
    if (!m_wndStatusBar.Create(this) ||
        !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)))
    {
        TRACE0("未能创建状态栏\n");
        return FALSE; // 未能创建
    }

    // 创建并启用提示控件
    m_toolTip.Create(this, TTS_ALWAYSTIP);
    m_toolTip.Activate(TRUE);

    // 将提示控件与状态栏关联
    m_toolTip.AddTool(&m_wndStatusBar);

    return TRUE;
}

// 在某个地方设置提示文本,比如窗口的 OnCreate 中
BOOL CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
        return -1;

    // ... 其他初始化代码 ...

    // 设置状态栏的部分1的提示文本
    m_toolTip.AddTool(&m_wndStatusBar, _T("这是部分1的提示文本"), &CRect(0, 0, 100, 20), 1);

    return 0;
}

在这个例子中,CToolTipCtrl 被用来为状态栏的不同部分设置提示文本。你可以根据需要在不同的位置调用 AddTool 方法来设置不同部分的提示文本。

请注意,这只是一个基本的示例,实际使用时可能需要根据你的应用程序结构和需求进行调整。


转载请注明出处:http://www.zyzy.cn/article/detail/22517/MFC/CStatusBarCtrl