困惑 小弟刚学VC不仅,能否通俗介绍一下逻辑坐标和设备坐标。谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一 设备坐标和逻辑坐标 设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以像素为单位来表示的,设备坐标的X轴向右为正,Y轴向下为正,坐标原点位于窗口的左上角。 逻辑坐标(Logical Coordinate)是系统用作记录的坐标。在缺省的模式(MM_TEXT)下,逻辑坐标的方向和单位与设备坐标的方向和单位相同,也是以像素为单位来表示的,X轴向右为正,Y轴向下为正,坐标原点位于窗口的左上角。逻辑坐标和设备坐标即使在缺省模式下其数值也未必一致,除了在以下两种情况下: 1. 窗口为非滚动窗口 2. 窗口为滚动窗口,但垂直滚动条位于滚动边框的最上端,水平滚动条位于最左端,但如果移动了滚动条这两种坐标就不一致了。 在VC中鼠标坐标的坐标位置用设备坐标表示,但所有GDI绘图都用逻 坐标表示,所以用鼠标绘图时,那么必须将设备坐标转换为逻辑坐标,可以使用CDC 函数DptoLP()将设备坐标转化为逻辑坐标,同样可以用LptoDP()将逻辑坐标转化为设备坐标。 二 坐标模式 为了在不同的领域使用逻辑坐标,Windows提供了以下8种坐标模式: 分别为MM_TEXT、MM_HIENGLISH、MM_LOENGLISH、MM_HIMETRIC、MM_LOMETRIC、MM_TWIPS、MM_ANISOTROPIC和MM_ISOTROPIC 那请问:SetWindowOrg,SetViewOrg,SetViewportExt,SetWindowExt有什么区别? 在获取用户区时:GetClientRect(rectClient)时以及定义一个CRECT(100,100,200,200)对象时用的Point坐标是相对设备坐标的吗? 这个你查查msdn会很清楚不过我给你个忠告,最好不要使用这些改变坐标模式的函数,因为这个东西会对其他需要绘图的程序产生严重的影响,程序维护会困难。 vs2008中创建一个WEB不能拖入控件 修改了数据包的一点疑问 如何动态刷新硬盘分区?急 十分火急!!!如何用InstallShield 为 VC程序制作安装包 请问哪里有编译原理下载?(最好是TXT格式的) ICopyHook是如何用的? 如何让对话框不显示 有关CRECORDSET类的问题,初学者求救 一个巨简单的问题 用mfc 编程时如何实现建立自定义窗口? 请教:再次请教密码框屏蔽“粘贴”功能的问题。立即结帐,谢谢! --------怎样将jpg文件转换成24色bmp?-----------
为了在不同的领域使用逻辑坐标,Windows提供了以下8种坐标模式: 分别为MM_TEXT、MM_HIENGLISH、MM_LOENGLISH、MM_HIMETRIC、MM_LOMETRIC、MM_TWIPS、MM_ANISOTROPIC和MM_ISOTROPIC
那请问:
SetWindowOrg,SetViewOrg,SetViewportExt,SetWindowExt
有什么区别?
以及定义一个CRECT(100,100,200,200)对象时用的Point坐标是
相对设备坐标的吗?
不过我给你个忠告,最好不要使用这些改变坐标模式的函数,因为这个东西会对其他需要绘图的程序产生严重的影响,程序维护会困难。