不明白为什么windows7 与 WINPE 3.0 的字符平均字符高度不一致
最近研究WINPE3.0。
发现相同的对话框(对话框的字体使用系统字体),在WINPE3.0 和 window7中显示的高度不一样。
在程序中追踪了一下系统字体和对话框字体的高度。
代码如下:
HGDIOBJ hFontOld;
TEXTMETRIC tm;
SIZE size;
HDC hdc = ::GetDC(this->GetSafeHwnd());
HGDIOBJ hFont = ::GetStockObject(SYSTEM_FONT);
hFontOld = SelectObject(hdc,hFont);
GetTextMetrics(hdc,&tm);
GetTextExtentPoint32(hdc,_T("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"),52,&size);
double avgWidthS = (size.cx/26+1)/2;
double avgHeightS = (WORD)tm.tmHeight;
hFont = ::GetStockObject(DEFAULT_GUI_FONT);
SelectObject(hdc,hFont);
GetTextMetrics(hdc,&tm);
GetTextExtentPoint32(hdc,_T("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"),52,&size);
double avgWidthD = (size.cx/26+1)/2;
double avgHeightD = (WORD)tm.tmHeight;
SelectObject(hdc, hFontOld);
::ReleaseDC(this->GetSafeHwnd(), hdc);
结果发现avgHeightD 在windows7 中是13,在WINPE3.0中是16。
希望高人能够指点一下。