大家进来瞧瞧!!请各位大峡路见不平一声吼救一下小弟!!
// CMFCView 构造/析构
CMFCView::CMFCView()
: m_ptOrigin(0)
, m_StrLine(_T(""))
{
// TODO: 在此处添加构造代码
}
void CMFCView::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+=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+=(_In_ char )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);
}
以上是一个基于SDI的MFC应用程序,我想完成简单的记事本功能,目前输入字符是可以的.但是输入汉字是不行的,显示不出来
我怀疑是ANSI和UNICODE 之间的关系吧,不太确定也不会,希望大家能帮忙指导指导,万分感谢!!
另外初始化中
, m_StrLine(_T("")) 这里面的_T是什么意思呢?求大家详细点,小弟先说谢谢了!