duilib CTextUI 纯字母不能换行

主要是因为DT_WORDBREAK

只能截断单词。例如如果输入一连串英文字符,那么它会当做一个单词来处理,而不会自动换行。而对于中文字符则可以。如果要对所有字符都可以像Edit控件中那样自动换行,那么可以使用DT_WORDBREAK | DT_EDITCONTROL

解决办法有2种:

一、duilib库修改

 CTextUI类,有个 m_uTextStyle成员变量, 初始化改为  m_uTextStyle = DT_WORDBREAK | DT_EDITCONTROL 即可;

二、上层修改

CTextUI* pTxtContent = static_cast<CTextUI*>(m_uiPaintManager.FindControl(_T("Text_Content")));

 //dwStyle = DT_WORDBREAK | DT_EDITCONTROL 纯字符自动换行,需加DT_EDITCONTROL
 if (pTxtContent )
 {
  DWORD dwStyle = pTxtContent ->GetTextStyle();
  pTxtContent ->SetTextStyle(dwStyle | DT_EDITCONTROL);
 }




本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wclaccp/article/details/51544071

阅读更多
个人分类: c++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

duilib CTextUI 纯字母不能换行

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭