VS2010中单文档/多文档程序----状态栏操作

在状态栏里显示鼠标移动在客户区移动时的坐标位置,具体方法如下:
1、新建一个MFC单文档应用程序;
2、添加一个新的状态栏窗格;
在CMainFrame类的实现文件的开始部分,在indicators数据中添加ID_SEPARATOR;
3、在CxxxView类中通过ClassWizard添加鼠标指针移动WM_MOUSEMOVE的消息处理函数OnMouseMove(),并在OnMouseMove()函数中添加代码完成鼠标指针坐标的显示。
完成鼠标坐标指针显示的方法有3中:
方法一:使用SetWindowText()函数,在OnMouseMove()函数中添加如下代码:

CSting str;
str.Format("X:%d  Y:%d",point.x,piont.y);
((CMainFram*)GetParent())->m_wndStatusBar.SetWindowText(str);

注:此方法需将CMainFrame中的m_wndStatusBar改为public类型,而且还要在CxxxView类的执行文件中加入CMainFrame类的头文件#include“MainFram.h”,这样虽达到相应的效果,但破坏了CMainFrame的封装特性,不建议使用。
方法二、使用SetMessageText()函数,在OnMouseMove()函数中添加如下代码:

CString str;
str.Format("X:%d  Y:%d",point.x,point.y);
((CFrameWnd*)GetParent())->SetMessageText(str);

方法三、使用SetPanelText()函数,在OnMouseMove()函数中添加如下代码:

CStatus* pStatus;
pStatus=(CStatusBar*)(AfxGetApp()->m_pMainWnd->GetDescendantWindow(AFX_IDW_STATUS_BAR));
pStatus->SetPaneText(1,str);

使用第三种方法可以在状态栏中任意窗口格上显示鼠标指针坐标,而不会像一、二两种方法,只能在第一窗格中显示鼠标指针坐标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值