6.31.1.20 - Функция MapDialogRect

(ПреобразоватьПрямоугольникДиалога)

Функция MapDialogRect конвертирует (преобразует) заданные единицы измерения диалогового окна в экранные единицы (пиксели). Функция заменяет координаты в заданной структуре RECT преобразованными координатами, которые позволяют структуре быть использованной, чтобы создать диалоговое окно или установить орган управления в пределах блока диалога.

Синтаксис

BOOL MapDialogRect
(
	HWND hDlg,	// дескриптор диалогового окна
	LPRECT lpRect	// адрес структуры с прямоугольником
);

Параметры
hDlg
Идентифицирует диалоговое окно. Эта функция реагирует только на дескрипторы для блоков диалога, созданные одной из функций создания диалогового окна; дескрипторы для других окон не допустимы.
lpRect
Указывает на структуру RECT содержащую координаты диалогового окна, которые будут преобразованы.

Возвращаемые значения
Если функция завершилась успешно, возвращается значение отличное от нуля.
Если функция потерпела неудачу, возвращаемое значение - ноль.

Замечания
Функция MapDialogRect предполагает, что начальные координаты в структуре RECT представляют единицы измерения диалогового окна. Чтобы преобразовать эти координаты из единиц измерения блока диалога в пиксели, функция извлекает данные о текущих базовых единицах по горизонтали и вертикали для диалогового окна, а затем применяет следующие формулы:

левая     = (левая   * базовая единица X) / 4
правая    = (правая  * базовая единица X) / 4
верхняя   = (верхняя * базовая единица Y) / 8
нижняя    = (нижняя  * базовая единица Y) / 8

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

Смотри также
CreateDialog, CreateDialogIndirect, CreateDialogIndirectParam, CreateDialogParam, DialogBox, DialogBoxIndirect, DialogBoxIndirectParam, DialogBoxParam, GetDialogBaseUnits, RECT

Размещение и совместимость MapDialogRect

Windows NT				Да
Win95					Да
Win32s					Да
Импортируемая библиотека			user32.lib
Заголовочный файл				winuser.h
Unicode					Нет
Замечания по платформе			Не имеется

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 13.06.2002