Функция SetFocus устанавливает фокус клавиатуры в заданном окне. Окно должно быть связано с очередью сообщений вызывающего потока. Окно должно быть присоединено к очереди сообщений вызывающего поток.
Синтаксис
HWND SetFocus( HWND hWnd ); |
Параметры
hWnd
[in] Дескриптор окна, которое примет ввод информации с клавиатуры. Если этот параметр - ПУСТО (NULL), нажатия клавиши игнорируются.
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - дескриптор окна, которое до этого имело фокус клавиатуры. Если параметр hWnd недопустимый или окно не связано с очередью сообщений вызывающего потока, величина возвращаемого значения - ПУСТО (NULL). Чтобы получить дополнительные сведения об ошибке, вызовите функцию GetLastError.
Замечания
Функция
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. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |