如何在 VC6 中的对话框中将图标设置为按钮

How to set an icon to a button in a dialog in VC6

本文关键字:图标 设置 按钮 VC6 对话框      更新时间:2023-10-16

我正在使用VC6,编译器是Win32(用于我的大学项目(。我的对话框上有几个按钮,我想添加对应于不同按钮的不同图标。

我尝试了这段代码,因为我的按钮称为IDC_BTN_AUTOSET,我的图标称为IDR_MAINFRAME。这段代码没有给出任何错误,但即使我将按钮属性更改为图标,它也不会向我显示任何内容。

HICON h_Ico = (HICON) LoadImage( AfxGetResourceHandle(),"IDR_MAINFRAME", IMAGE_ICON, 32, 32,LR_LOADFROMFILE );
CButton *Button=(CButton*)GetDlgItem(IDC_BTN_AUTOSET);
Button->SetIcon( h_Ico );
SetIcon(h_Ico, TRUE);   
SetIcon(h_Ico, FALSE);

这工作正常,请确保在头文件中将IDB_BITMAP1设置为 CButton。

BOOL CVCDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CButton* pBtn= (CButton*)GetDlgItem(IDC_BTN_AUTOSET);
pBtn->ModifyStyle( 0, BS_BITMAP  );
HBITMAP hIcn= (HBITMAP)LoadImage(
AfxGetApp()->m_hInstance,
MAKEINTRESOURCE(IDB_BITMAP1),
IMAGE_BITMAP,
0,0, // use actual size
LR_DEFAULTCOLOR
);
pBtn->SetBitmap( hIcn );