MONITORENUMPROC 回调函数 (winuser.h)

EnumDisplayMonitors 函数一起使用的应用程序定义的回调函数。 MONITORENUMPROC 类型定义指向此回调函数的指针。 MonitorEnumProc 是应用程序定义的函数名称的占位符。

Syntax

MONITORENUMPROC Monitorenumproc;

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

参数

unnamedParam1

类型: HMONITOR

显示监视器的句柄。 此值始终为非 NULL。 此参数通常命名为 hMonitor

unnamedParam2

类型: HDC

设备上下文的句柄。 此参数通常命名为 hdcMonitor

设备上下文具有适合 hMonitor 标识的显示监视器的颜色属性。 设备上下文的剪辑区域设置为由 EnumDisplayMonitorshdc 参数标识的设备上下文可见区域的交集、EnumDisplayMonitorslprcClip 参数指向的矩形以及显示监视器矩形。

如果 EnumDisplayMonitorshdc 参数为 NULL,则此值为 NULL

unnamedParam3

类型: LPRECT

指向 RECT 结构的指针。 此参数通常命名为 lprcMonitor

如果 hdcMonitor 为非 NULL,则此矩形是 hdcMonitor 和显示监视器矩形标识的设备上下文剪辑区域的交集。 矩形坐标是设备上下文坐标。

如果 hdcMonitorNULL,则此矩形是显示监视器矩形。 矩形坐标是虚拟屏幕坐标。

unnamedParam4

类型: LPARAM

EnumDisplayMonitors 直接传递给枚举函数的应用程序定义数据。 此参数通常命名为 dwData

返回值

类型: BOOL

若要继续枚举,请返回 TRUE

若要停止枚举,请返回 FALSE

注解

注释

参数在标头中定义,没有名称: typedef BOOL (CALLBACK* MONITORENUMPROC)(HMONITOR, HDC, LPRECT, LPARAM);。 因此,语法块将它们 unnamedParam1 - unnamedParam4列为 。 可以在应用中命名这些参数。 但是,它们通常按参数说明中所示命名。

可以使用 EnumDisplayMonitors 函数枚举与指定设备上下文的可见区域相交的显示监视器集,并选择性地枚举剪辑矩形。 为此,请将 hdc 参数设置为非 NULL 值,并根据需要设置 lprcClip 参数。

还可以使用 EnumDisplayMonitors 函数枚举桌面上的一个或多个显示监视器,而无需提供设备上下文。 为此,请将 EnumDisplayMonitorshdc 参数设置为 NULL,并根据需要设置 lprcClip 参数。

在所有情况下, EnumDisplayMonitors 都会针对计算枚举集中的每个显示监视器调用一次指定的 MonitorEnumProc 函数。 MonitorEnumProc 函数始终接收显示监视器的句柄。

如果 EnumDisplayMonitorshdc 参数为非 NULL,MonitorEnumProc 函数还会接收设备上下文的句柄,其颜色格式适合显示监视器。 然后,可以采用最适合显示监视器的方式绘制到设备上下文中。

要求

Requirement 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows操作系统
Header winuser.h (包括 Windows.h)

另请参阅

EnumDisplayMonitors

多个显示监视器函数

多个显示监视器概述