硬汉嵌入式论坛

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

[ThreadX全家桶] 如何将按键发送到最前面的窗口?

[复制链接]

28

主题

196

回帖

280

积分

高级会员

积分
280
发表于 2024-8-10 12:23:29 | 显示全部楼层 |阅读模式
[C] 纯文本查看 复制代码
void Send_key_Value(uint32_t Key_value)
{
	GX_EVENT pxMessage;
	pxMessage.gx_event_type = Key_value;
//	pxMessage.gx_event_target = (GX_WIDGET  *)root->gx_widget_first_child;
//	pxMessage.gx_event_target = (GX_WIDGET  *)root;
//	pxMessage.gx_event_target = (GX_WIDGET *)&window_desktop;
	pxMessage.gx_event_target = 0;	
//	pxMessage.gx_event_sender = 0;
//	pxMessage.gx_event_display_handle = 0;	
	gx_system_event_send(&pxMessage);	
}



这样试了不行,除非指定窗口名称。。。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2024-8-10 14:45:04 | 显示全部楼层
要指定窗口句柄才靠谱。
回复

使用道具 举报

28

主题

196

回帖

280

积分

高级会员

积分
280
 楼主| 发表于 2024-8-10 16:02:52 | 显示全部楼层
eric2013 发表于 2024-8-10 14:45
要指定窗口句柄才靠谱。

目前是指定句柄,当新attach个窗口时,用一个临时指针变量把这个窗口句柄存起来,反正每新建一个窗口就要存一次。

GX_WIDGET *Current_Frame_Window;

gx_studio_named_widget_create("window_desktop", (GX_WIDGET *)root, (GX_WIDGET **)&pScreen);
gx_widget_attach((GX_WIDGET *)root, &window_desktop);

void Send_key_Value(uint32_t Key_value)
{
GX_EVENT pxMessage;
pxMessage.gx_event_type = Key_value;
pxMessage.gx_event_target = Current_Frame_Window;
gx_system_event_send(&pxMessage);
}
回复

使用道具 举报

28

主题

196

回帖

280

积分

高级会员

积分
280
 楼主| 发表于 2024-8-10 20:17:19 | 显示全部楼层
eric2013 发表于 2024-8-10 14:45
要指定窗口句柄才靠谱。

如何获取list列表中选中元素所显示的文本?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2024-8-11 09:58:57 | 显示全部楼层
ccschen 发表于 2024-8-10 20:17
如何获取list列表中选中元素所显示的文本?

这个有个API可以获取。
回复

使用道具 举报

28

主题

196

回帖

280

积分

高级会员

积分
280
 楼主| 发表于 2024-8-13 11:45:09 | 显示全部楼层
eric2013 发表于 2024-8-11 09:58
这个有个API可以获取。

然后呢?什么函数?给个示例,就不要卖关子了,试了几个都不成。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2024-8-14 09:16:14 | 显示全部楼层
ccschen 发表于 2024-8-13 11:45
然后呢?什么函数?给个示例,就不要卖关子了,试了几个都不成。

这没有什么好卖关子的,你看下API列表里面,有就支持,没有就不支持。我印象中有一个官方例子是有操作过这个,印象不深了,所以你需要查阅确认下。

我比较懒,没有帮你查阅手册是那个API可以获取。
回复

使用道具 举报

28

主题

196

回帖

280

积分

高级会员

积分
280
 楼主| 发表于 2024-8-14 17:02:12 | 显示全部楼层
eric2013 发表于 2024-8-14 09:16
这没有什么好卖关子的,你看下API列表里面,有就支持,没有就不支持。我印象中有一个官方例子是有操作过 ...

是所有按钮,列表之类的控件都能用的函数么?

回复

使用道具 举报

28

主题

196

回帖

280

积分

高级会员

积分
280
 楼主| 发表于 2024-8-14 17:04:46 | 显示全部楼层
eric2013 发表于 2024-8-14 09:16
这没有什么好卖关子的,你看下API列表里面,有就支持,没有就不支持。我印象中有一个官方例子是有操作过 ...

gx_prompt_text_get?读不回来啊。
回复

使用道具 举报

28

主题

196

回帖

280

积分

高级会员

积分
280
 楼主| 发表于 2024-8-14 20:56:39 | 显示全部楼层
eric2013 发表于 2024-8-14 09:16
这没有什么好卖关子的,你看下API列表里面,有就支持,没有就不支持。我印象中有一个官方例子是有操作过 ...

特地看了下,vertical list确实不能获取文本。然后string scroll list应该是可以的,有api函数,但是scroll lsit有个问题,比如两个元素,每个元素24高,控件48高,结果只显示一个,感觉元素之间间距不为0,就是不能同时显示。如果用vertical list,元素多了后,不能像emwin一样,整个列表上下滚动,毕竟emwin是直接增加元素,不用指定位置。
回复

使用道具 举报

28

主题

196

回帖

280

积分

高级会员

积分
280
 楼主| 发表于 2024-8-15 23:04:38 | 显示全部楼层
ccschen 发表于 2024-8-14 20:56
特地看了下,vertical list确实不能获取文本。然后string scroll list应该是可以的,有api函数,但是scro ...

因为是单色屏,背景颜色,选中颜色,未选中颜色没配置好,所以以为只显示了一行。但scroll list确实有个问题,就是check box没和选中元素对齐。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-13 07:04 , Processed in 0.041723 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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