Partager via


SetFocus, fonction (winuser.h)

Définit le focus du clavier sur la fenêtre spécifiée. La fenêtre doit être jointe à la file d’attente des messages du thread appelant.

Syntaxe

HWND SetFocus(
  [in, optional] HWND hWnd
);

Paramètres

[in, optional] hWnd

Type : HWND

Handle de la fenêtre qui recevra l’entrée du clavier. Si ce paramètre a la valeur NULL, les frappes sont ignorées.

Valeur retournée

Type : HWND

Si la fonction réussit, la valeur de retour est le handle de la fenêtre qui avait précédemment le focus clavier. Si le paramètre hWnd n’est pas valide ou si la fenêtre n’est pas attachée à la file d’attente de messages du thread appelant, la valeur de retour est NULL. Pour obtenir des informations d’erreur étendues, appelez la fonction GetLastError.

Le ERROR_INVALID_PARAMETER d’erreur étendu (0x57) signifie que l’état de la fenêtre est désactivé.

Remarques

Cette fonction envoie un message WM_KILLFOCUS à la fenêtre qui perd le focus du clavier et un message WM_SETFOCUS à la fenêtre qui reçoit le focus clavier. Il active également la fenêtre qui reçoit le focus ou le parent de la fenêtre qui reçoit le focus.

Si une fenêtre est active mais n’a pas le focus, toute touche enfoncée génère le message WM_SYSCHAR, WM_SYSKEYDOWN ou WM_SYSKEYUP . Si la touche VK_MENU est également enfoncée, le bit 30 du paramètre lParam du message est défini. Sinon, les messages générés n’ont pas ce bit défini.

En utilisant la fonction AttachThreadInput, un thread peut attacher son traitement d’entrée à un autre thread. Cela permet à un thread d’appeler SetFocus pour définir le focus du clavier sur une fenêtre attachée à la file d’attente des messages d’un autre thread.

Exemples

Pour obtenir un exemple, consultez Initialisation d’une boîte de dialogue.

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-window-l1-1-4 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

Fonction AttachThreadInput, fonction GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP, Entrée clavier