我刚刚开始学习MFC ..在这里找到一个教程http://bit.ly/j2uhHO ..只是在VS2010中尝试了同样的事情,但在这段代码中得到了编译错误..
void CChildView::OnPaint()
{
CPaintDC dc(this); // device context for painting
dc.TextOut(0, 0, "Hello, world!");
// TODO: Add your message handler code here
// Do not call CWnd::OnPaint() for painting messages
}
错误是:
error C2664: 'BOOL CDC::TextOutW(int,int,const CString &)' : cannot convert parameter 3 from 'const char [14]' to 'const CString &
“
任何人都可以解决这个问题,并建议一些mfc教程。谢谢你...
答案 0 :(得分:3)
错误告诉你什么是错误的。
error C2664: 'BOOL CDC::TextOutW(int,int,const CString &)' : cannot convert parameter 3 from 'const char [14]' to 'const CString &'
TextOutW()
期待const CString &
作为第三个参数并且您要传递const char [14]
你需要这样做:
dc.TextOut(0, 0, L"Hello, world!");
以函数所需的格式传递第三个参数。
要引用MFC资源,您会看到this。
答案 1 :(得分:1)
问题是Windows默认情况下会为文本使用宽字符wchar_t
。你需要
dc.TextOut(0, 0, L"Hello, world!");