学习孙鑫vc++深入详解一个文本例子报错的问题

discory 2013-09-09 02:10:19

void CTextView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc( this );
TEXTMETRIC tm;
dc.GetTextMetrics( &tm );
if ( 0x0d == nChar )
{
m_strLine.Empty();
m_ptOrigin.y += tm.tmHeight;
}
else if ( 0x08 == nChar )
{
COLORREF clr = dc.SetTextColor( dc.GetBkColor() );
dc.TextOut( m_ptOrigin.x, m_ptOrigin.y, m_strLine );
m_strLine = m_strLine.Left( m_strLine.GetLength() - 1 );
dc.SetTextColor( clr );
}
else
{
m_strLine += nChar; //这里报错 说不能+=
}

CSize sz = dc.GetTextExtent( m_strLine );
CPoint pt;
pt.x = m_ptOrigin.x + sz.cx;
pt.y = m_ptOrigin.y;
SetCaretPos( pt );

dc.TextOut( m_ptOrigin.x, m_ptOrigin.y, m_strLine );

CView::OnChar(nChar, nRepCnt, nFlags);
}

例子是孙鑫的vc++深入详解,我用的vs2012,不知道怎么,猜想用强制转换,但是不会
...全文
145 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
discory 2013-09-09
  • 打赏
  • 举报
回复
呵呵,谢谢了, m_strLine += (TCHAR)nChar;这个方法可行
  • 打赏
  • 举报
回复
你用 m_strLine += (TCHAR)nChar; 试下 如果不行就把UNICODE关了
lgstudyvc 2013-09-09
  • 打赏
  • 举报
回复
nchar进行字符串格式化下 或者打那孙子客服

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧