Article ID: 145994
Article Last Modified on 11/21/2006
pixelX = (dialogunitX * baseunitX) / 4 pixelY = (dialogunitY * baseunitY) / 8
void CAboutDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
CFont* pFont = GetFont();
CFont* oldFont = dc.SelectObject(pFont);
TEXTMETRIC tm;
dc.GetTextMetrics( &tm );
int baseUnitY = tm.tmHeight;
CSize size;
size = dc.GetTextExtent(
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", 52);
int baseUnitX = (size.cx / 26 + 1) / 2;
TRACE("baseUnitX = %d\n", baseUnitX);
TRACE("baseUnitY = %d\n", baseUnitY);
dc.SelectObject(oldFont);
}
void CAboutDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rc( 0, 0, 4, 8 );
MapDialogRect( &rc );
int baseUnitY = rc.bottom;
int baseUnitX = rc.right;
TRACE("baseUnitX = %d\n", baseUnitX);
TRACE("baseUnitY = %d\n", baseUnitY);
}
125681 How To Calculate Dialog Base Units with Non-System-Based Font
Additional query words: 2.50 2.51 2.52 3.00 3.10 3.20
Keywords: kbhowto kbinfo kbfont kbuidesign kbdlg kbcode KB145994