vs2010 中的CMFCRibbonStatusBar 如何不自动更新。

vs2010 中的CMFCRibbonStatusBar 怎么不自动更新。。??
本帖最后由 ganxingguo 于 2015-07-16 21:28:21 编辑
CMainFrm类中的OnCreate函数有一下代码: 
CString strTitleMain; 
CString strTitleMousePt; 

bNameValid = strTitleMain.LoadString(IDS_STATUS_MAIN); 
ASSERT(bNameValid); 
bNameValid = strTitleMousePt.LoadString(IDS_STATUS_MOUSEPT); 
ASSERT(bNameValid); 

m_wndStatusBar.AddElement(new CMFCRibbonStatusBarPane(ID_STATUSBAR_MAIN, strTitleMain, TRUE), strTitleMain); 
m_pStatusBarPane = new CMFCRibbonStatusBarPane(ID_STATUSBAR_MOUSEPT, strTitleMousePt, TRUE);              
                               //m_pStatusBarPane 是我自己定义的 CMFCRibbonStatusBarPane*类型变量

然后在CMainFrm类中自定义函数:
public:
void CTinyCADMainFrame::OnUpDateStatusBar( CString str )
{    
    m_pStatusBarPane->SetText(str);          
    
    m_wndRibbonBar.Invalidate();    
    m_wndRibbonBar.UpdateWindow();
}

最后在view内的OnMouse中调CMainFrm中的函数:    
void CTinyCADView::OnMouseMove(UINT nFlags, CPoint point)
{    
 int nOffsetX = GetScrollPos(SB_HORZ);     
int nOffsetY = GetScrollPos(SB_VERT);           

CPoint pt(0, 0);         
pt.x = point.x + nOffsetX;     
pt.y = point.y + nOffsetY;     

CString strTmp;    
 strTmp.Format(_T("%4d, %4d"), pt.x, pt.y);        

((CTinyCADMainFrame *)AfxGetMainWnd())->OnUpDateStatusBar(strTmp);         

CTinyCADZoomView::OnMouseMove(nFlags, point);
}   


出现的现象是:    坐标可以在状态栏显示,但是状态栏似乎不能自动更新, 鼠标移动到那个状态栏区域了就更新下坐标显示,   不能自动更新,     问下这个改怎么解决???? 
------解决思路----------------------
m_wndStatusBar.GetElement(0)->SetText(str);
m_wndStatusBar.GetElement(0)->Redraw();