SetFocus

SetFocus функция устанавливает фокус клавиатуры на указанный окно. Окно должно быть связано с очереди сообщений вызывающего потока.

 () HWND SetFocus HWND  hWnd / / дескриптор окна, чтобы получить фокус);
 

Параметры

hWnd
Дескриптор окна, которое будет получать ввод с клавиатуры. Если этот параметр имеет значение NULL, игнорируются нажатия клавиш.

Возвращаемые значения

Если функция выполнена успешно, возвращаемое значение является дескриптор для окна, которое ранее имел фокус клавиатуры. Если параметр hWnd является недопустимым или окно не связан с очередью сообщений вызывающего потока, возвращаемое значение равно NULL. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Примечания

Функция SetFocus отправляет сообщение окна, которое теряет фокус клавиатуры, WM_KILLFOCUS и WM_SETFOCUS сообщение окна, которое получает фокус клавиатуры. Он также активирует окно, которое получает фокус или родительского окна, которое получает фокус.

Если окно активным, но не имеет фокус, любая клавиша нажата будет производить сообщение WM_SYSCHAR, WM_SYSKEYDOWN или WM_SYSKEYUP. Если нажата клавиша VK_MENU, параметр lParam сообщения будет бит 30 набор. В противном случае сообщения производится не имеют этот бит установлен.

С помощью функции AttachThreadInput , поток можно прикрепить его обработки в другой поток ввода. Это позволяет потоку вызывать SetFocus для задания клавиатурный фокус на окно, связанное с очередью сообщений другой поток.

Windows CE: Не использовать функцию SetFocus для задания клавиатурный фокус на окно, связанное с очередью сообщений другим потоком. Есть одно исключение. Если окно на один поток является дочерним элементом окна на другой поток, или если окна являются братьями и сестрами из того же родительского объекта, потока, связанного с одним окном можно установить фокус в окно, несмотря на то, что он принадлежит к другому потоку. В этом случае нет необходимости сначала вызвать AttachThreadInput.

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Использование user32.lib.

Родственные слова

Обзор ввода клавиатуры, функций ввода клавиатуры, AttachThreadInput, GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP

Index