[求助]关于文本输出的退格键问题
CClientDC dc(this);
.......
if(0x08==nChar)
{
COLORREF color=dc.SetTextColor(dc.GetBkColor());
dc.TextOut(m_lpoint.x,m_lpoint.y,m_str); //代码1 //m_lpoint为CPoint的类型变量.为CMyView类的私有成员,将左键点击的坐标赋给了它
m_str=m_str.Left(m_str.GetLength()-1); //代码2 // m_str为一个CString类型的变量,为CMyView类的私有成员,想要储存接受的字母.
dc.SetTextColor(color);
}
我贴出的是一段如果输入的是BACKSPACE这个键,则消除最后一个输入的字母.但我不明白代码1和代码2为什么要这个顺序呢?按我的意识是代码2在前面,代码1在后面.
我是这么想的先去掉最后一次出入的字母,然后再输出.但不对.大家帮我解释一下好吗?
上面代码我怎么也不明白,他已经输出了,然后在去除一个,还有效吗?怎么就对了呢?