我正在使用VC6,编译器是Win32(针对我的大学项目)。我的对话框上有几个按钮,我想添加与不同按钮相对应的不同图标。
我尝试了这段代码,因为我的按钮名为IDC_BTN_AUTOSET
,而我的图标名为IDR_MAINFRAME
。该代码没有错误,但是即使将button属性更改为icon也无法显示任何内容。
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);
答案 0 :(得分:0)
这很好,请确保在头文件中将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 );