Pixel/HIMETRIC Conversion Global Functions
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Pixel-HIMETRIC Conversion Global Functions.
These functions provide support for converting to and from pixel and HIMETRIC units.
Important
The functions listed in the following table cannot be used in applications that execute in the Windows Runtime.
AtlHiMetricToPixel | Converts HIMETRIC units (each unit is 0.01 millimeter) to pixels. |
AtlPixelToHiMetric | Converts pixels to HIMETRIC units (each unit is 0.01 millimeter). |
AtlHiMetricToPixel
Converts an object's size in HIMETRIC units (each unit is 0.01 millimeter) to a size in pixels on the screen device.
Important
This function cannot be used in applications that execute in the Windows Runtime.
extern void AtlHiMetricToPixel(
const SIZEL* lpSizeInHiMetric,
LPSIZEL lpSizeInPix);
Parameters
lpSizeInHiMetric
[in] Pointer to the size of the object in HIMETRIC units.
lpSizeInPix
[out] Pointer to where the object's size in pixels is to be returned.
Example
// m_sizeExtent is a member of CComControlBase that holds the
// control's extents in HIMETRIC units.
// Use AtlHiMetricToPixel to find the extent of the control in pixels.
AtlHiMetricToPixel(&m_sizeExtent, &sz);
ATLTRACE("Width = %d, Height = %d\n", sz.cx, sz.cy);
AtlPixelToHiMetric
Converts an object's size in pixels on the screen device to a size in HIMETRIC units (each unit is 0.01 millimeter).
Important
This function cannot be used in applications that execute in the Windows Runtime.
extern void AtlPixelToHiMetric(
const SIZEL* lpSizeInPix,
LPSIZEL lpSizeInHiMetric);
Parameters
lpSizeInPix
[in] Pointer to the object's size in pixels.
lpSizeInHiMetric
[out] Pointer to where the object's size in HIMETRIC units is to be returned.
Example
// Initialize our control's default size to 100 by 25 pixels
CMyControl::CMyControl()
{
// width = 100 pixels, height = 25 pixels
SIZE sz = { 100, 25 };
// convert pixels to himetric
AtlPixelToHiMetric(&sz, &m_sizeExtent);
// store natural extent
m_sizeNatural = m_sizeExtent;
}