如何将vc程序的状态栏缺省文字"就绪", 改为自定义的文本串, 希望在运行过程中可以修改

解决方案 »

  1.   

    ((CMainFrame *)AfxGetApp()->m_pMainWnd)->m_wndStatusBar.SetPaneText(0,_T("hello!"),TRUE);
      

  2.   

    修改String Table资源里面的IDR_MAINFRAME的第一个\n之前的字符串即可
      

  3.   

    感谢, SetPaneText后, 鼠标移动至工具条, 又恢复成"就绪", 而修改IDR_MAINFRAME, 不能运行过程中修改, 再次等待
      

  4.   

    ((CFrameMain*)AfxGetMainWnd())->m_wndStatusBar.SetPaneText(0,_T("hello!"),TRUE);
      

  5.   

    响应WM_SETMESSAGESTRING消息就可以了
    声明:
    afx_msg LRESULT OnSetMessageString(WPARAM wParam, LPARAM lParam);MESSAGE_MAP:
    ON_MESSAGE(WM_SETMESSAGESTRING, OnSetMessageString)定义:
    LRESULT CMainFrame::OnSetMessageString(WPARAM wParam, LPARAM lParam)
    {
    static int n = 0;
    LRESULT lr = CFrameWnd::OnSetMessageString(wParam, lParam);
    WPARAM w = AFX_IDS_IDLEMESSAGE;
    if (wParam == AFX_IDS_IDLEMESSAGE) {
    CString str;
    str.Format("hello : %d", n++);
    m_wndStatusBar.SetPaneText(0, str, TRUE);
    }
    return lr;
    }
      

  6.   

    使用WM_SETMESSAGESTRING要加一个头文件
    #include "afxpriv.h"