winapi c++ HICON

winapi c++ HICON

本文关键字:HICON c++ winapi      更新时间:2023-10-16

我使用minGW和eclipse。我是这样制作HICON的:

case WM_CREATE:
{
...
hIcon = (HICON)LoadImage(NULL, "icon.ico", IMAGE_ICON, 32, 32, LR_LOADFROMFILE);
if(hIcon) { SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon); }
else { MessageBoxW(hwnd, "ico not found", "ico not found", MB_OK | MB_ICONERROR); }
...
}

所以这样。ico必须和。exe在同一个文件夹中我如何在exe中构建这个。ico ?

使用。rc文件将。ico文件添加到可执行文件的资源中。然后,当调用LoadImage()时,去掉LR_LOADFROMFILE标志,并在lpszName参数中指定资源的ID,而不是文件名。例如:

MY_ICON ICON "icon.ico"

.

case WM_CREATE:
{
...
hIcon = (HICON) LoadImage(GetModuleHandle(NULL), "MY_ICON", IMAGE_ICON, 32, 32, 0);
...
}

可以使用资源文件

查看更多信息:http://msdn.microsoft.com/en-us/library/zabda143 (v = vs.71) . aspx