lockWindowUpdate 函数 (winuser.h)
LockWindowUpdate 函数禁用或启用指定窗口中的绘图。 一次只能锁定一个窗口。
语法
BOOL LockWindowUpdate(
[in] HWND hWndLock
);
参数
[in] hWndLock
将在其中禁用绘图的窗口。 如果此参数为 NULL,则启用锁定窗口中的绘图。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零,表示发生错误或已锁定另一个窗口。
注解
LockWindowUpdate 函数的用途是允许在窗口上绘制拖动/放置反馈,而不会受到窗口本身的干扰。 目的是在绘制反馈时锁定窗口,并在完成反馈时解锁窗口。 LockWindowUpdate 不适用于窗口重绘的常规用途抑制。 使用 WM_SETREDRAW 消息禁用重绘特定窗口。
如果具有锁定窗口的应用程序 (或任何锁定的子窗口) 调用 GetDC、 GetDCEx 或 BeginPaint 函数,则调用的函数将返回具有可见区域为空的设备上下文。 在应用程序通过调用 LockWindowUpdate(将 hWndLock 的值指定为 NULL)解锁窗口之前,才会发生这种情况。
如果应用程序尝试在锁定的窗口中绘制,系统会在边界矩形中记录尝试的操作范围。 当窗口解锁时,系统会使此边界矩形中的区域失效,强制将最终 WM_PAINT 消息发送到以前锁定的窗口及其子窗口。 如果在锁定窗口更新时未发生任何绘制,则不会使任何区域失效。
LockWindowUpdate 不会使指定的窗口不可见,也不会清除WS_VISIBLE样式位。
无法移动已锁定的窗口。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | ext-ms-win-ntuser-draw-l1-1-2 (在 Windows 10 版本 10.0.10240 中引入) |