winapi 长方形窗口图标
时间: 2023-07-19 21:36:20 浏览: 212
QT使用WINAPI实现支持图标、缩放、拖拽、阴影、最大最小化、AERO风格无边框窗口
要在 WinAPI 的长方形窗口中添加图标,可以使用以下步骤:
1. 加载图标资源文件:
```
HICON hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));
```
其中,`hInstance` 是应用程序实例句柄,`IDI_ICON` 是图标资源文件的 ID。
2. 将图标设置为窗口类的小图标和大图标:
```
wcex.hIcon = hIcon;
wcex.hIconSm = hIcon;
```
其中,`wcex` 是 `WNDCLASSEX` 结构体变量,`hIcon` 是上一步加载的图标句柄。
3. 在窗口过程中处理 `WM_PAINT` 消息,在窗口客户区绘制图标:
```
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
RECT rect;
GetClientRect(hWnd, &rect);
DrawIcon(hdc, rect.left, rect.top, hIcon);
EndPaint(hWnd, &ps);
}
break;
```
其中,`hWnd` 是窗口句柄,`hIcon` 是上一步加载的图标句柄。`DrawIcon` 函数可以在指定位置绘制图标。
完成以上步骤后,长方形窗口就会显示图标了。
阅读全文