Функция SetFocus (winuser.h)
Устанавливает фокус клавиатуры в указанное окно. Окно должно быть подключено к очереди сообщений вызывающего потока.
Синтаксис
HWND SetFocus(
[in, optional] HWND hWnd
);
Параметры
[in, optional] hWnd
Тип: HWND
Дескриптор окна, которое получит ввод с клавиатуры. Если этот параметр имеет значение NULL, нажатия клавиш игнорируются.
Возвращаемое значение
Тип: HWND
Если функция выполняется успешно, возвращаемое значение — это дескриптор окна, в которое ранее был установлен фокус клавиатуры. Если параметр hWnd недопустим или окно не подключено к очереди сообщений вызывающего потока, возвращаемое значение равно NULL. Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError.
Расширенное ERROR_INVALID_PARAMETER ошибок (0x57) означает, что окно находится в отключенном состоянии.
Комментарии
Эта функция отправляет WM_KILLFOCUS сообщение в окно, которое теряет фокус клавиатуры, и WM_SETFOCUS сообщение в окно, которое получает фокус клавиатуры. Он также активирует окно, которое получает фокус, или родительский элемент окна, получающего фокус.
Если окно активно, но не имеет фокуса, любая нажатая клавиша создает сообщение WM_SYSCHAR, WM_SYSKEYDOWN или WM_SYSKEYUP . Если клавиша VK_MENU также нажата, задается бит 30 параметра lParam сообщения. В противном случае для создаваемых сообщений этот бит не задан.
С помощью функции AttachThreadInput поток может присоединить свою обработку входных данных к другому потоку. Это позволяет потоку вызывать SetFocus для установки фокуса клавиатуры на окно, подключенное к очереди сообщений другого потока.
Примеры
Пример см. в разделе Инициализация диалогового окна.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-window-l1-1-4 (представлено в Windows 10 версии 10.0.14393) |
См. также раздел
Функция AttachThreadInput, функция GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP, ввод с клавиатуры