Compartilhar via


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