Função LockWindowUpdate (winuser.h)

A função LockWindowUpdate desabilita ou habilita o desenho na janela especificada. Apenas uma janela pode ser bloqueada de cada vez.

Sintaxe

BOOL LockWindowUpdate(
  [in] HWND hWndLock
);

Parâmetros

[in] hWndLock

A janela na qual o desenho será desabilitado. Se esse parâmetro for NULL, o desenho na janela bloqueada estará habilitado.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero, indicando que ocorreu um erro ou que outra janela já estava bloqueada.

Comentários

A finalidade da função LockWindowUpdate é permitir que os comentários de arrastar/soltar sejam desenhados em uma janela sem interferência da própria janela. A intenção é que a janela seja bloqueada quando os comentários forem desenhados e desbloqueados quando os comentários forem concluídos. LockWindowUpdate não se destina à supressão de uso geral do redesenho de janela. Use a mensagem WM_SETREDRAW para desabilitar o redesenho de uma janela específica.

Se um aplicativo com uma janela bloqueada (ou qualquer janela filho bloqueada) chamar a função GetDC, GetDCEx ou BeginPaint , a função chamada retornará um contexto de dispositivo com uma região visível vazia. Isso ocorrerá até que o aplicativo desbloqueie a janela chamando LockWindowUpdate, especificando um valor NULL para hWndLock.

Se um aplicativo tentar desenhar dentro de uma janela bloqueada, o sistema registrará a extensão da tentativa de operação em um retângulo delimitador. Quando a janela é desbloqueada, o sistema invalida a área dentro desse retângulo delimitador, forçando um eventual WM_PAINT mensagem a ser enviada para a janela bloqueada anteriormente e suas janelas filho. Se nenhum desenho tiver ocorrido enquanto as atualizações da janela estiverem bloqueadas, nenhuma área será invalidada.

LockWindowUpdate não torna a janela especificada invisível e não limpa o bit de estilo WS_VISIBLE.

Não é possível mover uma janela bloqueada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll
Conjunto de APIs ext-ms-win-ntuser-draw-l1-1-2 (introduzido no Windows 10, versão 10.0.10240)

Confira também

Beginpaint

Getdc

Getdcex

Funções de pintura e desenho

Visão geral de pintura e desenho

WM_PAINT