怎么正确输出回车
如何正确输出回车?C/C++ codevoid CMy123View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) {// TODO:
如何正确输出回车?
C/C++ codevoid CMy123View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default CClientDC dc(this); if(nChar == 0x0d) cs_txt = '\n'; else cs_txt += nChar; dc.TextOut(0,0,cs_txt); CView::OnChar(nChar, nRepCnt, nFlags);}
为什么当输入回车之后并不是换行输出 而是在原行 从头输出 就好像输入回车之后 字符串清空了
一样
[解决办法]WM_CHAR(OnChar)消息用来处理字符键,而WM_KEYDOWN(OnKeyDown)、WM_KEYUP(OnKeyUp)、WM_SYSKEYDOWN(OnSysKeyDown)、WM_SYSKEYUP(OnSysKeyUp)等消息用来处理非字符键,如Enter(回车键)、F1-F12、Shift、Alt等。
[解决办法][解决办法][解决办法]CSize sizeWidth; //字串长度超过显示区域长度则换行
GetTextExtentPoint(m_hGDIMemDC, objDraw.strText, len, &sizeWidth);
if (sizeWidth.cx > objDraw.CurPicText.rectText.Width())
unAlign = DT_LEFT|DT_WORDBREAK|DT_EDITCONTROL;
if(objDraw.strText.Find(L"\n") != -1) //字串中有空格则换行
unAlign = DT_CENTER|DT_WORDBREAK|DT_EDITCONTROL;