硬汉嵌入式论坛

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

[emWin] ICONVIEW控件  点空白处 会选中选中了上一次的图标

[复制链接]

17

主题

121

回帖

172

积分

初级会员

积分
172
发表于 2016-12-23 15:00:03 | 显示全部楼层 |阅读模式
ICONVIEW控件  点空白处 会选中选中了上一次的图标  怎么解决
回复

使用道具 举报

17

主题

121

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2016-12-23 19:36:01 | 显示全部楼层
没人嘛?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2016-12-24 00:47:23 | 显示全部楼层
不要对ICONVIEW控件设置透明,将其完全显示出来,即这个函数设置的

/* 设置小工具的背景色 32 位颜色值的前8 位可用于alpha混合处理效果*/
ICONVIEW_SetBkColor(hIcon, ICONVIEW_CI_SEL, GUI_WHITE | 0x80000000);

完全显示出来以后,你会发现,你点击的空白区域其实是在ICONVIEW上面。
根据此种情况,你仅需你的图标占用了多大空间,你的ICONVIEW就设置多大即可。
回复

使用道具 举报

17

主题

121

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2016-12-24 09:07:07 | 显示全部楼层

回 eric2013 的帖子

eric2013:不要对ICONVIEW控件设置透明,将其完全显示出来,即这个函数设置的

/* 设置小工具的背景色 32 位颜色值的前8 位可用于alpha混合处理效果*/
ICONVIEW_SetBkColor(hIcon, ICONVIEW_CI_SEL, GUI_WHITE | 0x80000000);

....... (2016-12-24 00:47) 
搞定了,最后发现只要只要将图标设置为一个不存在的图标,完美解决一切问题。我明白你说的,但那样话 如果有两排图标。第一排和第二排数量不一样,还是会出现这种情况。还是要谢谢eric2013!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2016-12-24 09:40:51 | 显示全部楼层

回 王小波 的帖子

王小波:搞定了,最后发现只要只要将图标设置为一个不存在的图标,完美解决一切问题。我明白你说的,但那样话 如果有两排图标。第一排和第二排数量不一样,还是会出现这种情况。还是要谢谢eric2013! (2016-12-24 09:07)
上面表达的有误,应该是去掉函数ICONVIEW_CreateEx的透明标志就可以了。

你那个有问题估计是因为用的F407,最早2013年我们发布V5板子的综合Demo的时候是采用的这种方式,后来就都删掉了,这个控件极其消耗emWin动态内存。F407的动态内存是无法满足的,
只能使用外置SRAM,但是使用了外置SRAM后,有时候性能有些跟不上。

我这里用我们的V6板子,F429来测试,即使两行图标不对齐,点击不对齐的空白区域,依然没有任何问题。
回复

使用道具 举报

17

主题

121

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2016-12-24 14:03:36 | 显示全部楼层

回 eric2013 的帖子

eric2013:上面表达的有误,应该是去掉函数ICONVIEW_CreateEx的透明标志就可以了。

你那个有问题估计是因为用的F407,最早2013年我们发布V5板子的综合Demo的时候是采用的这种方式,后来就都删掉了,这个控件极其消耗emWin动态内存。F407的动态内存是无法满足的,
只能使用外置SRAM,但是 .. (2016-12-24 09:40) 
按你说的 我刚试了一下貌似还是不行,一是不透明了,二是还是会出现上面的情况。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2017-7-15 00:58:56 | 显示全部楼层

回 guohuimao 的帖子

guohuimao:看这个论坛里, 专家解答问题显得好弱智的样子! (2017-07-14 20:42) 
有兴趣的话,PK下,放马过来[s:130],我的综合Demo,先亮出来:
V6综合Demo,http://www.armbbs.cn/forum.php?mod=viewthread&tid=17330
示波器综合Demo,http://www.armbbs.cn/forum.php?mod=viewthread&tid=3886
回复

使用道具 举报

0

主题

3

回帖

0

积分

新手上路

积分
0
发表于 2017-9-12 15:04:00 | 显示全部楼层
你好 我也遇到这种情况 请问你是怎么解决的?怎么才能不设置为一个不存在的图标?
回复

使用道具 举报

17

主题

121

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2017-9-12 15:44:28 | 显示全部楼层

回 ary1018 的帖子

ary1018:你好 我也遇到这种情况 请问你是怎么解决的?怎么才能不设置为一个不存在的图标? (2017-09-12 15:04) 
最简单方法,退出对话框时,选定一个不存在图标。
回复

使用道具 举报

0

主题

3

回帖

0

积分

新手上路

积分
0
发表于 2017-9-12 16:35:38 | 显示全部楼层
但是这样点击空白处 屏幕还是会闪一下,是我刷屏不够快么?请教一下,还有其他更好的办法么?
回复

使用道具 举报

17

主题

121

回帖

172

积分

初级会员

积分
172
 楼主| 发表于 2017-9-12 16:53:53 | 显示全部楼层

回 ary1018 的帖子

ary1018:但是这样点击空白处 屏幕还是会闪一下,是我刷屏不够快么?请教一下,还有其他更好的办法么? (2017-09-12 16:35) 
我没有出现你说的那种闪一下的情况,退出对话框时,调用次函数(ICONVIEW_SetSel(hWinICONVIEW, -1);)就行
回复

使用道具 举报

0

主题

3

回帖

0

积分

新手上路

积分
0
发表于 2017-9-13 09:47:18 | 显示全部楼层

回 王小波 的帖子

王小波:我没有出现你说的那种闪一下的情况,退出对话框时,调用次函数(ICONVIEW_SetSel(hWinICONVIEW, -1);)就行 (2017-09-12 16:53) 
可能是刷屏速率较慢 我采用普通IO口驱动LCD,不是FSMC,但是也就仅限于第一次触摸时会闪烁一下,在触摸就没事,我再找找原因,还是很感谢你,将主要问题解决了。
回复

使用道具 举报

12

主题

41

回帖

77

积分

初级会员

积分
77
发表于 2018-5-17 09:52:22 | 显示全部楼层
你的问题我也出现了,这个是一行未排满时,点击右侧为排满图标一行就会出现,你是在哪里调用该函数解决的。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2018-5-18 01:41:49 | 显示全部楼层
McuCortex 发表于 2018-5-17 09:52
你的问题我也出现了,这个是一行未排满时,点击右侧为排满图标一行就会出现,你是在哪里调用该函数解决的。

有个SetSEL的选择某个选项的API的。
回复

使用道具 举报

12

主题

41

回帖

77

积分

初级会员

积分
77
发表于 2018-5-18 10:34:14 | 显示全部楼层
eric2013 发表于 2018-5-18 01:41
有个SetSEL的选择某个选项的API的。

硬汉能否具体点
回复

使用道具 举报

12

主题

41

回帖

77

积分

初级会员

积分
77
发表于 2018-5-18 20:29:47 | 显示全部楼层
ary1018 发表于 2017-9-13 09:47
可能是刷屏速率较慢 我采用普通IO口驱动LCD,不是FSMC,但是也就仅限于第一次触摸时会闪烁一下,在触摸就 ...

我调用你说的函数,参数我该怎么设置,能否看一下你的过程代码
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2018-5-19 01:34:10 | 显示全部楼层

看下这个帖子里面早期Demo的MainTask.C文件里面的处理

http://www.armbbs.cn/forum.ph ... 1139&extra=page%3D1
回复

使用道具 举报

12

主题

41

回帖

77

积分

初级会员

积分
77
发表于 2018-5-20 15:05:11 | 显示全部楼层
eric2013 发表于 2018-5-19 01:34
看下这个帖子里面早期Demo的MainTask.C文件里面的处理

http://www.armbbs.cn/forum.ph ... 1139&ex ...

硬汉我就是用你的demo会呀
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2018-5-21 00:58:36 | 显示全部楼层
McuCortex 发表于 2018-5-20 15:05
硬汉我就是用你的demo会呀

实在难用就别倒腾它了,简单点,用按钮的自定义回调函数即可实现同样的效果,非常适合你说的这种不对齐的情况。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 15:58 , Processed in 0.326545 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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