解决Duilib开源库中字符&被解析成下划线的问题

在开源界面库Duilib中正常的字符绘制是没有问题的,在开发过程,好多同学都遇到&字符被转义成字符下划线的问题,这个问题是因为API函数DrawText的默认功能。问题出在API,怎么解决呢?解决其实很简单,DrawText是可以通过绘制样式来控制的,在绘制的时候添加DT_NOPREFIX属性即可。通过如下代码为控件新增一个控制属性(noprefix):

else if( _tcsicmp(pstrName, _T("noprefix")) == 0 ) {
            if( _tcsicmp(pstrValue, _T("true")) == 0)
            {
                m_uTextStyle |= DT_NOPREFIX;
            }
            else
            {
                m_uTextStyle = m_uTextStyle & ~DT_NOPREFIX;
            }
        }

把以上代码添加到UILabel.cpp的SetAttribute函数中,即可通过xml进行控制,是否启用转义功能了。

好了,需要的小伙伴赶紧试试吧!

duilib开源项目圈QQ群:261675375 \ 261851826
最新代码托管地址:https://github.com/qdtroy/DuiLib_Ultimate

By Troy (QQ:656067418)

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值