在VC中,使得到焦点是WM_SETFOCUS消息,使失去焦点是WM_KILLFOCUS,那么 得到焦点是哪个消息?

想让用户点击状态栏时,状态栏得到焦点时又自动失去焦点,即写入WM_KILLFOCUS消息。现在的问题是,得到焦点的事件是什么?WM_?... 想让 用户点击状态栏时,状态栏得到焦点时又自动失去焦点,即写入 WM_KILLFOCUS 消息。

现在的问题是,得到焦点的事件是什么?
WM_?
展开
 我来答
一颗☆的精彩37e54
2012-06-14
知道答主
回答量:20
采纳率:0%
帮助的人:18.5万
展开全部
当windows将输入焦点从一个窗口转换到另一个窗口时,它首先给正在失去焦点的窗口发一个WM_KILLFOCUS消息,wParam参数是接收输入焦点的窗口的句柄,然后window向正在接收输入焦点的窗口发送一个WM_SETFOCUS消息,同时wParam是还在失去输入焦点的窗口的句柄,(WPARAM为NULL表示没有窗口拥有或正在接收输入焦点)
所以,得到焦点的事件就是WM_SETFOCUS
追问
在点击状态栏窗口时,状态栏自动获得焦点,这个自动获得焦点的消息是什么呢?
WM_SETFOCUS 是设置焦点,获得焦点 同设置焦点 应该不一样。

状态栏获得焦点的消息,倒是有点像WM_ACTIVATE。
但经过试验,WM_ACTIVATE、WM_SETFOCUS都没有响应事件。
在两个消息中,都加了MessageBox(NULL,"00","提示",MB_OK)消息,但点击状态栏时,都没有机会被执行。
追答
WM_ACTIVATE是窗口激活事件和WM_SETFOCUS获得焦点还是有区别的,比如你打开一个窗口或是从其他应用程序切换至,这是激活。但是其子窗口(控件),按钮什么的是获得焦点的,这在子类化就能容易试出来。
你说的状态栏若不是子类化的,就要看这控件有没相应的通知代码了,若不然就是HOOK或者在转化消息事件中过滤了
ysdoc
2012-06-14 · TA获得超过746个赞
知道小有建树答主
回答量:586
采纳率:60%
帮助的人:403万
展开全部
WM_SETFOCUS
追问
我在题目中就已经说了,不是这个东西,你没看明白吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式