硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3210|回复: 7
收起左侧

[emWin] 请教一下,stemwin中聚焦WM_SET_FOCUS 的功能是什么,有什么作用?

[复制链接]

35

主题

80

回帖

185

积分

初级会员

积分
185
发表于 2017-5-15 15:37:47 | 显示全部楼层 |阅读模式
请教一下,stemwin中聚焦WM_SET_FOCUS 的功能是什么,有什么作用?看了好多代码里面都有这个 ,不知道是什么作用,求赐教
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115777
QQ
发表于 2017-5-15 16:22:41 | 显示全部楼层
很少用到,我基本没用过。
回复

使用道具 举报

35

主题

80

回帖

185

积分

初级会员

积分
185
 楼主| 发表于 2017-5-16 11:44:34 | 显示全部楼层
说错了,是这个函数WM_SetFocus()一般有什么作用?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115777
QQ
发表于 2017-5-16 14:03:02 | 显示全部楼层

回 东北f4 的帖子

东北f4:说错了,是这个函数WM_SetFocus()一般有什么作用? (2017-05-16 11:44) 
这个有用,设置聚焦用的,用于外部实体按键操作界面。
回复

使用道具 举报

35

主题

80

回帖

185

积分

初级会员

积分
185
 楼主| 发表于 2017-8-12 16:45:42 | 显示全部楼层
如果我有按键向某一个指定的界面发消息,是如何来调用这个函数的呢
回复

使用道具 举报

6

主题

231

回帖

249

积分

高级会员

积分
249
发表于 2017-8-12 19:27:46 | 显示全部楼层
SetFocus函数会向当前获得输入焦点的窗口(子窗口)发送WM_NOTIFICATION_LOST_FOCUS,会向新获得输入焦点的窗口发送WM_SET_FOCUS。
接收到WM_SET_FOCUS的窗口可以显示插入符(例如编辑控件),或者显示一个虚线框(例如按钮控件)。
GUI系统内部会记录获得输入焦点的窗口,然后所有按键输入都会泵给这个窗口。
回复

使用道具 举报

6

主题

231

回帖

249

积分

高级会员

积分
249
发表于 2017-8-12 19:33:54 | 显示全部楼层
在GUI系统中,任何时候鼠标和键盘都只能被一个窗口独占。
鼠标是由获得“CAPTURE”的窗口所拥有,键盘是由获得“FOCUS”的窗口所拥有,这是非常重要的基础知识。
这两个窗口都会被GUI系统记录、追踪。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2018-10-11 16:05:40 | 显示全部楼层
novice 发表于 2017-8-12 19:27
SetFocus函数会向当前获得输入焦点的窗口(子窗口)发送WM_NOTIFICATION_LOST_FOCUS,会向新获得输入焦点的 ...

学习了。最近正在困惑WM_SET_FOCUS的信号是怎么来的。看到user manual 上说的:WM_SET_FOCUS: Set to a window if it gains or loses the input focus. 除了WM_SetFoucs()会向窗口方该消息,如果调用WM_InvalidateWindow( hHandWin)是否也会向hHandWin窗口发送该消息。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-17 12:11 , Processed in 0.305804 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表