Función SetFocus (winuser.h)
Establece el foco del teclado en la ventana especificada. La ventana debe asociarse a la cola de mensajes del subproceso que llama.
Sintaxis
HWND SetFocus(
[in, optional] HWND hWnd
);
Parámetros
[in, optional] hWnd
Tipo: HWND
Identificador de la ventana que recibirá la entrada del teclado. Si este parámetro es NULL, se omiten las pulsaciones de teclas.
Valor devuelto
Tipo: HWND
Si la función se realiza correctamente, el valor devuelto es el identificador de la ventana que anteriormente tenía el foco del teclado. Si el parámetro hWnd no es válido o la ventana no está asociada a la cola de mensajes del subproceso que realiza la llamada, el valor devuelto es NULL. Para obtener información de error extendida, llame a la función GetLastError.
El error extendido ERROR_INVALID_PARAMETER (0x57) significa que la ventana está en estado deshabilitado.
Comentarios
Esta función envía un mensaje WM_KILLFOCUS a la ventana que pierde el foco del teclado y un mensaje WM_SETFOCUS a la ventana que recibe el foco del teclado. También activa la ventana que recibe el foco o el elemento primario de la ventana que recibe el foco.
Si una ventana está activa pero no tiene el foco, cualquier tecla presionada genera el mensaje WM_SYSCHAR, WM_SYSKEYDOWN o WM_SYSKEYUP . Si también se presiona la tecla VK_MENU, se establece el bit 30 del parámetro lParam del mensaje. De lo contrario, los mensajes generados no tienen este conjunto de bits.
Mediante el uso de la función AttachThreadInput, un subproceso puede adjuntar su procesamiento de entrada a otro subproceso. Esto permite que un subproceso llame a SetFocus para establecer el foco del teclado en una ventana adjunta a la cola de mensajes de otro subproceso.
Ejemplos
Para obtener un ejemplo, vea Inicializar un cuadro de diálogo.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluir Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-window-l1-1-4 (introducido en Windows 10, versión 10.0.14393) |
Consulte también
Función AttachThreadInput, función GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP, Entrada de teclado