请教设备坐标和逻辑坐标的概念!

harrot 2000-05-14 12:02:00
我学vc没有多久,对它的坐标系统没多少的了解,相请教各位有关的知识,
最好能有具体点的例子。

还有就是我在一个带滚动的视内画了一个矩形,我要在矩形区域内响应
鼠标事件,可是当滚动条滚动时,我该怎样确定这个矩形呢?最好也能
有个例子,多谢了!
...全文
247 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjuwx 2000-05-22
  • 打赏
  • 举报
回复
这个问题太简单了
自己看书
sutao 2000-05-21
  • 打赏
  • 举报
回复
请参阅 <<Mfc开发Window/nt4程序>>,好像是清华大学的译版,里面有详细介绍.
harrot 2000-05-19
  • 打赏
  • 举报
回复
英文看不太懂,还是希望各位能帮帮我,各我点中文资料,多谢了
softdoctor 2000-05-19
  • 打赏
  • 举报
回复
所谓设备坐标与逻辑坐标只是相对的概念。
比如点pt(1000,1000),如果你认为他是
设备坐标,那么经过下变换,他就变成逻辑
坐标:
dc.DPtoLP(&pt);
如果你认为他是
逻辑坐标,那么经过下变换,他就变成设备坐标:
dc.DPtoLP(&pt);

是设备坐标还是逻辑坐标,与DC的影射模式(MapMode)
无关,任何影射模式都有设备坐标与逻辑坐标。其中,设备坐标
是统一的的,即都是指设备象素坐标。

1.首先、设备坐标指的是物理设备以象素点为单位。
逻辑坐标除MM_TEXT外均指物理尺寸,如mm,inch等
2.数字本身没有逻辑与设备之分
CRect r=CRect(0,0,50,30);
CSize size(100,80);
CPoint point(50,60);

孤立的看待这些点或坐标是没有意义的,他是逻辑还是设备坐标
取决于编程着的主观愿望,和上下文的意义。
3.DPtoLP指将象素点数坐标转换为在相应设备上该数目的象素点
在该设备上实际物理长度(尺寸)坐标。
LPtoDP指将相应设备实际物理长度(尺寸)坐标转换为在相应设备
上该物理长度(尺寸)所占用的象素点书目坐标
gamepolice 2000-05-19
  • 打赏
  • 举报
回复
在WM_LBUTTONDOWN中,它有一个参数CPoint point,这是鼠标当前位置,即设备坐标,
你可以用下面的语句来实现你的要求:
CDC* pDC=GetDC();
pDC->DPToLP(&point);
if(rect.PtInRect(&point)){
//Do what you like when you select this rect
}
//rect is the rect you draw in the window.
always 2000-05-17
  • 打赏
  • 举报
回复
应该好好看看msdn,把英文打出来,我也是这样看的.
具体查找可在search中键入Device Context,上面也会给一些例子.

16,466

社区成员

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

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

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