硬汉嵌入式论坛

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

[emWin] 请教修改emwin单个控件属性(如背景色,边框颜色)的方法

[复制链接]

10

主题

35

回帖

65

积分

初级会员

积分
65
发表于 2023-5-18 18:17:37 | 显示全部楼层 |阅读模式
问题1:以BUTTON控件为例,目前已知修改控件皮肤的方法是修改BUTTON_Props结构体,再用BUTTON_SetSkinFlexProps()函数设置所有按钮控件的皮肤属性,但是在实际项目运用中,遇到对个别控件外观特殊属性处理的情况,找不到相应的方法..
问题2:创建三个按钮,用以上方法设置按钮皮肤运行结果正常。但是我自定义BUTTON控件回调函数后,自定义的皮肤就无法生效了,依然是默认皮肤,自定义回调函数如下
void _cbbutton(WM_MESSAGE * pMsg)
{
    switch(pMsg->MsgId)
    {
        case WM_PAINT:
            BUTTON_Callback(pMsg);
            break;
      case WM_KEY:
            switch(((WM_KEY_INFO*)(pMsg->Data.p))->Key)
            {
                  case GUI_KEY_UP:
                    WM_NotifyParent(pMsg->hWin,13);
                    break;
                case GUI_KEY_DOWN:
                    break;
                case GUI_KEY_ENTER:        

                    break;
                default:
                    break;
            }
            break;

       default:
            WM_DefaultProc(pMsg);
            break;
   
    }
}

请各位大哥帮忙看下怎么回事


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2023-5-19 11:57:23 | 显示全部楼层
1、皮肤设置的话,有皮肤色自定义回复函数玩法,这个不是设置全部控件的。
2、同上。
回复

使用道具 举报

10

主题

35

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2023-5-19 13:48:53 | 显示全部楼层
eric2013 发表于 2023-5-19 11:57
1、皮肤设置的话,有皮肤色自定义回复函数玩法,这个不是设置全部控件的。
2、同上。

谢谢谢谢,在《emwin V5.12用户手册》第18章 "换肤 " 找到了
回复

使用道具 举报

10

主题

35

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2023-5-19 16:06:52 | 显示全部楼层
看了下安富莱emwin V6例程,像我问题2那样的情况根本不存在,例程里自定义的按钮回调函数WM_PAINT没有调用BUTTON_Callback(pMsg);,就导致按钮控件根本绘制不出来,但是例程里又直接用2D函数绘制的一个按钮出来
这种方法比自定义控件皮肤要方便的多
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 17:12 , Processed in 0.245208 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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