最近在学习孙鑫老师的深入详解VC++的视频课程 虽然教程年代有点远 但是非常适合新手 最大的问题还是环境变了 由VC6变成了 VS2010各种不兼容 一样的代码跑不动,很大的原因是对宽字符的引入
这里先说一下我自己做电话本的小实例的一些小问题
1 原文中 在CView类中添加的是m_strLine初始化为" " 这里宽字符应该为str=_T(" "); 和变量无关 加上 _T()
2 还有一个是原文中 void CPhoneBookView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
nChar 是UINT 在进行m_str+=nChar时 没有报错 在VS2010中 报错 原因类型不兼容
这里需要用 Format转一下
CString mstr=_T("");
mstr.Format(_T("%c"), nChar); 注意这里%c 把UINT转化成CString
str+=mstr;
dc.TextOutW(0,0,str);