想在窗口中显示一句话
void CChildView::OnPaint()
{
CPaintDC dc(this); // 用于绘制的设备上下文
// TODO: 在此处添加消息处理程序代码
dc.TextOutW(0,0,"This is my first MFC");
// 不要为绘制消息而调用 CWnd::OnPaint()
}编译后出现以下错误信息 error C2664: “BOOL CDC::TextOutW(int,int,const CString &)”: 不能将参数 3 从“const char [21]”转换为“const CString &”
1> 原因如下: 无法从“const char [21]”转换为“const CString”
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
我应该怎样修改程序呢?mfc
void CChildView::OnPaint()
{
CPaintDC dc(this); // 用于绘制的设备上下文
// TODO: 在此处添加消息处理程序代码
dc.TextOutW(0,0,"This is my first MFC");
// 不要为绘制消息而调用 CWnd::OnPaint()
}编译后出现以下错误信息 error C2664: “BOOL CDC::TextOutW(int,int,const CString &)”: 不能将参数 3 从“const char [21]”转换为“const CString &”
1> 原因如下: 无法从“const char [21]”转换为“const CString”
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
我应该怎样修改程序呢?mfc
CString strText("This is my first MFC");
dc.TextOut(0,0,strText); virtual BOOL TextOut( int x, int y, LPCTSTR lpszString, int nCount );BOOL TextOut( int x, int y, const CString& str );这里是重载函数,上面那个是用字符串和要显示的字符串长度,也就是说你那个函数只要再多带一个字符串长度的参数也行,下面是接受一个CString对象作为参数
TextOutW 只接受unicode参数.