描述
LockWindowUpdate功能在指定的窗口中禁用或启用绘图。一次只能锁定一个窗口。
C++ 语法
BOOL LockWindowUpdate( __in HWND hWndLock ); |
PowerBASIC 语法
FUNCTION LockWindowUpdate ( _ BYVAL hWndLock AS DWORD _ ) AS LONG |
参数
hWndLock
[in]指定将禁用绘图的窗口。如果此参数为NULL,则启用锁定窗口中的绘图。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零,表示发生错误或其他窗口已被锁定。
备注
LockWindowUpdate功能的目的是允许拖放反馈在窗口上绘制而不受窗口本身的干扰。意图是当反馈完成时,窗口被锁定,并在解锁时解锁。LockWindowUpdate不适用于窗口重画的通用抑制。使用WM_SETREDRAW消息禁用重绘特定窗口。
如果具有锁定窗口(或任何锁定的子窗口)的应用程序调用{??989796065},GetDCEx或BeginPaint函数,则调用函数将返回具有空白可见区域的设备上下文。这将发生,直到应用程序通过调用LockWindowUpdate解锁窗口,为hWndLock指定NULL值。
如果应用程序尝试在锁定的窗口内绘制,系统会在边界矩形中记录尝试操作的范围。当窗口解锁时,系统使该边界矩形内的区域无效,迫使最终的WM_PAINT消息发送到先前锁定的窗口及其子窗口。如果在窗口更新被锁定的情况下没有发生任何绘图,则不会导致任何区域无效。
LockWindowUpdate不会使指定的窗口不可见,也不会清除WS_VISIBLE样式位。
锁定的窗口不能移动。
引用文件 #INCLUDE Once
WinUser.inc(包括Windows.inc)


