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


Функция обратного вызова MONITORENUMPROC (winuser.h)

Функция обратного вызова, определяемая приложением, используемая с функцией EnumDisplayMonitors . Тип MONITORENUMPROC определяет указатель на эту функцию обратного вызова. MonitorEnumProc — это заполнитель для имени определяемой приложением функции.

Синтаксис

MONITORENUMPROC Monitorenumproc;

BOOL Monitorenumproc(
  HMONITOR unnamedParam1,
  HDC unnamedParam2,
  LPRECT unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Параметры

unnamedParam1

Тип: HMONITOR

Дескриптор монитора отображения. Это значение всегда будет иметь значение, отличное от NULL. Обычно этот параметр называется hMonitor.

unnamedParam2

Тип: HDC

Дескриптор контекста устройства. Обычно этот параметр называется hdcMonitor.

Контекст устройства имеет атрибуты цвета, подходящие для монитора отображения, определяемого hMonitor. Область вырезки контекста устройства устанавливается на пересечение видимой области контекста устройства, определяемого параметром hdcEnumDisplayMonitors, прямоугольник, на который указывает параметр lprcClipEnumDisplayMonitors, а также прямоугольник монитора отображения.

Это значение равно NULL , если параметр hdcenumDisplayMonitors был NULL.

unnamedParam3

Тип: LPRECT

Указатель на структуру RECT . Обычно этот параметр называется lprcMonitor.

Если hdcMonitor не имеет значения NULL, этот прямоугольник является пересечением области вырезки контекста устройства, определяемого hdcMonitor и прямоугольником монитора дисплея. Координаты прямоугольника — координаты контекста устройства.

Если hdcMonitor имеет значение NULL, этот прямоугольник является прямоугольником монитора дисплея. Координаты прямоугольника — это координаты виртуального экрана.

unnamedParam4

Тип: LPARAM

Определяемые приложением данные, которые EnumDisplayMonitors передаются непосредственно в функцию перечисления. Обычно этот параметр называется dwData.

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

Тип: BOOL

Чтобы продолжить перечисление, верните значение TRUE.

Чтобы остановить перечисление, верните значение FALSE.

Замечания

Замечание

Параметры определяются в заголовке без имен: typedef BOOL (CALLBACK* MONITORENUMPROC)(HMONITOR, HDC, LPRECT, LPARAM); Поэтому блок синтаксиса перечисляет их как unnamedParam1 - unnamedParam4. Вы можете присвоить этим параметрам любое имя в приложении. Однако они обычно называются как показано в описаниях параметров.

Функцию EnumDisplayMonitors можно использовать для перечисления набора мониторов отображения, пересекающих видимую область указанного контекста устройства и, при необходимости, вырезку прямоугольника. Для этого задайте для параметра hdc значение, отличное от NULL , и задайте параметр lprcClip по мере необходимости.

Функцию EnumDisplayMonitors можно также использовать для перечисления одного или нескольких мониторов дисплея на рабочем столе без предоставления контекста устройства. Для этого задайте для параметра hdcEnumDisplayMonitorsзначение NULL и задайте параметр lprcClip по мере необходимости.

Во всех случаях EnumDisplayMonitors вызывает указанную функцию MonitorEnumProc один раз для каждого монитора отображения в вычисляемом наборе перечислений. Функция MonitorEnumProc всегда получает дескриптор монитора.

Если параметр hdcenumDisplayMonitors не имеет значения NULL, функция MonitorEnumProc также получает дескриптор контекста устройства, цвет которого подходит для монитора дисплея. Затем можно нарисовать в контексте устройства таким образом, чтобы он был оптимальным для монитора отображения.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Windows
Header winuser.h (включая Windows.h)

См. также

EnumDisplayMonitors

Функции нескольких мониторов отображения

Обзор нескольких мониторов отображения