如何在WINAPI中创建带有图标的按钮

问题描述 投票:0回答:1

我有一个按钮。

HWND button = CreateWindow("button", "test_text", WS_VISIBLE | WS_CHILD, 0, 0, 500, 500, window, NULL, NULL, NULL);

“window”是我的窗口的 HWND 变量。

如何添加这样的图标

HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, TEXT("1.png"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
我的“按钮”变量?

我在互联网上搜索了有关我的问题的信息,但找不到任何可行的信息。

c user-interface winapi button icons
1个回答
0
投票

首先,您不能使用

LoadImage()
将 PNG 图像加载为
HBITMAP
。请参阅诸如 如何使用 Win32/GDI 加载 PNG 图像(如果可能的话,不要使用 GDI+)?如何使用 LoadImage 和 StretchDIBits 绘制 PNG 图像?等问题来获取替代方案。

其次,一旦您将图像加载为

HBITMAP
(或
HICON
),您可以使用
BM_SETIMAGE
消息将其分配给按钮。

© www.soinside.com 2019 - 2024. All rights reserved.