首页 电脑教程 电脑知识 如何在MFC中获取对话框客户区鼠标按下位置的坐标代码?

如何在MFC中获取对话框客户区鼠标按下位置的坐标代码?

Jan 24, 2024 pm 08:48 PM

如何在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);

}

如何在MFC中获取对话框客户区鼠标按下位置的坐标代码?

//单击鼠标时,显示鼠标在客户区内的坐标

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中获取对话框客户区鼠标按下位置的坐标代码?

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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
如何修复蒸汽云错误?尝试这些方法 如何修复蒸汽云错误?尝试这些方法 Apr 04, 2025 am 01:51 AM

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

删除PC App Store恶意软件 - 适合您的完整指南! 删除PC App Store恶意软件 - 适合您的完整指南! Apr 04, 2025 am 01:41 AM

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

FIXDISK Windows 7:检查您的硬盘是否Windows 7中的错误 FIXDISK Windows 7:检查您的硬盘是否Windows 7中的错误 Apr 14, 2025 am 12:40 AM

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

核心隔离是否被ew_usbccgpfilter.sys阻止?这是修复程序! 核心隔离是否被ew_usbccgpfilter.sys阻止?这是修复程序! Apr 13, 2025 am 12:47 AM

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

安装图形驱动程序后,努力修复黑屏 安装图形驱动程序后,努力修复黑屏 Apr 15, 2025 am 12:11 AM

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

hacktool:win64/explorerPatcher!mtb-如何删除? hacktool:win64/explorerPatcher!mtb-如何删除? Apr 04, 2025 am 01:23 AM

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

如何通过ISO安装Windows X-Lite最佳11 23H2 HOME/PRO 如何通过ISO安装Windows X-Lite最佳11 23H2 HOME/PRO Apr 09, 2025 am 12:49 AM

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

Win 11构建22621.3078和22631.3078(KB5034204) Win 11构建22621.3078和22631.3078(KB5034204) Apr 05, 2025 am 01:35 AM

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

See all articles