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

来源:互联网 发布:大学奖学金 知乎 编辑:程序博客网 时间:2024/05/16 19:18

在开源界面库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)

0 0
原创粉丝点击