硬汉嵌入式论坛

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

[emWin] 窗口翻页功能

[复制链接]

4

主题

18

回帖

30

积分

新手上路

积分
30
发表于 2022-8-23 21:13:35 | 显示全部楼层 |阅读模式
本帖最后由 那年的岳麓山 于 2022-8-23 21:16 编辑

创建一个窗口,子控件从上到下整齐排列,通过键GUI_KEY_TAB实现从上到下切换控件的输入焦点,通过GUI_KEY_BACKTAB实现从下到上切换控件。由于窗口大小不足以放下所有控件,相当于有几页子控件,要求在当前页面最底下的子控件具备输入焦点时,再来一次GUI_KEY_TAB键消息时下翻一页,且输入焦点也要落在下一页的第一个子控件上;在当前页的最上面的子控件具备焦点时,再来一次GUI_KEY_BACKTAB键消息时上翻一页,且输入焦落在上一页最后一个子控件上。不知道谁有什么好的实现方法吗?谢谢!
回复

使用道具 举报

4

主题

18

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2022-8-24 01:33:24 | 显示全部楼层
自己琢磨出来了,已经实现了想要的功能。就是接收到GUI_KEY_TAB和GUI_KEY_BACKTAB的子控件将消息转换成其他消息后再发给父窗口,这样就不会被父窗口内部的回调函数拦截了,然后用户自定义的窗口回调函数就可以处理该消息。当需要切换控件时,可以在父窗口里面将按键消息还原成GUI_KEY_TAB和GUI_KEY_BACKTAB,重新发送给父窗口。

不知道谁还有没有更好的办法?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-8-24 02:09:30 | 显示全部楼层
这个还是用窗口自定义消息方便。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-24 02:55 , Processed in 0.224404 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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