c++ 应用程序添加图标
时间: 2023-06-29 09:15:28 浏览: 491
ICON图标大全
4星 · 用户满意度95%
要在 C++ 应用程序中添加图标,可以在 WinMain 函数中使用 LoadIcon 函数加载图标,并将其作为窗口类的 hIcon 属性设置。以下是一个简单的示例代码:
```c++
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
HWND hWnd;
MSG msg;
WNDCLASS wc;
// 注册窗口类
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)); // 加载图标
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName = "MyClass";
RegisterClass(&wc);
// 创建窗口
hWnd = CreateWindow(
"MyClass", "My Window", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL);
// 显示窗口
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
// 消息循环
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch (message) {
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
```
在上面的代码中,我们使用 LoadIcon 函数加载了一个名为 IDI_ICON1 的图标,并将其作为窗口类的 hIcon 属性设置。可以在资源文件中定义此图标,然后在应用程序中引用它。要在资源文件中定义图标,请使用 ICON 资源类型。例如,下面是一个包含名为 IDI_ICON1 的图标的资源文件示例:
```
IDI_ICON1 ICON "myicon.ico"
```
在上面的示例中,我们将名为 myicon.ico 的图标文件作为 IDI_ICON1 资源添加到资源文件中。要将资源文件与应用程序链接起来,可以在应用程序的项目文件中添加对资源文件的引用。
阅读全文