MFC中状态栏显示鼠标坐标位置

简介:


1,利用MFC向导创建一个应用工程ewq。
2,打开ResourceView,右击Menu菜单,插入Menu,在空白处双击,Caption中填入Point。
3,为Point设置下拉菜单,ID为ID_INDICATOR_POINT;Caption为point;Prompt为X:XXXX,Y:YYYY。
4,打开MainFrm.cpp,在indicators数组中的第二个位置添加ID_INDICATOR_POINT。
5,将MainFrm中的成员变量m_wndStatusBar修改为公有变量,并在视图类中添加头文件#include "MainFrm.h"。
6,利用类向导添加鼠标移动消息处理函数WM_MOUSEMOVE(),并添加如下代码为:
void CEwqView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC   dc(this);  
CMainFrame *pFrame=(CMainFrame *)AfxGetApp()->m_pMainWnd;  
CStatusBar *pStatusBar=(CStatusBar *)&pFrame->m_wndStatusBar;  
CString   str;  
str.Format("X:%d,Y:%d",point.x,point.y);  
   CSize size=dc.GetTextExtent(str);  
int nIndex=pStatusBar->CommandToIndex(ID_INDICATOR_POINT);  
pStatusBar->SetPaneInfo(nIndex,ID_INDICATOR_POINT,SBPS_NORMAL,size.cx);  
pStatusBar->SetPaneText(nIndex,str);  


CView::OnMouseMove(nFlags, point);
}
7,成功运行,在状态栏中第二个位置显示鼠标的当前坐标。

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。



    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5929313.html,如需转载请自行联系原作者


相关文章
|
3月前
MFC隐藏对话框边框和可拖动
MFC隐藏对话框边框和可拖动
C#创建无边框可拖动窗口
C#创建无边框可拖动窗口
171 0
|
C++ Windows
2.1 窗口和控件
2.1 窗口和控件
2.1 窗口和控件
QT软件开发: 点击鼠标在窗口里绘制矩形(窗口透明背景)
QT软件开发: 点击鼠标在窗口里绘制矩形(窗口透明背景)
466 0
QT软件开发: 点击鼠标在窗口里绘制矩形(窗口透明背景)
|
C#
WPF 获取鼠标屏幕位置、窗口位置、控件位置
原文:WPF 获取鼠标屏幕位置、窗口位置、控件位置 public struct POINT { public int X; public int Y; ...
1819 0
|
C#
WPF 获得鼠标相对于屏幕的位置,相对于控件的位置
原文:WPF 获得鼠标相对于屏幕的位置,相对于控件的位置 相对于屏幕的位置   第一步:     ///     /// 用于获得鼠标相对于屏幕的位置    ///     public class Win32    {        [StructLayout(LayoutKind.
1124 0
|
C# Windows
WPF中获取鼠标相对于屏幕的位置
原文:WPF中获取鼠标相对于屏幕的位置              WPF中获取鼠标相对于屏幕的位置                                   周银辉WPF编程时,我们经常使用Mouse.GetPosition(IInputElement relativeTo)或MouseEventArgs.GetPosition(IInputElement relativeTo)来获取鼠标相对于某一界面元素的相对位置,这自然也联想到另外的一个问题:如何获取鼠标相对于屏幕的位置。
1149 0