SetFocus

Die SetFocus -Funktion legt den Tastaturfokus auf das angegebene Fenster. Das Fenster muss der aufrufende Thread Warteschlange zugeordnet werden.

 HWND SetFocus) HWND  hWnd / / handle zum Fenster den Fokus erhalten);
 

Parameter

hWnd
Handle für das Fenster, das die Tastatureingaben empfangen wird. Wenn dieser Parameter NULL ist, werden die Tastenanschläge ignoriert.

Rückgabewerte

Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle für das Fenster, das zuvor den Tastaturfokus. Wenn der hWnd -Parameter ungültig ist, oder das Fenster nicht dem aufrufenden Thread Warteschlange zugeordnet ist, ist der Rückgabewert NULL. Rufen Sie Fehlerinformationen verlängert bekommen, GetLastError.

Bemerkungen

Die SetFocus -Funktion sendet eine Nachricht WM_KILLFOCUS an das Fenster, das den Tastaturfokus verliert und eine Meldung WM_SETFOCUS an das Fenster, das den Tastaturfokus erhält. Es aktiviert auch das Fenster, das den Fokus erhält oder das übergeordnete Fenster, das den Fokus erhält.

Wenn ein Fenster aktiv ist, aber muss nicht im Mittelpunkt, wird eine beliebige Taste gedrückt die Meldung WM_SYSCHAR, WM_SYSKEYDOWN oder WM_SYSKEYUP produzieren. Wenn auch die VK_MENU-Taste gedrückt wird, wird der Parameter lParam der Nachricht 30 bit gesetzt ist. Ansonsten haben die Meldungen nicht dieses Bit gesetzt.

Mithilfe der Funktion AttachThreadInput , kann ein Thread seine Eingabe Verarbeitung auf einen anderen Thread anfügen. Dies ermöglicht einem Thread aufrufen, SetFocus , den Tastaturfokus auf eine Meldungswarteschlange einen anderen Thread zugeordnete Fenster festzulegen.

Windows CE: Verwenden Sie die SetFocus -Funktion nicht den Tastaturfokus auf eine Meldungswarteschlange einen anderen Thread zugeordnete Fenster festgelegt. Es gibt eine Ausnahme. Wenn ein Fenster in einem Thread das untergeordnete Fenster auf den anderen Thread ist, oder wenn die Geschwister von demselben übergeordneten Element sind, kann der Thread, verbunden mit einem Fenster den Fokus auf das andere Fenster festgelegt, obwohl es zu einem anderen Thread gehört. In diesem Fall gibt es keine Notwendigkeit, AttachThreadInput erster Aufruf.

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:In winuser.h deklarierten.
Importieren Bibliothek:Verwenden Sie user32.lib.

Siehe auch

Übersicht über die Tastatur-Eingabe, Keyboard Input Funktionen, AttachThreadInput, GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP

Index