如何在MFC中获取对话框客户区鼠标按下位置的坐标代码?
如何在MFC中获取对话框客户区鼠标按下位置的坐标代码?
//在对话窗标题处实时显示客户区内鼠标的坐标
void CTestDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CString str;
str.Format("X:%d Y:%d", point.x, point.y); //格式化鼠标坐标点信息并保存到CString型变量str中
SetWindowText(str); //更新程序窗口Edit控件文本
CDialog::OnMouseMove(nFlags, point);
}
//单击鼠标时,显示鼠标在客户区内的坐标
void CTestDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CString str;
str.Format("x = %d, y = %d", point.x, point.y);
AfxMessageBox(str,MB_ICONQUESTION);
CDialog::OnLButtonDown(nFlags, point);
}
MFC如何获取控件在对话框上的位置坐标
要实现这样的效果需要知道相似位置在这两幅图中的坐标以及这两个控件在对话框上的坐标,然后通过加减运算就可以得到图像上的相似区域在对话框的坐标,直接将这两个坐标用直线连接就可以了。
为此,如何获得控件在对话框上的坐标是关键问题。编写了如下的测试小程序,目的是将两个picture控件中的点用直线连接起来,比较直观的是picture控件的四个角,所以程序中是将控件的拐角连接起来。首先在对话框上并排放置两个同样大小的picture控件,将他们的标识分别设成IDC_LEFT和IDC_RIGHT,然后添加两个编辑框用于显示picture控件的大小,给这两个编辑框添加相应的数据成员m_row和m_colume。添加一个按钮用于连接picture控件中的点,为这个按钮添加成员函数OnMatch() 。
void CControlDlg::OnMatch(){// TODO: Add your control notification handler code here
CRect rectL,rectR;
如何在MFC的OnMouseMove消息处理函数中得到鼠标的坐标
void CQiHuoView::OnMouseMove(UINT nFlags, CPoint point)//鼠标移动
{
CClientDC dc(this);
CPen dashpen(PS_SOLID,1,RGB(255,255,255));
dc.SetBkMode(TRANSPARENT);
dc.SelectObject(&dashpen);
int x=0,y=0;
x = point.x;
y = point.y;
CString a;a.Format(_T("%d, %d"),x,y);
dc.SetTextColor(RGB(255,0,0));
dc.TextOut(800,310,a);//显示坐标,这里的800,300是显示的位置,根据情况自己设置
以上是如何在MFC中获取对话框客户区鼠标按下位置的坐标代码?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

蒸汽云错误可能是由于许多原因引起的。要顺利玩游戏,您需要采取一些措施来删除此错误,然后才能启动游戏。 PHP.CN软件在这篇文章中介绍了一些最佳方法以及更多有用的信息。

如果您在计算机上有一个名为PC App Store的程序,并且没有故意安装它,则可能会感染恶意软件。 PHP.CN的这篇文章介绍了如何删除PC App Store恶意软件。

如果您怀疑自己的硬盘遇到问题,可以检查Windows 7上的错误。此php.cn帖子讨论了FixDisk Windows 7。您可以遵循该指南以检查Windows 7上的错误。

许多Surfacebook用户报告说,他们符合Windows 11/10上的“由EW_USBCCGPFILTER.SYS阻止的核心隔离”问题。 PHP.CN的这篇文章有助于解决烦人的问题。继续阅读。

在Windows 10/11中安装了像NVIDIA驱动程序这样的图形驱动程序之后,您是否曾经遇到过黑屏?现在,在PHP.CN的这篇文章中,您可以找到一些值得尝试的NVIDIA驱动程序更新黑屏的解决方案。

ExplorerPatcher是一种开源可行可执行文件,可让您自定义Windows 11开始菜单,任务栏,文件资源管理器等。但是,许多用户会收到有关HackTool的Trojan警告:Win64/ExplorerPatcher!MTB。为什么会发生

如果您需要基于Windows 11 23H2的自定义LITE系统,则可以选择Windows X-Lite最佳11 23H2 HOME或OVERMIM 11 PRO。继续阅读,PHP.CN将向您展示如何下载最佳11 23H2 ISO并在PC上安装Pro或Home。

是否想知道Windows 11 KB5034204中的新改进和错误修复?想要如何在设备上获取Windows 11 KB5034204?在这篇文章中,PHP.CN软件将介绍您想知道的信息。
