15,980
社区成员




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);
}