如何为任务栏的C++应用程序窗口和图标设置图标?

问题描述:

如何为应用程序设置这些图标?
我正在使用visual studio。
enter image description here enter image description here
上的应用程序窗口中的图标是空的。
我已经添加了一个project.rc文件来投影并添加了图标资源
它将任务栏停靠在任务栏上时显示任务栏上的正确图标。
enter image description here enter image description here如何为任务栏的C++应用程序窗口和图标设置图标?

我找到了一个快速搜索后这样做的2种方法,假设你正在处理的Win32 API中的一些形式。这不是完整的可用方法列表。

1.将WNDCLASSEX结构的hIcon成员设置为用于将主窗口注册为适当的值,如下面的代码所示。 (凡EXAMPLE_ICON是你的图标资源)

WNDCLASSEX wcex = {}; 
wcex.cbSize = sizeof(WNDCLASSEX); 
wcex.style = CS_HREDRAW | CS_VREDRAW; 
wcex.lpfnWndProc = WndProc; 
wcex.cbClsExtra = 0; 
wcex.cbWndExtra = 0; 
wcex.hInstance = hInstance; 
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(EXAMPLE_ICON)); 
wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); 
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); 
wcex.lpszMenuName = nullptr; 
wcex.lpszClassName = "ExampleIconWindowClass"; 
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION)); 

2.You可以发送WM_SETICON消息给你的主窗口类似于以下(同样,这里EXAMPLE_ICON是你的图标资源)

HICON hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(EXAMPLE_ICON)); 
SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); 
SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon); 

这里是这些方法的最终结果如下: Finished Product

对不起,格式不好,我仍然不熟悉这个网站。

+0

谢谢,现在好了。 –