硬汉嵌入式论坛

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

[emWin] LISTWHEEL控件

[复制链接]

15

主题

56

回帖

101

积分

初级会员

积分
101
发表于 2018-6-15 09:34:03 | 显示全部楼层 |阅读模式
使用LISTWHEEL控件函数,LISTWHEEL_SetBkColor(hItem,LISTWHEEL_CI_SEL,GUI_TRANSPARENT);

设置之后选中项背景是黑色,我想问下emwin除了IMAGE之外,是不是都不能实现真正的透明,真的设计的不好。
像什么内存设备啊,也是这样,设成透明就变成黑色了。
如果提供的API不能实现透明的话,那么可以通过修改源码的方式来实现吗?
回复

使用道具 举报

39

主题

1504

回帖

1626

积分

至尊会员

积分
1626
发表于 2018-6-15 10:39:08 | 显示全部楼层
都没有源码,你怎么修改
回复

使用道具 举报

15

主题

56

回帖

101

积分

初级会员

积分
101
 楼主| 发表于 2018-6-15 11:23:53 | 显示全部楼层
sanit 发表于 2018-6-15 10:39
都没有源码,你怎么修改

我有源码,找到方法了,可以用LISTWHEEL的自定义绘制函数,LISTWHEEL_SetOwnerDraw();
然后在对应的WIDGT_ITEM_DRAW_BACKGROUND这个case里,直接DrawBitmap就可以了,效果有待完善
回复

使用道具 举报

15

主题

56

回帖

101

积分

初级会员

积分
101
 楼主| 发表于 2018-6-15 11:53:04 | 显示全部楼层
整理了下,发现有挺多控件支持修改外观的。支持    xxx_SetOwnerDraw    的控件:
ICONVIEW;
LISTVIEW;
GRAPH;
FRAMWIN;
LISTBOX;
LISTWHEEL;
SWIPELIST;
TREEVIEW;
不过这些控件里支持    _DRAW_BACKGROUND    消息的有多少我不太清楚,手册上可以查支持哪些消息。

应该是只有这种消息的自绘函数才可以实现更换背景吧(不太清楚)

另外就是支持    SKIN    的控件:
BUTTON;
CHECKBOX;
DROPDOWN;
FRAMWIN;
HEADER;
MENU;
MULTIPAGE;
PROGBAR;
RADIO;
SCROLLBAR;
SLIDER;
SPINBOX;
要说的是,皮肤的更改不只是更改外观、边框之类的,网上有个教程   好像叫  21天精通emwin  吧,里面有好几种控件贴图,贴背景的做法,用的本质上也是自绘函数,当初我就在PROGBAR上做了个变化的图片效果,有兴趣可以看看
回复

使用道具 举报

15

主题

56

回帖

101

积分

初级会员

积分
101
 楼主| 发表于 2018-6-15 11:55:10 | 显示全部楼层
上面记错了,是    emWin 2天速成实例教程   ,CSDN上面的,
https://blog.csdn.net/neqee/article/details/78091066
这个是链接
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-17 07:45 , Processed in 0.824120 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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