SetFocus

【勇芳软件工作室】汉化HomePreviousNext

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