
一个关于用C++创建窗体的程序(Visual C++面向对象与可视化程序设计·第二版)例3-1
程序代码如下图:在VS2012中编译是出现以下错误wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口实例”错误:不能讲“cha...
程序代码如下图:
在VS2012 中编译是 出现以下错误
wndclass.lpszClassName = lpszClassName ;//窗口类名为“窗口实例”
错误:不能讲“char”类型的值分配到“LRCWSTR”的实体
hwnd =CreateWindow
错误:IntelliSence:"char"类型的实参与“LRCWSTR”类型形参不兼容
这两个问题怎么解决啊。。。求解答 展开
在VS2012 中编译是 出现以下错误
wndclass.lpszClassName = lpszClassName ;//窗口类名为“窗口实例”
错误:不能讲“char”类型的值分配到“LRCWSTR”的实体
hwnd =CreateWindow
错误:IntelliSence:"char"类型的实参与“LRCWSTR”类型形参不兼容
这两个问题怎么解决啊。。。求解答 展开
3个回答
展开全部
项目默认使用Unicode字符了,把API函数调用改一改。
一般用到字符或者字符串的API函数都有两个版本, 一个是函数名后面加了W的版本(使用Unicode字符),另一个是后面加了A的版本(使用ANSI字符集)。
CreateWindow这个不是函数而是一个宏,但你的程序里使用UNICODE字符时,他会展开为CreateWindowW版本的函数调用,但你的程序使用ANSI字符集时展开为CreateWindowA。
你的项目默认使用的是Unicode字符。把WNDCLASS 改成WNDCLASSA 、 CreateWindow改为CreateWindowA.
或者你在文件的最前面加一句#undef UNICODE
一般用到字符或者字符串的API函数都有两个版本, 一个是函数名后面加了W的版本(使用Unicode字符),另一个是后面加了A的版本(使用ANSI字符集)。
CreateWindow这个不是函数而是一个宏,但你的程序里使用UNICODE字符时,他会展开为CreateWindowW版本的函数调用,但你的程序使用ANSI字符集时展开为CreateWindowA。
你的项目默认使用的是Unicode字符。把WNDCLASS 改成WNDCLASSA 、 CreateWindow改为CreateWindowA.
或者你在文件的最前面加一句#undef UNICODE
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把wndclass.lpszClassName = lpszClassName;
改成wndclass.lpszClassName = (LRCWSTR)lpszClassName;
或者是右击项目->引用->配置属性
找到字符集,将使用“使用 Unicode 字符集”改成“使用多字节字符集”
改成wndclass.lpszClassName = (LRCWSTR)lpszClassName;
或者是右击项目->引用->配置属性
找到字符集,将使用“使用 Unicode 字符集”改成“使用多字节字符集”
追问
createWindow 那里又是哪里错了哟。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询