1.Button的style中要有Icon(在资源管理器中设置)或GetWindowStyle()
2.向Button发送BM_SETIMAGE
eg.
HICON hIcon
=
LoadIcon(GetModuleHandle(NULL),
MAKEINTRESOURCE(IDI_REMOTE));
SendMessage(GetDlgItem(hwnd,IDC_SHANGXIAN),
BM_SETIMAGE,(WPARAM)IMAGE_ICON,
(LPARAM)(HANDLE)hIcon);
MAKEINTRESOURCE(IDI_REMOTE));
SendMessage(GetDlgItem(hwnd,IDC_SHANGXIAN),
BM_SETIMAGE,(WPARAM)IMAGE_ICON,
(LPARAM)(HANDLE)hIcon);
定义成Macro
/**/
///Windows attribute Ex/
#define SetWindowStyle(hwnd,dwNewStyle) (SetWindowLong(hwnd,GWL_STYLE,(LONG)dwNewStyle))
/**/ ///Button Macro Ex
#define Button_SetIcon(hwnd,IDI){ /
DWORD dwStyle = GetWindowStyle(hwnd); /
if (dwStyle & BS_ICON) /
SetWindowStyle(hwnd,dwStyle); /
else /
{ /
dwStyle |= BS_ICON; /
SetWindowStyle(hwnd,dwStyle); /
} /
HICON hIcon = LoadIcon(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI)); /
SendMessage((HWND)hwnd,BM_SETIMAGE,(WPARAM)IMAGE_ICON,(LPARAM)(HANDLE)hIcon);}
#define SetWindowStyle(hwnd,dwNewStyle) (SetWindowLong(hwnd,GWL_STYLE,(LONG)dwNewStyle))
/**/ ///Button Macro Ex
#define Button_SetIcon(hwnd,IDI){ /
DWORD dwStyle = GetWindowStyle(hwnd); /
if (dwStyle & BS_ICON) /
SetWindowStyle(hwnd,dwStyle); /
else /
{ /
dwStyle |= BS_ICON; /
SetWindowStyle(hwnd,dwStyle); /
} /
HICON hIcon = LoadIcon(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI)); /
SendMessage((HWND)hwnd,BM_SETIMAGE,(WPARAM)IMAGE_ICON,(LPARAM)(HANDLE)hIcon);}
在Static上也要修改style,加上SS_ICON
详细
"INFO: Windows 95 Styles Make Attaching Bitmap to Button Easier"