我想在状态栏加上自己要显示的东西,例如是MOUSE POINT(显示鼠标的坐标)
改变了INDICATOR数组,也在字串表里加了ID
但是在向导里找不到该消息
请问要怎么才能通过向导添加 状态栏里的消息响应函数??

解决方案 »

  1.   

    1)
    在mainfrm.cpp里面修改
    static UINT indicators[] =
    {
    ID_SEPARATOR,           // status line indicator
    ID_SEPARATOR,           // 显示鼠标坐标
    ID_INDICATOR_CAPS,
    ID_INDICATOR_NUM,
    ID_INDICATOR_SCRL,};2)在view里映射WM_MOUSEMOVE
    void CXXXXView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    CScrollView::OnMouseMove(nFlags, point);         CStatusBar* pStatus=(CStatusBar*)
          AfxGetApp()->m_pMainWnd->GetDescendantWindow(AFX_IDW_STATUS_BAR);
    if(pStatus){
    point+=GetScrollPosition(); //得到当前滚动窗口下的坐标
    str.Format("x:%i  y:%i",point.x,point.y);
    pStatus->SetPaneText(1,str);
             }
    }
      

  2.   

    1、复制一个ID_SEPATRATOR
    2、添加鼠标的移动消息处理函数,看清楚是“鼠标的移动消息处理函数”
    要在你的View中,,“WM_MOUSEMOVE”,那么创建后的函数是OnMouseMove()
    这些过后,你会发现你多了些:
    afx_msg void OnMouseMove(UINT nFlags, CPoint point); ON_WM_MOUSEMOVE()void CMyView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default

    CView::OnMouseMove(nFlags, point);
    }
    3项。
    3、在函数里处理坐标显示(这个不用说了吧?)
      

  3.   

    我的还晚了:)函数内容如cbc所给。