论坛转帖工具推荐菜鸟使用 社区勋章颁发标准&授予方法 新手如何上传资料 免费开通我的博客 免费开通我的相册
论坛积分规则&用户等级划分 新手如何获得学币 ★在学网报名即送交通卡★  
1/1页1 跳转到查看:691
发新话题 回复该主题
本帖的悬赏已经结束 查看结果页面

[你问我答] VC++2005编译VC++6的工程出现问题!!!

VC++2005编译VC++6的工程出现问题!!!

我在VC++2005中编译VC++6的工程遇到如下问题:
if (!(hwnd = CreateWindowEx(NULL,
                          WINDOW_CLASS_NAME, 
                          "Your Basic Window",
                          WS_OVERLAPPEDWINDOW | WS_VISIBLE,
                          0,0, 
  400,400, 
  NULL, 
  NULL,
  hinstance,
  NULL)))
在VC++6中CreateWindowEx()第2,3个参数前面不要加上强制转换的(LPCWSTR),而在VC++2005中却一定要加上(LPCWSTR),不然编译不通过,而且加上(LPCWSTR)编译通过后运行时窗口上的Title是乱码(应该是Your Basic Window,VC++6就没问题),求助!!!

本帖得分:

flymouse(0 )

TOP

 
VC6默认使用系统字符编码版本编译;
VC8默认使用UNICODE编码版本编译。

你需要:
1)把用到字符串的地方(如WINDOW_CLASS_NAME和"Your Basic Window")定义成LPCWSTR(即wchar_t型的字符串),如 L"Your Basic Window"

2)在项目属性中把字符集从 UNICODE 改为 MBCS

TOP

 
1/1页1 跳转到
发表新主题 回复该主题