Win32 API. Функции и сообщения ввода информации с клавиатуры
Страница 21. Функция SetFocus


Функция SetFocus

(УстановитьФокус)

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

Синтаксис

HWND SetFocus
(
HWND hWnd// дескриптор окна, которому передается фокус
);

Параметры
hWnd
Идентифицирует окно, которое примет ввод информации с клавиатуры. Если этот параметр - ПУСТО (NULL), нажатия клавиши игнорируются.

Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - дескриптор окна, которое до этого имело фокус клавиатуры. Если параметр hWnd недопустимый или окно не связано с очередью сообщений вызывающего потока, величина возвращаемого значения - ПУСТО (NULL).

Замечания
Функция SetFocus отправляет сообщение WM_KILLFOCUS окну, которое теряет фокус клавиатуры, а сообщение WM_SETFOCUS окну, которое принимает фокус клавиатуры. Она также активизирует или окно, которое принимает фокус или родителя этого окна.
Если окно активное, но не имеет фокуса, любая нажатая клавиша произведет сообщение WM_SYSCHAR, WM_SYSKEYDOWN или WM_SYSKEYUP. Если клавиша VK_MENU также нажата, параметр lParam сообщения будет иметь установленным 30-й бит. Иначе, созданные сообщения не получат установки этого бита.
При использовании функции AttachThreadInput, поток может подключить обработку своего ввода информации к другому потоку. Это дает возможность потоку вызывать SetFocus, чтобы установить фокус клавиатуры в окно, связанное с очередью сообщений другого потока.

Смотри также
AttachThreadInput, GetFocus, WM_KILLFOCUS, WM_SETFOCUS, WM_SYSCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP

Размещение и совместимость SetFocus

Windows NTДа 
Win95Да
Win32sДа
Импортируемая библиотекаuser32.lib
Заголовочный файлwinuser.h
UnicodeНет
Замечания по платформеНе имеется

 
« Предыдущая статья   Следующая статья »