Как я могу установить размер диалога Win32 в пикселях? - PullRequest
3 голосов
/ 14 мая 2011

Я пытаюсь получить диалоговое окно Win32 размером 500x520 пикселей, но в моем файле .rc эти параметры дают мне большее окно, чем я ожидал.

IDD_DIALOG1 DIALOG DISCARDABLE  0, 0, 500, 520
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX

Есть ли где-нибудь коэффициент масштабирования?

1 Ответ

6 голосов
/ 14 мая 2011

Единицы в диалоговом ресурсе - это диалоговые единицы , которые нормализуются размерами шрифта диалога довольно сложным процессом.Вы можете конвертировать из диалоговых единиц в пиксели экрана с помощью MapDialogRect().

. В документации есть еще много деталей для GetDialogBaseUnits(), но рекомендуетсяПозвоните MapDialogRect() и позвольте ему сделать тяжелую работу за вас.

...