SetFocus

 

SetFocus

  函数功能:该函数对指定的窗口设置键盘焦点。该窗口必须与调用线程的消息队列相关。
  函数原型:HWND SetFocus(HWND hWnd);
  参数:
  hWnd:接收键盘输入的窗口指针。若该参数为NULL,则击键被忽略。
  返回值:若函数调用成功,则返回原先拥有键盘焦点的窗口句柄。若hWnd参数无效或窗口未与调用线程的消息队列相关,则返回值为NULL。若要获得更多错误信息,可以调用GetLastError函数。
  备注:SetFocus函数发送WM_KILLFOCUS消息到失去键盘焦点的窗口,并且发送WM_SETFOCUS消息到接受键盘焦点的窗口。它也激活接受键盘焦点的窗口或接受键盘焦点的窗口的父窗口。
  若一个窗口是活动的,但没有键盘焦点,则任何按键将会产生WM_SYSCHAR,WM_SYSKEYDOWN或WM_SYSKEYUP消息。若VK_MENU键也被按下,则消息的IParam参数将设置第30位。否则,所产生的消息将不设置此位。
  使用AttachThreadInput函数,一个线程可将输入处理连接到其他线程。这使得线程可以调用SetFocus函数为一个与其他线程的消息队列相关的窗口设置键盘焦点。
  Windows CE:不使用SetFocus函数为一个与其他线程的消息队列相关的窗口设置键盘焦点。但有一个例外。若一个线程的窗口是另一线程的子窗口,或这些窗口是具有同一父窗口的兄弟窗口,则与一个线程关联的窗口可以为其他窗口设置焦点,尽管该窗口属于一个不同的线程。在这种情况下,就不必先调用AttachThreadlnpUt函数。
  速查:Windows NT:3.1及以上版本;Windows:95及以上版本:Windows CE:1.0及以上版;头文件:winuser.h;库文件:user32.lib
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值