当一个程序中有多个名字类似资源时,比如11.bmp,22.bmp,33.bmp…如果直接一个一个的装载到位图句柄中比较麻烦,这时我们就可以利用swprintf_s将文件名写入字符串中,然后直接装载字符串对应的文件即可。
举个例子:
在程序中,有1.bmp,2.bmp,...,10.bmp,我们新建一个字符串FILENAME装载位图的名字,然后直接利用FILENAME作为函数的参数即可。
for (int i = 0; i <= 10; i++)
{
memset(filename, 0, sizeof(filename));
swprintf_s(filename, L"%d.bmp", i);
g_hcharacter[i] = (HBITMAP)LoadImage(NULL, filename, IMAGE_BITMAP, WINDOW_WIDTH, WINDOW_HEIGHT, LR_LOADFROMFILE);
}
注意:调用swprintf_s需要头文件支持和winmm库函数支持,即
#pragma comment(lib, "winmm.lib")