vc中SetMapeMode介绍

来源:互联网 发布:淘宝怎样实名认证 编辑:程序博客网 时间:2024/06/05 18:43

SetMapMode

  SetMapMode 函数状态: 正式函数 ,建设者:zhbxj ,最新更新时间: 2001-8-31 18:52:58 修改该函数
  函数功能描述:该函数设置指定设备环境的映射方式,映射方式定义了将逻辑单位转换为设备单位的度量单位,并定义了设备的X、Y轴的方向
  函数原型:int SetMapMode(HDC hdc, int fnMapMode);
  参数:
  hdc:指向设备环境的句柄。
  fnMapMode:指定新的映射方式,此参数可以是下面列出的任何一个值。
  MM_ANISOTROPIC:逻辑单位转换成具有任意比例轴的任意单位,用SetWindowExtEx和SetViewportExtEx函数可指定单位、方向和比例。
  MM_HIENGIISH:每个逻辑单位转换为0.001英寸,X的正方面向右,Y的正方向向上。
  MM_HIMETRIC:每个逻辑单位转换为0.01毫米,X正方向向右,Y的正方向向上。
  MM_ISOTROPIC:逻辑单位转换成具有均等比例轴的任意单位,即沿X轴的一个单位等于沿Y轴的一个单位,用和函数可以指定该轴的单位和方向。图形设备界面(GDI)需要进行调整,以保证X和Y的单位保持相同大小(当设置窗口范围时,视口将被调整以达到单位大小相同)。
  MM_LOENGIISH:每个逻辑单位转换为0.1英寸,X正方向向右,Y正方向向上。
  MM_LOMETRIC:每个逻辑单位转换为0.1毫米,X正方向向右,Y正方向向上。
  MM_TEXT:每个逻辑单位转换为一个图素,X正方向向右,Y正方向向下。
  MM_TWIPS;每个逻辑单位转换为打印点的1/20(即1/1400英寸),X正方向向右,Y方向向上。
  返回值:如果函数调用成功,返回值指定先前的映射方式,否则,返回值为零,若想获得更多错误信息,请调用GetLastError函数。
  备注:MM_TEXT方式允许应用程序以设备像素为单位来工作,像素的大小根据设备不同而不同。MM_HIENLISH, MM_HIMETRIC, MM_LOENGLISH, MM_LOMETRIC和MM_TWIPS方式对必须用物理意义单位(如英寸或毫米)制图的应用程序是非常有用的。MM_ISOTROPIC方式保证了1:1的纵横比。MM_HIENLISH方式允许对X和Y坐标分别进行调整。
  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:wingdi.h;库文件:gdi32.lib。
  例子:SetMapMode (hdc, MM_ISOTROPIC);//设定映像模式
   SetWindowExtEx (hdc, 1000, 1000, NULL);
   SetViewportExtEx (hdc, cxClient / 2, -cyClient / 2, NULL);
   SetViewportOrgEx (hdc, cxClient / 2, cyClient / 2, NULL);//设定视口原点坐标