m_font.CreateFontIndirect(&ncm.lfStatusFont);
// subclass the two custom edit boxes
- const int nLogPixelsY = CClientDC(this).GetDeviceCaps(LOGPIXELSY);
- int cx = -MulDiv(ncm.lfStatusFont.lfHeight, nLogPixelsY, 72);
+ const int lpx = CClientDC(this).GetDeviceCaps(LOGPIXELSX);
+ auto pointToPixel = [lpx](int point) { return MulDiv(point, lpx, 72); };
+ int cx = -pointToPixel(ncm.lfStatusFont.lfHeight);
+ int m = pointToPixel(3);
for (int pane = 0; pane < static_cast<int>(std::size(m_Edit)); pane++)
{
m_Edit[pane].SubClassEdit(IDC_STATIC_TITLE_PANE0 + pane, this);
m_Edit[pane].SetFont(&m_font);
- m_Edit[pane].SetMargins(4, 4 + cx);
+ m_Edit[pane].SetMargins(m, m + cx);
}
return TRUE;
};
CFont *pOldFont = dc.SelectObject(&m_font);
dc.GetTextMetrics(&tm);
dc.SelectObject(pOldFont);
- return CSize(SHRT_MAX, tm.tmHeight + 6);
+ const int lpx = dc.GetDeviceCaps(LOGPIXELSX);
+ auto pointToPixel = [lpx](int point) { return MulDiv(point, lpx, 72); };
+ int cy = pointToPixel(4);
+ return CSize(SHRT_MAX, 1 + tm.tmHeight + cy);
}
/**
COLORREF crBackGnd = m_bInEditing ? ::GetSysColor(COLOR_ACTIVEBORDER) : m_crBackGnd;
CWindowDC dc(this);
CRect rect;
- const int margin = 4;
+ const int lpx = dc.GetDeviceCaps(LOGPIXELSX);
+ auto pointToPixel = [lpx](int point) { return MulDiv(point, lpx, 72); };
+ const int margin = pointToPixel(3);
+
GetWindowRect(rect);
rect.OffsetRect(-rect.TopLeft());
dc.FillSolidRect(CRect(rect.left, rect.top, rect.left + margin, rect.bottom), GetDarkenColor(crBackGnd, 0.98));
CFont *pFontOld = dc.SelectObject(GetFont());
int oldBkMode = dc.SetBkMode(TRANSPARENT);
CRect rc = GetMenuCharRect(&dc);
- dc.TextOutW(rc.left + 4, 0, IsWin7_OrGreater() ? _T("\u2261") : _T("="));
+ const int lpx = dc.GetDeviceCaps(LOGPIXELSX);
+ auto pointToPixel = [lpx](int point) { return MulDiv(point, lpx, 72); };
+ const int margin = pointToPixel(3);
+ dc.TextOutW(rc.left + margin, 0, IsWin7_OrGreater() ? _T("\u2261") : _T("="));
dc.SetBkMode(oldBkMode);
dc.SelectObject(pFontOld);
}
GetClientRect(rc);
int charWidth;
pDC->GetCharWidth('=', '=', &charWidth);
- rc.left = rc.right - charWidth - 4 * 2;
+ const int lpx = pDC->GetDeviceCaps(LOGPIXELSX);
+ auto pointToPixel = [lpx](int point) { return MulDiv(point, lpx, 72); };
+ rc.left = rc.right - charWidth - pointToPixel(3 * 2);
return rc;
}