SOUI官方论坛

 找回密码
 立即注册
查看: 250|回复: 5

Button皮肤的制作

[复制链接]
  • TA的每日心情
    开心
    前天 09:41
  • 签到天数: 941 天

    [LV.10]以坛为家III

    580

    主题

    1340

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28770
    发表于 2022-3-19 17:08:55 | 显示全部楼层 |阅读模式
    第四篇:SOUI资源文件组织
    http://119.91.211.105:9999/forum.php?mod=viewthread&tid=1432
    (出处: SOUI官方论坛)

    这里定义了几类皮肤的特征,下面开始制作Button皮肤
    2022-03-19_163510.jpg
    默认有9个位置的颜色供我们设置,默认情况下的控件效果如下图
    2022-03-19_163947.jpg

    [XML] 纯文本查看 复制代码
    <skin>
            <button name="btn.custom" colorBorder="#CCCCCC" colorUp="#FFFFFF" colorDown="#FFFFFF" colorUpHover="#E7F2FF" colorDownHover="#E7F2FF" colorUpPush="#85BCFD" colorDownPush="#85BCFD"/>
    </skin>


    照上面的创建一个新的button,效果如下,分别为普通、hover、down三种状态的效果
    2022-03-19_170617.jpg 2022-03-19_170709.jpg 2022-03-19_170758.jpg
    若按下时不想要那个虚线框,设置drawFocusRect="0"即可
    2022-03-19_171213.jpg


    该用户从未签到

    1

    主题

    10

    帖子

    82

    积分

    24:00金丹期

    Rank: 2

    积分
    82
    发表于 2023-9-5 15:12:08 | 显示全部楼层
    请问button的从左到右的渐变设置有吗?

    该用户从未签到

    1

    主题

    10

    帖子

    82

    积分

    24:00金丹期

    Rank: 2

    积分
    82
    发表于 2023-9-5 15:20:10 | 显示全部楼层
    pringtffan 发表于 2023-9-5 15:12
    请问button的从左到右的渐变设置有吗?

    protected:
            virtual void _DrawByIndex(IRenderTarget *pRT, LPCRECT prcDraw, int iState,BYTE byAlpha) const;
        virtual void OnColorize(COLORREF cr);
            virtual ISkinObj * Scale(int nScale);

        COLORREF m_crFrom;
        COLORREF m_crTo;
        BOOL m_bVert;

        COLORREF    m_crColorize;
        COLORREF    m_crFromBackup,m_crToBackup;

        SOUI_ATTRS_BEGIN()
            ATTR_COLOR(L"colorFrom", m_crFrom, TRUE)    //渐变起始颜色
            ATTR_COLOR(L"colorTo", m_crTo, TRUE)        //渐变终止颜色
            ATTR_INT(L"vertical", m_bVert, TRUE)        //渐变方向,0--水平(默认), 1--垂直
        SOUI_ATTRS_END()
    这段代码我找到,修改后:
    <button name="win10btn" colorBorder="#ADADAD" colorFrom="#0095ED" colorTo="#00EDB4" vertical="0">
    没有效果

    该用户从未签到

    1

    主题

    10

    帖子

    82

    积分

    24:00金丹期

    Rank: 2

    积分
    82
    发表于 2023-9-5 15:28:04 | 显示全部楼层
    pringtffan 发表于 2023-9-5 15:20
    protected:
            virtual void _DrawByIndex(IRenderTarget *pRT, LPCRECT prcDraw, int iState,BYTE byAlpha ...

    啊,是gradation控件的,但是button能设置嘛
  • TA的每日心情
    开心
    前天 09:41
  • 签到天数: 941 天

    [LV.10]以坛为家III

    580

    主题

    1340

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    28770
     楼主| 发表于 2023-9-5 16:34:18 | 显示全部楼层
    pringtffan 发表于 2023-9-5 15:28
    啊,是gradation控件的,但是button能设置嘛

    普通button也能设置

    该用户从未签到

    1

    主题

    10

    帖子

    82

    积分

    24:00金丹期

    Rank: 2

    积分
    82
    发表于 2023-9-5 16:45:52 | 显示全部楼层
    admin 发表于 2023-9-5 16:34
    普通button也能设置

    打扰一下,可以讲解一下吗,看一下午没有学会
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|SOUI官方论坛

    GMT+8, 2024-4-28 01:39

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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