一,只加载一张位图的方法:
1,
装入bmp资源,id为IDB_BMP,按钮的bitmap属性设为true,icon属性为false。
2,
CButton *pBtn = (CButton *)GetDlgItem(IDB_BMP);
CBitmap bitMap;
HBITMAP hBit ;
if(bitMap.LoadBitmapW(IDB_NORMAL_BTN))
{
hBit = (HBITMAP)bitMap.Detach();
pBtn->SetBitmap(hBit);
}
缺点:图片不会自动拉伸。
二,为按钮的不同状态加载不同的位图:(使用CBitmapButton类)这种方法还可以。
1,按钮属性 Owner Draw选上,按钮ID: IDC_BUTTON1
为IDC_BUTTON1添加CButton变量m_button,
2,然后手动将CButton m_button改为
CBitmapButton m_button;
3,在初始化里边
m_button.LoadBitmaps(IDB_BITMAP1, IDB_BITMAP2);//IDB_BITMAP1:平时;IDB_BITMAP2:按下
m_button.SubclassDlgItem(IDC_BUTTON1, this);
m_button.SizeToContent();
或者用另一种方式,不必为IDC_BUTTON1添加关联的变量。
直接声明CBitmapButton m_button;