1、获取鼠标位置(在屏幕的位置)
CPoint m_mouse;
GetCursorPos(&m_mouse);
2、 屏幕转化为客户端(控件的相对位置)& 客户端位置转化为屏幕位置
ClientToScreen(this->m_hwnd,m_mouse); //客户端位置转化为屏幕位置
ScreenToClient(this->m_hwnd,m_mouse) ; //屏幕转化为客户端
3、获取控件关于在屏幕的位置
CRect rc
GetWindowRect(&rc);
4、检测鼠标的action的方式多,自己用的多的是msdn上介绍的callback的鼠标钩子(低级钩子)函数来实现
1> 、对鼠标进行的几个全局变量进行声明:
将这部分放置在C++类的外部
/* 全局变量和全局函数定义 设定一个鼠标低级钩子变量 */ HHOOK mouse_Hook ; LRESULT CALLBACK LowLevelMouseProc ( INT nCode, WPARAM wParam, LPARAM lParam ); BOOL UninstallHook(); //卸载 BOOL InstallHook(); //安装
2>、在构造函数中初始化
1 mouse_Hook=NULL; //将钩子NULL
3>、在初始化函数中安装Hook
1 InstallHook()
4>、在析构函数中添加
UninstallHook()
5>、 在当前cpp的类外中定义声明的三个函数
1