"Конвертация DLU в пиксели в Delphi для Win32"Delphi , Компоненты и Классы , МодулиКонвертация DLU в пиксели в Delphi для Win32 Microsoft использует диалоговые длины единиц (DLU) в своих руководствах по пользовательскому интерфейсу. Как можно конвертировать их в пиксели в Delphi для Win32? Диалоговые длины единиц (DLU) основаны на размере системного шрифта. Чтобы выполнить такую конвертацию в Delphi для Win32, можно использовать функцию MapDialogRect(). Функция MapDialogRect() принимает структуру RECT в диалоговых единицах и возвращает эквивалентную структуру RECT в пиксельных единицах. Важно отметить, что для выполнения конвертации функция нуждается в контексте диалога, а именно в обработке диалога. Пример кода на Object Pascal (Delphi) для конвертации DLU в пиксели:
Пример кода на Object Pascal (Delphi) для конвертации пикселей в DLU:
Если у вас нет диалогового окна, но вам все равно нужно конвертировать DLU в пиксели, вы можете использовать метод, описанный в статье How To Calculate Dialog Base Units with Non-System-Based Font. Однако, если вам не нужно конвертировать DLU в пиксели, а просто нужно гарантировать, что ваши формы правильно масштабируются в зависимости от текущего масштабирования шрифта, вы можете использовать встроенное масштабирование форм в Delphi. Описание контекста: "Описание процесса конвертации диалоговых длины единиц (DLU) в пиксели в Delphi для Win32 с использованием функции MapDialogRect() и примеры кода на Object Pascal (Delphi) для конвертации DLU в пиксели и наоборот". Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |