能否将JPEG(或PNG)类型的图像设置为可执行文件(C ++)?

3
现在我正在编写一个开源项目(C++/MFC),发现有一张很漂亮的图片,它是JPEG类型的,在Windows API中使用函数SetIcon可以很容易地更改图标,但我不想将我的JPEG文件转换为图标类型。我的问题是:有没有办法使用.jpeg文件来设置应用程序的图标?

你能澄清一下你的问题吗?你的问题有点令人困惑。你所说的“像SetIcon一样使用Jpeg文件”是什么意思?你是指“是否有一种方法可以使用.jpeg文件设置应用程序的图标?”还是其他的意思? - user1118321
我已按照您的要求更新了我的问题,感谢您的建议。 - Triumphant
1
在Vista及以上版本中,程序图标可以是PNG格式(256x256x32位),但不能是JPEG格式。 - Jonathan Potter
1个回答

2
这应该能帮到你了:
Bitmap* icon = new Bitmap("myfile.jpg", TRUE);
HICON hIcon;
icon->GetHICON(&hIcon);
SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);

当然,这里忽略了错误检查,你可能需要添加,但除此之外我认为这应该可以工作。根据 Microsoft 的说法,这应该支持以下格式:BMP、GIF、JPEG、PNG、TIFF、Exif、WMF 和 EMF。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接