硬汉嵌入式论坛

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

[emWin] CHECKBOX控件的CHECKBOX_SetDefaultSkin函数无效

[复制链接]

13

主题

43

回帖

82

积分

初级会员

积分
82
发表于 2020-4-7 16:24:27 | 显示全部楼层 |阅读模式
编写完CHECKBOX换肤函数之后,想使用CHECKBOX_SetDefaultSkin()函数将CHECKBOX控件的皮肤都换了,但是使用之后控件并没有换肤,这是CHECKBOX_SetDefaultSkin这个函数无效了,还是这个函数有固定的使用方法,应该怎么使用,麻烦有知道的告知一下,谢谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117619
QQ
发表于 2020-4-7 18:11:49 | 显示全部楼层
函数CHECKBOX_SetDefaultSkin()要在GUI_Init函数后就调用。
回复

使用道具 举报

13

主题

43

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2020-4-7 19:41:23 | 显示全部楼层
那如果我有多个界面,并且有的界面是使用这个换肤有的是别的样样子的,这个怎么办
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117619
QQ
发表于 2020-4-8 00:54:42 | 显示全部楼层
笑物语 发表于 2020-4-7 19:41
那如果我有多个界面,并且有的界面是使用这个换肤有的是别的样样子的,这个怎么办

这个不好切,最好统一 一种。
回复

使用道具 举报

13

主题

43

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2020-4-8 08:38:43 | 显示全部楼层
eric2013 发表于 2020-4-8 00:54
这个不好切,最好统一 一种。

那我就尽量统一吧,还有个问题就是,如果使用换肤的函数,那这个CHECKBOX的控件的禁用状态是的皮肤怎么设置呢,我试过在case WIDGET_ITEM_DRAW_BUTTON:这个里面使用  if (CHECKBOX_SKINFLEX_PI_DISABLED == pDrawItemInfo->ItemIndex) 这个if判断去改变,但是我发现禁用之后没有变化,根本就进不去这个判断
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117619
QQ
发表于 2020-4-8 10:23:28 | 显示全部楼层
笑物语 发表于 2020-4-8 08:38
那我就尽量统一吧,还有个问题就是,如果使用换肤的函数,那这个CHECKBOX的控件的禁用状态是的皮肤怎么设 ...

用这个函数CHECKBOX_GetState获取状态,看了下代码,这个函数没有禁止状态。


回复

使用道具 举报

13

主题

43

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2020-4-8 14:24:20 | 显示全部楼层
eric2013 发表于 2020-4-8 10:23
用这个函数CHECKBOX_GetState获取状态,看了下代码,这个函数没有禁止状态。

这个小工具的禁止状态不是可以使用
WM_DisableWindow(CHECKBOXHANDLE);
这个函数让小工具变为禁止状态吗,然后我的皮肤重绘里面我就不知道怎么设定让它在禁止状态显示我想要的状态
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117619
QQ
发表于 2020-4-8 16:43:16 | 显示全部楼层
笑物语 发表于 2020-4-8 14:24
这个小工具的禁止状态不是可以使用
WM_DisableWindow(CHECKBOXHANDLE);
这个函数让小工具变为禁止状态 ...

就是这个问题,函数CHECKBOX_GetState只能获取两种状态,选中和没有选中,没有禁止态。

这个你自己做个标志也挺方便的,你设置禁止后,在回调里面自己回调标志然后设置即可。
回复

使用道具 举报

13

主题

43

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2020-4-9 14:56:01 | 显示全部楼层
eric2013 发表于 2020-4-8 16:43
就是这个问题,函数CHECKBOX_GetState只能获取两种状态,选中和没有选中,没有禁止态。

这个你自己做 ...

嗯嗯,我现在就是自己做的标志,但是我发现,我如果使用CHECKBOX_SetDefaultSkin这个函数,换肤的回调函数就会进入三次,这个大概是什么原因呢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-18 16:50 , Processed in 0.040447 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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