Pixel/HIMETRIC 转换全局函数

这些函数支持像素与 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

另请参阅

函数