Calculate correct font pointSize for GetNonClientMetrics
wxNativeFontInfo constructor calculates the pointSize using the main screen DPI. But lfHeight returned by GetNonClientMetrics is based on the window DPI.
This commit is contained in:
@@ -397,8 +397,17 @@ void wxMessageDialog::AdjustButtonLabels()
|
||||
wxFont wxMessageDialog::GetMessageFont()
|
||||
{
|
||||
const wxWindow* win = wxTheApp ? wxTheApp->GetTopWindow() : NULL;
|
||||
const NONCLIENTMETRICS& ncm = wxMSWImpl::GetNonClientMetrics(win);
|
||||
return wxNativeFontInfo(ncm.lfMessageFont);
|
||||
wxNativeFontInfo info(wxMSWImpl::GetNonClientMetrics(win).lfMessageFont);
|
||||
|
||||
// wxNativeFontInfo constructor calculates the pointSize using the
|
||||
// main screen DPI. But lfHeight is based on the window DPI.
|
||||
if ( win )
|
||||
{
|
||||
info.pointSize = wxNativeFontInfo::GetPointSizeAtPPI(
|
||||
info.lf.lfHeight, win->GetDPI().y);
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
int wxMessageDialog::ShowMessageBox()
|
||||
|
Reference in New Issue
Block a user