| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
 

Шаг 66 - Функция GetDialogBaseUnits().

У диалога свои единицы измерения. Эти единицы зависят от шрифта используемого в диалоге. С помощью функции GetDialogBaseUnits у нас есть возможность получить единицы диалогового окна в пикселах.

LONG GetDialogBaseUnits
(
VOID
);

Возвращает единицы диалогового окна. Слово младшего разряда возвращаемого значения содержит горизонтальную единицу диалогового окна, и старшее слово содержит вертикальную единицу диалогового окна. Но эта функция работает хорошо, если вы используете системные шрифты.

Для конвертирования единиц измерения диалоговых окон к пикселям нужно применять следующие формулы:

pixelX = MulDiv( templateunitX, baseunitX, 4 );
pixelY = MulDiv( templateunitY, baseunitY, 8 );
И наоборот:
templateunitX = MulDiv( pixelX, 4, baseunitX );
templateunitY = MulDiv( pixelY, 8, baseunitY );

Единицы измерения окна зависят от стиля Style, который был установлен при создании окна в шаблоне. Для дочерних панелей диалога координаты связаны с начальными координатами родительского окна, в противном случае панель диалога имеет тип DS_ABSALIGN, тогда координаты связаны с начальными координатами экрана дисплея.


Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz