MFC状态栏显示坐标

时间:2020-12-29 16:04:47

首先需要在MainFrame.h中将protect:下面的的CMFCStatusBar     m_wndStatusBar;改为public,以便获取访问权限。

改动如下:

public:
CMFCStatusBar m_wndStatusBar;
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif

protected: // 控件条嵌入成员
CMFCMenuBar m_wndMenuBar;
CMFCToolBar m_wndToolBar;

CMFCToolBarImages m_UserImages;
CFileView m_wndFileView;
CClassView m_wndClassView;
COutputWnd m_wndOutput;
CPropertiesWnd m_wndProperties;


然后,在view.h中添加头文件#include"MainFrame.h",然后添加MouseMove消息函数,代码如下:

CString str;
CRect r;
GetClientRect(&r);
str.Format(L" %d,%d", point.x - (r.Width() / 2), (r.Height() / 2) - point.y);
((CMainFrame*)GetParent())->m_wndStatusBar.SetWindowText(str);


效果如下图所示:

MFC状态栏显示坐标