В своем приложении на MFC пытаюсь развернуть диалоговое окно на весь экран, но оно разворачивается больше чем на весь экран. Если на моем ноутбуке (win7) еще можно настроить, то на high dpi мониторе вообще вакханалия получается. К сожалению, не могу протестировать на high dpi мониторе. поэтому хочу узнать, что я неправильно делаю.
Есть следующий метод для масштабирования, но он похоже бесполезен.
HDC screen = ::GetDC(0);
giDpi = GetDeviceCaps(screen, LOGPIXELSX);
int dpiScale(const int &iSrc)
{
return MulDiv(iSrc, giDpi, 96);
}
Собственно далее, в диалоговом окне, и инит делаю следующее:
CRect rect;
GetParent()->GetWindowRect(&rect);
SetWindowPos(NULL, 0, 0, rect.Width() - dpiScale(100), rect.Height() - dpiScale(100), SWP_NOREDRAW);
Находил информацию масштабирования исходя из монитора ( GetDpiForMonitor() ), но суть там такая же.