Função SetFocus (winuser.h)
Define o foco do teclado para a janela especificada. A janela deve ser anexada à fila de mensagens do thread de chamada.
Sintaxe
HWND SetFocus(
[in, optional] HWND hWnd
);
Parâmetros
[in, optional] hWnd
Digite: HWND
Um identificador para a janela que receberá a entrada do teclado. Se esse parâmetro for NULL, os pressionamentos de tecla serão ignorados.
Retornar valor
Digite: HWND
Se a função for bem-sucedida, o valor retornado será o identificador para a janela que anteriormente tinha o foco do teclado. Se o parâmetro hWnd for inválido ou a janela não estiver anexada à fila de mensagens do thread de chamada, o valor retornado será NULL. Para obter informações de erro estendidas, chame a função GetLastError.
O erro estendido ERROR_INVALID_PARAMETER (0x57) significa que a janela está no estado desabilitado.
Comentários
Essa função envia uma mensagem WM_KILLFOCUS para a janela que perde o foco do teclado e uma mensagem WM_SETFOCUS para a janela que recebe o foco do teclado. Ele também ativa a janela que recebe o foco ou o pai da janela que recebe o foco.
Se uma janela estiver ativa, mas não tiver o foco, qualquer tecla pressionada produzirá a mensagem WM_SYSCHAR, WM_SYSKEYDOWN ou WM_SYSKEYUP . Se a tecla VK_MENU também for pressionada, o bit 30 do parâmetro lParam da mensagem será definido. Caso contrário, as mensagens produzidas não têm esse bit definido.
Usando a função AttachThreadInput, um thread pode anexar seu processamento de entrada a outro thread. Isso permite que um thread chame SetFocus para definir o foco do teclado como uma janela anexada à fila de mensagens de outro thread.
Exemplos
Para obter um exemplo, consulte Inicializando uma caixa de diálogo.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-window-l1-1-4 (introduzido no Windows 10, versão 10.0.14393) |
Confira também
Função AttachThreadInput, função GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP, Entrada de Teclado