setMapMode 函数 (wingdi.h)

SetMapMode 函数设置指定设备上下文的映射模式。 映射模式定义用于将页面空间单位转换为设备空间单位的度量单位,还定义设备的 x 轴和 y 轴的方向。

语法

int SetMapMode(
  [in] HDC hdc,
  [in] int iMode
);

参数

[in] hdc

设备上下文的句柄。

[in] iMode

新的映射模式。 此参数的取值可为下列值之一:

含义
MM_ANISOTROPIC
逻辑单元映射到具有任意缩放轴的任意单元。 使用 SetWindowExtExtExSetViewportExtExtEx 函数指定单位、方向和缩放。
MM_HIENGLISH
每个逻辑单元映射到 0.001 英寸。 正 x 向右;正 y 向上。
MM_HIMETRIC
每个逻辑单元映射到 0.01 毫米。 正 x 向右;正 y 向上。
MM_ISOTROPIC
逻辑单元映射到具有等比例轴的任意单元;也就是说,沿 x 轴的一个单位等于沿 y 轴的一个单位。 使用 SetWindowExtExtExSetViewportExtExtEx 函数指定轴的单位和方向。 图形设备接口 (GDI) 根据需要进行调整,以确保 x 和 y 单位保持相同的大小 (设置窗口范围时,视区将进行调整以保持单位各向同性) 。
MM_LOENGLISH
每个逻辑单元映射到 0.01 英寸。 正 x 向右;正 y 向上。
MM_LOMETRIC
每个逻辑单元映射到 0.1 毫米。 正 x 向右;正 y 向上。
MM_TEXT
每个逻辑单元映射到一个设备像素。 正 x 向右;正 y 向下。
MM_TWIPS
每个逻辑单元映射到打印机点的二十分之一 (1/1440 英寸,也称为缇) 。 正 x 向右;正 y 向上。

返回值

如果函数成功,则返回值标识以前的映射模式。

如果函数失败,则返回值为零。

注解

MM_TEXT模式允许应用程序以设备像素为单位工作,其大小因设备而异。

MM_HIENGLISH、MM_HIMETRIC、MM_LOENGLISH、MM_LOMETRIC和MM_TWIPS模式对于以物理上有意义的单位 ((如英寸或毫米) )绘制的应用程序非常有用。

MM_ISOTROPIC模式可确保 1:1 纵横比。

MM_ANISOTROPIC模式允许单独调整 x 坐标和 y 坐标。

示例

有关示例,请参阅 使用坐标空间和转换

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wingdi.h (包括 Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

另请参阅

坐标空间和转换函数

坐标空间和转换概述

GetMapMode

SetViewportExtEx

SetViewportOrgEx

SetWindowExtEx

SetWindowOrgEx