1 out of 1 rated this helpful - Rate this topic

LockWindowUpdate function

Applies to: desktop apps only

The LockWindowUpdate function disables or enables drawing in the specified window. Only one window can be locked at a time.

Syntax

BOOL LockWindowUpdate(
  __in  HWND hWndLock
);

Parameters

hWndLock [in]

The window in which drawing will be disabled. If this parameter is NULL, drawing in the locked window is enabled.

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero, indicating that an error occurred or another window was already locked.

Remarks

The purpose of the LockWindowUpdate function is to permit drag/drop feedback to be drawn over a window without interference from the window itself. The intent is that the window is locked when feedback is drawn and unlocked when feedback is complete. LockWindowUpdate is not intended for general-purpose suppression of window redraw. Use the WM_SETREDRAW message to disable redrawing of a particular window.

If an application with a locked window (or any locked child windows) calls the GetDC, GetDCEx, or BeginPaint function, the called function returns a device context with a visible region that is empty. This will occur until the application unlocks the window by calling LockWindowUpdate, specifying a value of NULL for hWndLock.

If an application attempts to draw within a locked window, the system records the extent of the attempted operation in a bounding rectangle. When the window is unlocked, the system invalidates the area within this bounding rectangle, forcing an eventual WM_PAINT message to be sent to the previously locked window and its child windows. If no drawing has occurred while the window updates were locked, no area is invalidated.

LockWindowUpdate does not make the specified window invisible and does not clear the WS_VISIBLE style bit.

A locked window cannot be moved.

Requirements

Minimum supported client

Windows 2000 Professional

Minimum supported server

Windows 2000 Server

Header

Winuser.h (include Windows.h)

Library

User32.lib

DLL

User32.dll

See also

Painting and Drawing Overview
Painting and Drawing Functions
BeginPaint
GetDC
GetDCEx
WM_PAINT

 

 

Send comments about this topic to Microsoft

Build date: 3/7/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
VB.NET Declaration
<DllImportAttribute("user32.dll")> _
Public Function LockWindowUpdate(ByVal hWnd As IntPtr) As Boolean
End Function