void CTextView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);
if( 0x0d == nChar)
{
m_strLine.Empty();
m_ptOrigin.y = m_ptOrigin.y +tm.tmHeight;
SetCaretPos(m_ptOrigin);
}
else if(0x08 == nChar)
{
COLORREF color = dc.SetTextColor(dc.GetBkColor());
dc.TextOutW(m_ptOrigin.x, m_ptOrigin.y, m_strLine);
m_strLine = m_strLine.Left(m_strLine.GetLength() - 1);
dc.SetTextColor(color);
}
else
{
//m_strLine+=nChar产生error C2593: “operator +=因为操作符重载时未定义UINT型
CString cs;
cs.Format(_T("%c"),nChar);
m_strLine += cs;
}
dc.TextOutW(m_ptOrigin.x, m_ptOrigin.y, m_strLine);
CView::OnChar(nChar, nRepCnt, nFlags);
}