void DuiHiMetricToPixel(const SIZEL * lpSizeInHiMetric, LPSIZEL lpSizeInPix) { int nPixelsPerInchX; // Pixels per logical inch along width int nPixelsPerInchY; // Pixels per logical inch along height HDC hDCScreen = GetDC(NULL); nPixelsPerInchX = GetDeviceCaps(hDCScreen, LOGPIXELSX); nPixelsPerInchY = GetDeviceCaps(hDCScreen, LOGPIXELSY); ReleaseDC(NULL, hDCScreen); lpSizeInPix->cx = MAP_LOGHIM_TO_PIX(lpSizeInHiMetric->cx, nPixelsPerInchX); lpSizeInPix->cy = MAP_LOGHIM_TO_PIX(lpSizeInHiMetric->cy, nPixelsPerInchY); }
void AFXAPI _AfxXformSizeInHimetricToPixels( HDC hDC, LPSIZEL lpSizeInHiMetric, LPSIZEL lpSizeInPix) { int cxPPI; int cyPPI; if ((NULL == hDC) || (GetDeviceCaps(hDC, LOGPIXELSX) == 0)) { cxPPI = afxData.cxPixelsPerInch; cyPPI = afxData.cyPixelsPerInch; } else { cxPPI = GetDeviceCaps(hDC, LOGPIXELSX); cyPPI = GetDeviceCaps(hDC, LOGPIXELSY); } lpSizeInPix->cx = (long)MAP_LOGHIM_TO_PIX((int)lpSizeInHiMetric->cx, cxPPI); lpSizeInPix->cy = (long)MAP_LOGHIM_TO_PIX((int)lpSizeInHiMetric->cy, cyPPI); }