Share via


Fonction LockWindowUpdate (winuser.h)

La fonction LockWindowUpdate désactive ou active le dessin dans la fenêtre spécifiée. Une seule fenêtre peut être verrouillée à la fois.

Syntaxe

BOOL LockWindowUpdate(
  [in] HWND hWndLock
);

Paramètres

[in] hWndLock

Fenêtre dans laquelle le dessin sera désactivé. Si ce paramètre a la valeur NULL, le dessin dans la fenêtre verrouillée est activé.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est zéro, ce qui indique qu’une erreur s’est produite ou qu’une autre fenêtre a déjà été verrouillée.

Remarques

L’objectif de la fonction LockWindowUpdate est de permettre aux commentaires de glisser-déplacer d’être dessinés sur une fenêtre sans interférence de la fenêtre elle-même. L’intention est que la fenêtre soit verrouillée lorsque les commentaires sont dessinés et déverrouillés lorsque les commentaires sont terminés. LockWindowUpdate n’est pas destiné à la suppression à usage général du redessinage de fenêtre. Utilisez le message WM_SETREDRAW pour désactiver le redessinage d’une fenêtre particulière.

Si une application avec une fenêtre verrouillée (ou toute fenêtre enfant verrouillée) appelle la fonction GetDC, GetDCEx ou BeginPaint , la fonction appelée retourne un contexte d’appareil avec une région visible qui est vide. Cela se produit jusqu’à ce que l’application déverrouille la fenêtre en appelant LockWindowUpdate, en spécifiant la valeur NULL pour hWndLock.

Si une application tente de dessiner dans une fenêtre verrouillée, le système enregistre l’étendue de l’opération tentée dans un rectangle englobant. Lorsque la fenêtre est déverrouillée, le système invalide la zone dans ce rectangle englobant, forçant l’envoi d’un message WM_PAINT éventuel à la fenêtre précédemment verrouillée et à ses fenêtres enfants. Si aucun dessin ne s’est produit pendant que les mises à jour de fenêtre ont été verrouillées, aucune zone n’est invalidée.

LockWindowUpdate ne rend pas la fenêtre spécifiée invisible et n’efface pas le bit de style WS_VISIBLE.

Impossible de déplacer une fenêtre verrouillée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Ensemble d’API ext-ms-win-ntuser-draw-l1-1-2 (introduit dans Windows 10, version 10.0.10240)

Voir aussi

BeginPaint

GetDC

GetDCEx

Fonctions de peinture et de dessin

Vue d’ensemble de la peinture et du dessin

WM_PAINT