Condividi tramite


Funzione SetFocus (winuser.h)

Imposta lo stato attivo della tastiera sulla finestra specificata. La finestra deve essere collegata alla coda del messaggio del thread chiamante.

Sintassi

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

Parametri

[in, optional] hWnd

Tipo: HWND

Handle alla finestra che riceverà l'input della tastiera. Se questo parametro è NULL, le sequenze di tasti vengono ignorate.

Valore restituito

Tipo: HWND

Se la funzione ha esito positivo, il valore restituito è l'handle della finestra che in precedenza aveva lo stato attivo della tastiera. Se il parametro hWnd non è valido o la finestra non è collegata alla coda del messaggio del thread chiamante, il valore restituito è NULL. Per ottenere informazioni sull'errore estese, chiamare la funzione GetLastError.

L'errore esteso ERROR_INVALID_PARAMETER (0x57) indica che la finestra è in stato disabilitato.

Commenti

Questa funzione invia un messaggio WM_KILLFOCUS alla finestra che perde lo stato attivo della tastiera e un messaggio WM_SETFOCUS alla finestra che riceve lo stato attivo della tastiera. Attiva anche la finestra che riceve lo stato attivo o l'elemento padre della finestra che riceve lo stato attivo.

Se una finestra è attiva ma non ha lo stato attivo, qualsiasi tasto premuto produce il WM_SYSCHAR, WM_SYSKEYDOWN o WM_SYSKEYUP messaggio. Se viene premuto anche il tasto VK_MENU, viene impostato un bit 30 del parametro lParam del messaggio. In caso contrario, i messaggi prodotti non hanno questo set di bit.

Usando la funzione AttachThreadInput, un thread può collegare l'elaborazione di input a un altro thread. Ciò consente a un thread di chiamare SetFocus per impostare lo stato attivo della tastiera su una finestra collegata alla coda di messaggi di un altro thread.

Esempio

Per un esempio, vedere Inizializzazione di una finestra di dialogo.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-window-l1-1-4 (introdotta in Windows 10, versione 10.0.14393)

Vedi anche

Funzione AttachThreadInput, funzione GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP, Input tastiera