在我的程序里.我在状态条上划分了一个区域可以.可是不知道怎样划分两个区域.请指教..

解决方案 »

  1.   

    使用CStatusBar::SetIndicators(const UINT* lpIDArray, int nIDCount)来指定所有的IndicatorlpIDArray指定了一个ID的数组,如
    static UINT indicators[] =
    {
      ID_SEPARATOR,           // status line indicator
      ID_INDICATOR_CAPS,
      ID_INDICATOR_NUM,
      ID_INDICATOR_SCRL,
    };
      

  2.   

    我只定了.可是程序说我是建立空文档失败.
    static UINT indicators[] =
    {
    ID_SEPARATOR,           // status line indicator
    ID_PANE1,
    ID_PANE2,
    }; if (!m_wndStatusBar.Create(this,WS_CHILD | WS_VISIBLE |CBRS_NOALIGN) ||
    !m_wndStatusBar.SetIndicators(indicators,
      sizeof(indicators)/sizeof(UINT)))
    {
    TRACE0("Failed to create status bar\n");
    return -1;      // fail to create
    }
    m_wndStatusBar.SetPaneInfo( 1,ID_STATUS_FLAG,SBPS_STRETCH   ,10);
    m_wndStatusBar.SetPaneText (1, "\t等待联机", TRUE);
    m_wndStatusBar.SetPaneInfo(2,ID_STATUS_FLAGE,SBPS_POPOUT,10);
    m_wndStatusBar.SetPaneText (2, "\t等待联", TRUE);
      

  3.   

    if (!m_wndStatusBar.Create(this,1,2WS_CHILD | WS_VISIBLE |CBRS_NOALIGN) ||
    !m_wndStatusBar.SetIndicators(indicators,
      sizeof(indicators)/sizeof(UINT)))
    {
    TRACE0("Failed to create status bar\n");
    return -1;      // fail to create
    }
    m_wndStatusBar.SetPaneInfo( 1,ID_STATUS_FLAG,SBPS_STRETCH   ,10);
    m_wndStatusBar.SetPaneText (1, "\t等待联机", TRUE);
    m_wndStatusBar.SetPaneInfo(2,ID_STATUS_FLAGE,SBPS_POPOUT,10);
    m_wndStatusBar.SetPaneText (2, "\t等待联", TRUE);
      

  4.   

    ID_PANE1、ID_PANE1这ID你有没有定义阿?
      

  5.   

    Sorry!
    Try it !
    if (!m_wndStatusBar.Create(this,1,2) ||
    !m_wndStatusBar.SetIndicators(indicators,
      sizeof(indicators)/sizeof(UINT)))
      

  6.   

    ID_PANE1、ID_PANE1这ID我定义了..位子没有错...
    而且问题出在
    !m_wndStatusBar.SetIndicators(indicators,
      sizeof(indicators)/sizeof(UINT))
    大家帮我分析分析..谢谢
      

  7.   

    if (!m_wndStatusBar.Create(this,1,2) ||
    !m_wndStatusBar.SetIndicators(indicators,
      sizeof(indicators)/sizeof(UINT)))我试了.还是说建立空文档失败
      

  8.   

    你把代码写在哪里了,应该写在OnCreate(LPCREATESTRUCT lpCreateStruct) 函数里才行。
      

  9.   

    问题解决了...可是有点奇怪..
    static UINT indicators[] =
    {
      ID_SEPARATOR,           // status line indicator
      ID_PANE1,//必须相同
      ID_PANE1,//必须相同
    };
      

  10.   

    #define ID_STATUS_FLAG 100001
    #define ID_STATUS_FLAGE 100002if (!m_wndStatusBar.Create(this) ||
    !m_wndStatusBar.SetIndicators(indicators,
      sizeof(indicators)/sizeof(UINT)))
    {
    TRACE0("Failed to create status bar\n");
    return -1;      // fail to create
    }
    m_wndStatusBar.SetPaneInfo( 1,ID_STATUS_FLAG,SBPS_STRETCH   ,10);
    m_wndStatusBar.SetPaneText (1, "\t等待", TRUE);
    m_wndStatusBar.SetPaneInfo(2,ID_STATUS_FLAGE,SBPS_POPOUT,10);
    m_wndStatusBar.SetPaneText (2, "\t运行", TRUE);在我的机子上没有什么问题,在wizard自动生成的单文档的状态条的第2,3item分别显示了要先是的信息,我想:是不是别处的错误?
    再就是我是用m_wndStatusBar.Create(this),用你的根本不显示状态条!