Freigeben über


SetFocus-Funktion (winuser.h)

Legt den Tastaturfokus auf das angegebene Fenster fest. Das Fenster muss an die Meldungswarteschlange des aufrufenden Threads angefügt werden.

Syntax

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

Parameter

[in, optional] hWnd

Typ: HWND

Ein Handle für das Fenster, das die Tastatureingabe empfängt. Wenn dieser Parameter NULL ist, werden Tastenanschläge ignoriert.

Rückgabewert

Typ: HWND

Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle für das Fenster, das zuvor den Tastaturfokus hatte. Wenn der hWnd-Parameter ungültig ist oder das Fenster nicht an die Nachrichtenwarteschlange des aufrufenden Threads angefügt ist, ist der Rückgabewert NULL. Rufen Sie die GetLastError-Funktion auf, um erweiterte Fehlerinformationen abzurufen.

Erweiterte Fehler ERROR_INVALID_PARAMETER (0x57) bedeutet, dass das Fenster deaktiviert ist.

Hinweise

Diese Funktion sendet eine WM_KILLFOCUS Nachricht an das Fenster, das den Tastaturfokus verliert, und eine WM_SETFOCUS Nachricht an das Fenster, das den Tastaturfokus empfängt. Außerdem wird entweder das Fenster aktiviert, das den Fokus empfängt, oder das übergeordnete Fenster, das den Fokus empfängt.

Wenn ein Fenster aktiv ist, aber nicht über den Fokus verfügt, erzeugt jede gedrückte Taste die WM_SYSCHAR, WM_SYSKEYDOWN oder WM_SYSKEYUP Nachricht. Wenn auch die VK_MENU-Taste gedrückt wird, wird Bit 30 des lParam-Parameters der Nachricht festgelegt. Andernfalls ist für die generierten Nachrichten dieses Bit nicht festgelegt.

Mithilfe der AttachThreadInput-Funktion kann ein Thread seine Eingabeverarbeitung an einen anderen Thread anfügen. Dadurch kann ein Thread SetFocus aufrufen, um den Tastaturfokus auf ein Fenster festzulegen, das an die Nachrichtenwarteschlange eines anderen Threads angefügt ist.

Beispiele

Ein Beispiel finden Sie unter Initialisieren eines Dialogfelds.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-window-l1-1-4 (eingeführt in Windows 10, Version 10.0.14393)

Weitere Informationen

AttachThreadInput-Funktion, GetFocus-Funktion, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP, Tastatureingabe