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

时间:2018-08-21 12:58:28

标签: c++ vc6

我正在使用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);

1 个答案:

答案 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 );