Шаг 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
|