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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/duiplus/article/details/51384966

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

猜你喜欢

转载自blog.csdn.net/duiplus/article/details/51384966