这些函数支持像素与 HIMETRIC 单位之间相互转换。
重要
下表中列出的函数不能在 Windows 运行时执行的应用程序中使用。
| 名称 | 描述 | 
|---|---|
| AtlHiMetricToPixel | 将 HIMETRIC 单位(每个单位为 0.01 毫米)转换为像素。 | 
| AtlPixelToHiMetric | 将像素转换为 HIMETRIC 单位(每个单位为 0.01 毫米)。 | 
AtlHiMetricToPixel
将以 HIMETRIC 为单位(每个单位是 0.01 毫米)的对象大小转换为以屏幕设备上的像素为单位的大小。
extern void AtlHiMetricToPixel(
    const SIZEL* lpSizeInHiMetric,
    LPSIZEL lpSizeInPix);
参数
lpSizeInHiMetric
[in] 指向 HIMETRIC 单位中对象大小的指针。
lpSizeInPix
[out] 一个指针,指向对象的大小(以像素为单位)要返回到的位置。
示例
// 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);
要求
标头:atlwin.h
AtlPixelToHiMetric
将以屏幕设备上的像素为单位的对象大小转换为以 HIMETRIC 为单位(每个单位是 0.01 毫米)的大小。
extern void AtlPixelToHiMetric(
    const SIZEL* lpSizeInPix,
    LPSIZEL lpSizeInHiMetric);
参数
lpSizeInPix
[in] 指向对象大小的指针(以像素为单位)。
lpSizeInHiMetric
[out] 一个指针,指向对象的大小(以 HIMETRIC 为单位)要返回到的位置。
示例
// 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;
}
要求
标头:atlwin.h