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