Функция MapDialogRect преобразует заданные единицы измерения диалогового окна в экранные единицы измерения (пиксели). Функция заменяет координаты в указанной структуре RECT преобразованными координатами, которые дают возможность использовать структуру, чтобы создать диалоговое окно или расположить орган управления внутри блока диалога.
Синтаксис
BOOL MapDialogRect( HWND hDlg, LPRECT lpRect ); |
Параметры
hDlg
[in] Дескриптор диалогового окна. Эта функция допускает только дескрипторы, возвращаемые одной из функций создания блока диалога; дескрипторы других окон не допустимы.lpRect
[in, out] Указатель на структуру RECT, которая содержит координаты диалогового окна, которые будут преобразованы.Возвращаемое значение
Если функция завершается успешно, возвращаемое значение не нуль.
Если функция завершается ошибкой, возвращаемое значение равняется нулю. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Функция MapDialogRect предполагает, что начальные координаты в структуре RECT представляются в единицах измерения диалогового окна. Чтобы преобразовать эти координаты из единиц измерения диалогового окна в пиксели, функция извлекает текущие горизонтальные и вертикальные базовые единицы измерения блока диалога, затем применяет нижеследующие формулы:
left = MulDiv(left, baseunitX, 4); right = MulDiv(right, baseunitX, 4); top = MulDiv(top, baseunitY, 8); bottom = MulDiv(bottom, baseunitY, 8); |
Если шаблон диалогового окна имеет стиль DS_SETFONT или DS_SHELLFONT, базовые единицы измерения - средняя ширина и высота, в пикселях, символов в шрифте, определенном шаблоном.
Смотри также
Обзор Диалоговые окна, Функции, используемые
диалоговыми окнами,
GetDialogBaseUnits,
Размещение и совместимость MapDialogRect |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |