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,成功运行,在状态栏中第二个位置显示鼠标的当前坐标。

上一篇:【BZOJ】3529: [Sdoi2014]数表


下一篇:Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)