Поделиться через


Функция MapDialogRect (winuser.h)

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

Синтаксис

BOOL MapDialogRect(
  [in]      HWND   hDlg,
  [in, out] LPRECT lpRect
);

Параметры

[in] hDlg

Тип: HWND

Дескриптор диалогового окна. Эта функция принимает только дескрипторы, возвращаемые одной из функций создания диалогового окна; недопустимые дескрипторы для других окон.

[in, out] lpRect

Тип: LPRECT

Указатель на структуру RECT , содержащую координаты диалогового окна для преобразования.

Возвращаемое значение

Тип: BOOL

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

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав 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 , базовыми единицами являются средняя ширина и высота (в пикселях) символов шрифта, указанного в шаблоне.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-dialogbox-l1-1-2 (появилось в Windows 10 версии 10.0.10240)

См. также раздел

Основные понятия

Диалоговые окна

GetDialogBaseUnits

Другие ресурсы

RECT

Справочные материалы