在 MainFrm.cpp 中
static UINT indicators[] = { ID_SEPARATOR, // 状态行指示器 IDS_POS, IDS_TIMER, //添加显示时间的指示器 ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, }; //在OnCreate()中 SetTimer(1, 1000, NULL); void CMainFrame::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调用默认值 COleDateTime t = COleDateTime::GetCurrentTime(); CString str = t.Format(L"%H:%M:%S"); CClientDC dc(this); CSize sz = dc.GetTextExtent(str); int nIndex = m_wndStatusBar.CommandToIndex(IDS_TIMER); m_wndStatusBar.SetPaneInfo(nIndex, IDS_TIMER, SBPS_NORMAL, sz.cx); m_wndStatusBar.SetPaneText(nIndex, str); CFrameWnd::OnTimer(nIDEvent); } //设置鼠标的坐标,在view.cpp void CSDIView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CString str; str.Format(L"(%d, %d)", point.x, point.y); CStatusBar* pSB = (CStatusBar*)((CMainFrame*)GetParent())->GetMessageBar(); int nIndex = pSB->CommandToIndex(IDS_POS); CClientDC dc(this); CSize sz = dc.GetTextExtent(str); pSB->SetPaneInfo(nIndex, IDS_POS, SBPS_NORMAL, sz.cx); pSB->SetPaneText(nIndex, str); //GetParent()->GetDescendantWindow(AFX_IDW_STATUS_BAR)->SetWindowText(str); //((CMainFrame*)GetParent())->SetMessageText(str); //pSB->SetWindowText(str); CView::OnMouseMove(nFlags, point); }