如何在MFC中获取鼠标左键单击后的坐标

如何在MFC中获取鼠标左键单击后的坐标,第1张

设置两个全局的坐标类 CPoint pOld和pCurrent 分别记录上一次按下左键时候的坐标和当前点的坐标,程序初始化的时候pOld = pCurrent ;

void CPenDlg::OnLButtonDown(UINT nFlags, CPoint point)

{

pCurrent = point;

//你的画线代码

pOld = pCurrent;

CDialog::OnLButtonDown(nFlags, point);

}

1在View类里设3个CPoint型变量,oldbegin,oldend用来表示移动过程中,刚才直线所在位置的起点,终点坐标,oldclick用来表示按下鼠标左键时,点击点的坐标

2在LButtonDown响应函数里,令oldclick=point,point是鼠标响应函数是参数

3在MouseMove响应函数里,把原直线擦去(擦去的方法要看你是怎么实现画直线的了,我也不知道你是怎么实现的,你自己分析吧),然后求出新的直线的两点坐标

(oldbeginx+pointx-oldclickx,oldbeginy+pointy-oldclicky),

(oldendx+pointx-oldclickx,oldendy+pointy-oldclicky),

希望对你有帮助

CRect r(0,0,100,100); //控件区域

CPoint pt(0,0);

ScreenToClient(&r);

ScreenToClient(&pt);

以上就是关于如何在MFC中获取鼠标左键单击后的坐标全部的内容,包括:如何在MFC中获取鼠标左键单击后的坐标、MFC 鼠标移动获取坐标和画线、mfc 获取鼠标坐标 我需要在某个控件内获取 不是整个对话框等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9757526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存