在view类中获得CDC的指针问题
时间:2011-12-28
来源:互联网
在view中的OnDraw(*pDc)中定义了个矩形用的是 pDc然后用pDc做完图后,现在想加功能,就是当鼠标点击图中的点显示该点数据(也就是该点的坐标)。
添加了LButtonDown的消息函数,OnLButtonDown(UINT nFlags, CPoint point)。然后point和图中的坐标不一样,而且少了将近一倍多,即图中的x为2700, point.x为1216左右。 求解答。
在OnLbuttonDown中用GetDc()获取的CDC的指针,是不是这里的问题?如果是的话,应该怎么获取?
先谢谢大家了。
添加了LButtonDown的消息函数,OnLButtonDown(UINT nFlags, CPoint point)。然后point和图中的坐标不一样,而且少了将近一倍多,即图中的x为2700, point.x为1216左右。 求解答。
在OnLbuttonDown中用GetDc()获取的CDC的指针,是不是这里的问题?如果是的话,应该怎么获取?
先谢谢大家了。
作者: modicum_ck 发布时间: 2011-12-28
鼠标操作是屏幕坐标
view里是逻辑坐标,先转换一下
view里是逻辑坐标,先转换一下
作者: ouyh12345 发布时间: 2011-12-28
不知你的矩形是如何定义x和y的,
如果在视类定义,响应视类OnLButtonDown,应该是一样的。
CRect rect1(0,0,400,400); //会在视窗左上角绘矩形。
OnLButtonDown(UINT nFlags, CPoint point);//矩形左上角(及视窗口左上角)坐标应该是 0,0
如果在视类定义,响应视类OnLButtonDown,应该是一样的。
CRect rect1(0,0,400,400); //会在视窗左上角绘矩形。
OnLButtonDown(UINT nFlags, CPoint point);//矩形左上角(及视窗口左上角)坐标应该是 0,0
作者: chinatcp 发布时间: 2011-12-28
在视类中使用 CDC* pDC = GetDC(); 没问题
注意坐标转化,可使用ScreenToClient()
注意坐标转化,可使用ScreenToClient()
作者: jixiang1983 发布时间: 2011-12-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28