新建多文档工程,StatusBar里文字是“就绪”,点菜单会有不同的字,如“建立新文档”、“打开一个现有文档”...
我现在用CStatusBar::SetPaneText(nIndex, lpszNewText, TRUE);当时StatusBar里文字是变成我想要了,但是一点菜单文字又是系统里面的,现在问如何屏蔽掉系统StatusBar里的提示,请大家帮忙。谢谢!

解决方案 »

  1.   

    资源中每一项菜单都有个Prompt,将其清空。
      

  2.   

    static UINT indicators[] =
    {
    //ID_SEPARATOR,           // status line indicator
    //ID_INDICATOR_CAPS,
    //ID_INDICATOR_NUM,
    //ID_INDICATOR_SCRL,
    ID_FLAG,
    ID_CHANNELNAME,
    ID_QULITY,
    ID_STRENTH,
    ID_DVBSTIMER,};
    把原来的默认id去掉换成你的id就ok了,改原来的默认的,如果再要改回来就麻烦了
      

  3.   

    资源中每一项菜单都有个Prompt,将其清空
    ——---------------------
    效果同"编辑菜单资源",不是屏蔽
      

  4.   

    static UINT indicators[] =
    {
    ID_SEPARATOR,           // status line indicator
    ID_SEPARATOR,
    ID_INDICATOR_CAPS,
    ID_INDICATOR_OVR,
    ID_INDICATOR_NUM,
    ID_INDICATOR_SCRL,
    };
    那就加个栏
    SetPaneText(1,str);
      

  5.   

    可能我没说清楚:
    我现在用SetPaneText设定了我想要的文字,但是一点菜单我的文字就变化了,这是我不期望的,我希望StatusBar一直是我自己设定的文字,不希望系统文字干预,将其改变,去掉资源里面的提示,StatusBar里面就是空的
      

  6.   

    如5,8樓所說, 把MainFrame中的indicators數組原來的內容屏蔽掉,定義一個ID,設置就可以了。
    #define ID_INDICATOR_MY 60000
    static UINT indicators[] =
    {
    //ID_SEPARATOR,           // status line indicator
    //ID_INDICATOR_X,
    //ID_INDICATOR_Y,
    //ID_INDICATOR_CAPS,
    //ID_INDICATOR_NUM,
    //ID_INDICATOR_SCRL,
            ID_INDICATOR_MY,
    };SetPaneText(0,str);就可以了。