win32创建的按钮默认是没有图片的,也就是默认的系统风格,如图:

目录
自定义按钮图标的大致步骤
第一步:创建按钮时style添加BS_BITMAP或BS_ICON。
第二步:发送BM_SETIMAGE消息指定图标。
自定义图标支持的图标格式
- icon图标
- bitmap位图
设置ICON为图标的代码和演示
HWND hbutton = ::CreateWindow(WC_BUTTON, L"按 钮", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON | BS_ICON,
100, 100, 100, 30, hWnd, (HMENU)99, (HINSTANCE)::GetWindowLong(hWnd, GWL_HINSTANCE), nullptr);
if (hbutton) {
HICON hicon = (HICON)::LoadImage(
hInst,
MAKEINTRESOURCE(IDI_SMALL),
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
LR_DEFAULTCOLOR);
if (hicon)
::SendMessage(hbutton, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hicon);
}

设置BITMAP为图标的代码和演示
HWND hbutton = ::CreateWindow(WC_BUTTON, L"按 钮", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON | BS_BITMAP,
100, 100, 100, 30, hWnd, (HMENU)99, (HINSTANCE)::GetWindowLong(hWnd, GWL_HINSTANCE), nullptr);
if (hbutton) {
HBITMAP hbitmap = (HBITMAP)::LoadImage(
hInst,
MAKEINTRESOURCE(IDI_SMALL),
IMAGE_ICON,
0,
0,
LR_DEFAULTCOLOR);
if (hbitmap)
::SendMessage(hbutton, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hbitmap);
}

作者:徐文焱