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把!
计算rect和显示的时候加上DT_EDITCONTROL
very good这个参数有用,但还有一个小问题以下文字:
"中国人----------------------------------------------------------------"
我想画出来的结果是:中国人-------------------
------------------------
---------------------但结果却是:dc.DrawText(text, &rect, DT_EDITCONTROL | DT_CALCRECT | DT_WORDBREAK);
dc.DrawText(text, &rect, DT_EDITCONTROL | DT_WORDBREAK);
中国人
------------------------
------------------------
----------------