实现在Picture控件中获取鼠标位置
2012-04-26 18:47
344 查看
在新建MFC工程中加入消息映射,如下:(红色部分为添加)
BEGIN_MESSAGE_MAP(CMymfcDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_ReadImg, &CMymfcDlg::OnBnClickedReadImg)
ON_BN_CLICKED(IDC_OpenCam, &CMymfcDlg::OnBnClickedOpenCam)
END_MESSAGE_MAP()
在xxDlg.cpp中添加
void CMymfcDlg::OnMouseMove(UINT nFlags, CPoint point)
{
ClientToScreen(&point);//将鼠标坐标转换成屏幕坐标
CRect rect;//定义一个矩形框,包含左上角和右下角可访问成员
GetDlgItem(IDC_ShowImg)->GetClientRect(rect);//获取Picture控件的位置信息,存入rect中
GetDlgItem(IDC_ShowImg)->ClientToScreen(rect);//转换成屏幕坐标
if (rect.PtInRect(point))//判断point是否在rect内部
AfxMessageBox("1");
//CDialog::OnMouseMove(nFlags, point);
}
void CMymfcDlg::OnLButtonDown(UINT nFlags, CPoint point) //鼠标按下
{
ClientToScreen(&point);//将鼠标坐标转换成屏幕坐标
CRect rect;//定义一个矩形框,包含左上角和右下角可访问成员
GetDlgItem(IDC_ShowImg)->GetClientRect(rect);//获取Picture控件的位置信息,存入rect中
GetDlgItem(IDC_ShowImg)->ClientToScreen(rect);//转换成屏幕坐标
if (rect.PtInRect(point))//判断point是否在rect内部
{
AfxMessageBox("Haibara Ai"); //鼠标一按下就会送出消息(以对话框形式)
//m_ptOrigin=m_ptOld=point; //将当前鼠标按下的位置用m_ptOrigin记录
//m_bDraw=TRUE; //将鼠标按下标志置为TURE
}
// CMymfcDlg::OnLButtonDown(nFlags, point); //函数自调用,循环检测。nFlags 表示控制键状态
//(包括 ctrl,shift,鼠标左、中、右共5个键的状态)
//point表示鼠标坐标。(相对于当前窗口而言的坐标)
}
BEGIN_MESSAGE_MAP(CMymfcDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_ReadImg, &CMymfcDlg::OnBnClickedReadImg)
ON_BN_CLICKED(IDC_OpenCam, &CMymfcDlg::OnBnClickedOpenCam)
END_MESSAGE_MAP()
在xxDlg.cpp中添加
void CMymfcDlg::OnMouseMove(UINT nFlags, CPoint point)
{
ClientToScreen(&point);//将鼠标坐标转换成屏幕坐标
CRect rect;//定义一个矩形框,包含左上角和右下角可访问成员
GetDlgItem(IDC_ShowImg)->GetClientRect(rect);//获取Picture控件的位置信息,存入rect中
GetDlgItem(IDC_ShowImg)->ClientToScreen(rect);//转换成屏幕坐标
if (rect.PtInRect(point))//判断point是否在rect内部
AfxMessageBox("1");
//CDialog::OnMouseMove(nFlags, point);
}
void CMymfcDlg::OnLButtonDown(UINT nFlags, CPoint point) //鼠标按下
{
ClientToScreen(&point);//将鼠标坐标转换成屏幕坐标
CRect rect;//定义一个矩形框,包含左上角和右下角可访问成员
GetDlgItem(IDC_ShowImg)->GetClientRect(rect);//获取Picture控件的位置信息,存入rect中
GetDlgItem(IDC_ShowImg)->ClientToScreen(rect);//转换成屏幕坐标
if (rect.PtInRect(point))//判断point是否在rect内部
{
AfxMessageBox("Haibara Ai"); //鼠标一按下就会送出消息(以对话框形式)
//m_ptOrigin=m_ptOld=point; //将当前鼠标按下的位置用m_ptOrigin记录
//m_bDraw=TRUE; //将鼠标按下标志置为TURE
}
// CMymfcDlg::OnLButtonDown(nFlags, point); //函数自调用,循环检测。nFlags 表示控制键状态
//(包括 ctrl,shift,鼠标左、中、右共5个键的状态)
//point表示鼠标坐标。(相对于当前窗口而言的坐标)
}
相关文章推荐
- 实现在Picture控件中获取鼠标位置(OnMouseMove)
- MFC 获取picture控件的鼠标点击坐标位置的方法(PreTranslateMessag)
- MFC 获取picture控件的鼠标点击坐标位置的方法
- MFC 获取picture控件的鼠标点击坐标位置的方法
- MFC 获取picture控件的鼠标点击坐标位置的方法
- js实现获取鼠标当前的位置
- 在WebBrowser控件中获取鼠标在网页(不是浏览器窗口)上点击的位置,
- 源码:通过鼠标停靠,取鼠标所在位置的控件类名的示范实例。附源码与实现说明
- jquery实现div遮罩效果,并获取鼠标位置。
- jQuery实现获取table中鼠标click点击位置行号与列号的方法
- 获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
- C++实现WebBrowser控件中对鼠标点击事件的监听,并获取所点击标签的超链接
- VC下利用Picture控件实现png图片按钮(鼠标初始、按下、松开、获得焦点四种状态)
- WPF 获取鼠标屏幕位置、窗口位置、控件位置
- js获取鼠标点击的位置实现思路及代码
- VC下利用Picture控件实现png图片按钮(鼠标初始、按下、松开、获得焦点四种状态)
- 获取鼠标在div中的相对位置的实现代码
- 获取鼠标停留位置页面控件ID
- WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条)