Страница 13 из 43 Функция GetDialogBaseUnits (ПолучитьОсновныеЕдиницыИзмеренияБлокаДиалога) Функция GetDialogBaseUnits возвращает значения базовых единиц измерения блока диалога, которые использует Windows, чтобы создавать диалоговые окна. И Windows, и прикладные программы используют эти единицы измерения, чтобы преобразовывать ширину и высоту диалоговых окон и органов управления в единицы измерения блока диалога, как дано в шаблонах диалогового окна, в пиксели, и наоборот. Синтаксис LONG GetDialogBaseUnits(VOID)
Параметры У этой функции нет параметров. Возвращаемые значения Возвращаемое значение является 32-разрядным значением, которое содержит базовые единицы измерения блока диалога. Младшее слово возвращаемого значения содержит базовую единицу измерения диалогового окна по горизонтали, а старшее слово содержит базовую единицу измерения диалогового окна по вертикали. Замечания Базовая единица измерения по горизонтали равна средней ширине, в пикселях, символов в системном шрифте; базовая единица измерения по вертикали равна высоте, в пикселях, шрифта. Кроме того, каждая базовая единица измерения по горизонтали равна 4 единицам измерения по горизонтали блока диалога; каждая базовая единица измерения по вертикали равна 8 единицам измерения по вертикали блока диалога. Поэтому, чтобы преобразовывать единицы измерения блока диалога в пиксели, прикладная программа применяет следующие формулы: пиксельX = (единица диалогаХ * базовая единицаХ) / 4 пиксельY = (единица диалогаY * базовая единицаY) / 4
Точно так же, чтобы преобразовать от пикселей в единицы измерения блока диалога, прикладная программа применяет следующие формулы: единица диалогаX = (пиксельХ * 4) / базовая единицаХ единица диалогаY = (пиксельY * 4) / базовая единицаY
Умножение выполнено перед делением, чтобы избежать проблемы округления значения, если базовые единицы измерения не делятся на 4 или 8. Смотри также MapDialogRect Размещение и совместимость GetDialogBaseUnits Windows NTДа Win95Да Win32sДа Импортируемая библиотекаuser32.lib Заголовочный файлwinuser.h UnicodeНет Замечания по платформеНе имеется
|