游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1955|回复: 4

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

[复制链接]

14

主题

52

帖子

52

积分

注册会员

Rank: 2

积分
52
QQ
发表于 2007-3-31 21:40:00 | 显示全部楼层 |阅读模式
我在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就没问题),求助!!!         [em24]

29

主题

224

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
QQ
发表于 2007-3-31 22:00:00 | 显示全部楼层

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

LPCTSTR 行不行

14

主题

52

帖子

52

积分

注册会员

Rank: 2

积分
52
QQ
 楼主| 发表于 2007-3-31 23:36:00 | 显示全部楼层

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

回LS,不是不能通过,是在VC++2005中运行后窗口标题栏的名字变为乱码文字了。。

18

主题

279

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
发表于 2007-4-1 16:23:00 | 显示全部楼层

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

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

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

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

14

主题

52

帖子

52

积分

注册会员

Rank: 2

积分
52
QQ
 楼主| 发表于 2007-4-1 20:16:00 | 显示全部楼层

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

多谢bombbear了,刚照着你说的改了就可以了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-4-12 22:44

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表