新手求教关于LoadImage()中第二个参数的问题

时间:2021-11-01 02:01:57

GameWnd::GameWnd(void)
:  mdc(NULL)
{
Create(NULL,CString("创建窗口"));
char ch[8];
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
sprintf(ch,"%d.%d.bmp",i+1,j+1);
bitmap[i][j]=new CBitmap;
bitmap[i][j]->m_hObject=LoadImage(NULL,CString(ch),IMAGE_BITMAP,120,130,LR_LOADFROMFILE);
}
}
mdc=new CDC;
CClientDC dc(this);
mdc->CreateCompatibleDC(&dc);
mdc->SelectObject(bitmap[0][0]);

i=0;
dir=0;
index=0;
}

在学习范磊C++视频中使用的是VS6.0,LoadImage()中第二个参数直接写ch就可以了,但是在VS2005中编译出错:
error C2664: 'LoadImageW' : cannot convert parameter 2 from 'char [8]' to 'LPCWSTR'
我做了类型转换CString(ch)编译通过了,但是出现了警告:
warning C4996: 'sprintf' was declared deprecated
sprintf不执行了,我想应该类型转换的造成的,于是程序无法实现循环显示位图,各位大大帮帮忙,怎么解决啊。

3 个解决方案

#1


第一次发求助贴没经验,,本来是想把 CString(ch),IMAGE_BITMAP 标红的, 第二个函数旁边的color=#FF0000  就当没看到哈。

#2


该回复于2012-04-16 09:53:33被版主删除

#3


TEXT( ch ) to L"串" 试试,就是宽字符变量的问题

#1


第一次发求助贴没经验,,本来是想把 CString(ch),IMAGE_BITMAP 标红的, 第二个函数旁边的color=#FF0000  就当没看到哈。

#2


该回复于2012-04-16 09:53:33被版主删除

#3


TEXT( ch ) to L"串" 试试,就是宽字符变量的问题