lockWindowUpdate 函数 (winuser.h)

LockWindowUpdate 函数禁用或启用指定窗口中的绘图。 一次只能锁定一个窗口。

语法

BOOL LockWindowUpdate(
  [in] HWND hWndLock
);

参数

[in] hWndLock

将在其中禁用绘图的窗口。 如果此参数为 NULL,则启用锁定窗口中的绘图。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零,表示发生错误或已锁定另一个窗口。

注解

LockWindowUpdate 函数的用途是允许在窗口上绘制拖动/放置反馈,而不会受到窗口本身的干扰。 目的是在绘制反馈时锁定窗口,并在完成反馈时解锁窗口。 LockWindowUpdate 不适用于窗口重绘的常规用途抑制。 使用 WM_SETREDRAW 消息禁用重绘特定窗口。

如果具有锁定窗口的应用程序 (或任何锁定的子窗口) 调用 GetDCGetDCExBeginPaint 函数,则调用的函数将返回具有可见区域为空的设备上下文。 在应用程序通过调用 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 中引入)

另请参阅

BeginPaint

GetDC

GetDCEx

绘制和绘制函数

绘画和绘图概述

WM_PAINT