Prev Next

SetMapMode info  Overview  Group

The SetMapMode function sets the mapping mode of the specified device context. The mapping mode defines the unit of measure used to transform page-space units into device-space units, and also defines the orientation of the device’s x and y axes.

int SetMapMode(

    HDC hdc,

// handle of device context

    int fnMapMode 

// new mapping mode

   );

Parameters

hdc
Identifies the device context.
fnMapMode
Specifies the new mapping mode. It can be any one of the following values:

Value

Description

MM_ANISOTROPIC

Logical units are mapped to arbitrary units with arbitrarily scaled axes. Use the SetWindowExtEx and SetViewportExtEx functions to specify the units, orientation, and scaling that you want.

MM_HIENGLISH

Each logical unit is mapped to 0.001 inch. Positive x is to the right; positive y is up.

MM_HIMETRIC

Each logical unit is mapped to 0.01 millimeter. Positive x is to the right; positive y is up.

MM_ISOTROPIC

Logical units are mapped to arbitrary units with equally scaled axes; that is, one unit along the x-axis is equal to one unit along the y-axis. Use the SetWindowExtEx and SetViewportExtEx functions to specify the units and the orientation of the axes that you want. Graphics device interface (GDI) makes adjustments as necessary to ensure the x and y units remain the same size (for example, if you set the window extent, the viewport will be adjusted to keep the units isotropic).

MM_LOENGLISH

Each logical unit is mapped to 0.01 inch. Positive x is to the right; positive y is up.

MM_LOMETRIC

Each logical unit is mapped to 0.1 millimeter. Positive x is to the right; positive y is up.

MM_TEXT

Each logical unit is mapped to one device pixel. Positive x is to the right; positive y is down.

MM_TWIPS

Each logical unit is mapped to one twentieth of a printer’s point (1/1440 inch, also called a “twip”). Positive x is to the right; positive y is up.

Return Values

If the function succeeds, the return value identifies the previous mapping mode.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The MM_TEXT mode allows applications to work in device pixels, whose size varies from device to device.

The MM_HIENGLISH, MM_HIMETRIC, MM_LOENGLISH, MM_LOMETRIC, and MM_TWIPS modes are useful for applications drawing in physically meaningful units (such as inches or millimeters).

The MM_ISOTROPIC mode ensures a 1:1 aspect ratio.

The MM_ANISOTROPIC mode allows the x-coordinates and y-coordinates to be adjusted independently.

See Also

GetMapMode, SetViewportExtEx, SetViewportOrgEx, SetWindowExtEx, SetWindowOrgEx