为什么要做这件事??加分~~~~~

outiejun 2002-07-24 06:23:19
CClientDC dc(this);
OnPrepareDC(&dc);
CRect rectDevice=m_rectEllipse;
dc.LPtoDP(rectDevice);


为什么要dc.LPtoDP ??

我看的是英文资料,有些问题讲得很清楚,但这个我不太明白。

还有OnPrepareDC(&dc);做一些什么事情呢?
...全文
30 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
andy_lau 2002-07-25
  • 打赏
  • 举报
回复
1。一般情况下CWnd类以及其派生类的成员函数所使用的坐标为设备坐标
2。而CDC类以及其派生类的成员函数所使用的为逻辑坐标
3。并且如果你想进行健击测试的化(如判断当前鼠标坐标是否在某区域),则一般应在设备坐标中进行。
-----------------
一般也就在这几种情况下出现坐标不一致的情况,
可以用下面的函数进行转换(常用)
LPtoDP-----逻辑->设备
DPtoLp-----设备-〉逻辑

andy_lau 2002-07-25
  • 打赏
  • 举报
回复
一般情况下CWnd类以及其派生类的成员函数所使用的坐标为设备坐标
而CDC类以及其派生类的成员函数所使用的为逻辑坐标
并且如果你想进行健击测试的化(如判断当前鼠标坐标是否在某区域),则一般应在设备坐标中进行。
zxjmm 2002-07-24
  • 打赏
  • 举报
回复
转换设备环境
outiejun 2002-07-24
  • 打赏
  • 举报
回复
这是inside Visual C++里讲得,但能不能在具体一点呢?
rokia 2002-07-24
  • 打赏
  • 举报
回复
邏輯單元轉換為設備單元。 我想是由於不同的設置下坐標是不同的,所以如果要精確定位的話,可能需要轉一下
wltsui 2002-07-24
  • 打赏
  • 举报
回复
The LPtoDP function converts logical coordinates into device coordinates. The conversion depends on the mapping mode of the device context, the settings of the origins and extents for the window and viewport, and the world transformation.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧