硬汉嵌入式论坛

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

[ThreadX全家桶] GUIX droplist 控件的弹出框能不能往上弹出?

[复制链接]

58

主题

267

回帖

446

积分

高级会员

积分
446
发表于 2021-6-8 15:14:44 | 显示全部楼层 |阅读模式
如题
回复

使用道具 举报

58

主题

267

回帖

446

积分

高级会员

积分
446
 楼主| 发表于 2021-6-8 18:37:17 | 显示全部楼层
自己摸索了一下,搞定向上弹出的问题了。

第一步,实现一个回调函数,在显示消息里重新定位弹出框的位置。
这里有个关键的地方是最后调用的默认处理函数一定要是 _gx_popup_list_event_process,这个函数需要另外包含头文件 gx_window.h
不能是 gx_vertical_list_event_process,更加不能是 gx_window_event_process。
微信图片_20210608182949.png


第二步,将上面的回调函数绑定到 drop_list 的弹出框,注意不是绑定到 drop_list。
并且要在弹出框(vertical_list)的user_data 里 记录 drop_list 的句柄(也可以以结构体指针的形式记录更多东西),
记录这个句柄的作用是希望回调函数能通用,在回调函数里计算 drop_list 的高,和 弹出框的高度。
不能直接用 vertical_list 的 parent 指针,因为 vertical_list 的 parent 指针不是 drop_list, 而是与 drop_list 同一个parent。
微信图片_20210608183031.png

通过这个方法,可以自由调整弹出框的显示位置。


回复

使用道具 举报

58

主题

267

回帖

446

积分

高级会员

积分
446
 楼主| 发表于 2021-6-9 09:30:20 | 显示全部楼层
发现将 list 定义为 GX_POPUP_LIST* 类型,就可以不使用 user_data 传递指针了,直接用 list->gx_popup_list_owner。

微信图片_20210609092826.png



要是官方能加个设置,可以选择往上还是往下弹出就方便多了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2021-6-9 09:59:31 | 显示全部楼层
这种的弹出方式,可以考虑用GUIX Studio的 animation 做弹出的。
回复

使用道具 举报

40

主题

113

回帖

233

积分

高级会员

积分
233
发表于 2023-9-11 17:17:50 | 显示全部楼层
ihavedone 发表于 2021-6-9 09:30
发现将 list 定义为 GX_POPUP_LIST* 类型,就可以不使用 user_data 传递指针了,直接用 list->gx_popup_lis ...

楼主,这个回调函数放在哪里才能上弹呢?谢谢!
回复

使用道具 举报

40

主题

113

回帖

233

积分

高级会员

积分
233
发表于 2023-9-11 19:51:26 | 显示全部楼层
eric2013 发表于 2021-6-9 09:59
这种的弹出方式,可以考虑用GUIX Studio的 animation 做弹出的。

硬汉哥,能分享个drop list上弹的例子吗?最底下一行的得上弹,要不显示不了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 17:00 , Processed in 0.284897 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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