解決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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章