CDC:DrawText怎么让文字分行
CDC::DrawText如何让文字分行void CdemoDlg::OnPaint() {CPaintDC dc(this)const wchar_t* text L\aaa
CDC::DrawText如何让文字分行
void CdemoDlg::OnPaint() {
CPaintDC dc(this);
const wchar_t* text = L"\
aaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbccccccccccccccccc\n\
111111111111111112222222222222222233333333333333333\n\
=================#################+++++++++++++++++====";
RECT rect = {0, 0, 100, 100};
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(RGB(255, 0, 0));
dc.DrawText(text, &rect, DT_CALCRECT | DT_WORDBREAK);
dc.DrawText(text, &rect, DT_WORDBREAK);
}
以上代码我要的绘制的效果是:
aaaaaaaaaaaaaaaaabbbb
bbbbbbbbbbbbbcccccccc
ccccccccc
111111111111111112222
222222222222233333333
333333333
=================####
#############++++++++
+++++++++====
但它出来的却是这样
aaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbccccccccccccccccc
111111111111111112222222222222222233333333333333333
=================#################+++++++++++++++++====
[解决办法]另外 一个指针指向字符串
字符串不能够更改
lz要做聊天信息
还是使用从string把!
[解决办法]要换行的位置加\n
[解决办法]显示固定行宽
计算rect和显示的时候加上DT_EDITCONTROL
[解决办法]定义初始的rect,做一个循环,当遇到后一个字符和前一个不一样时就让rect的纵坐标往下移就实现自动换行了
[解决办法]需要+ \r\n