1.CBitmapButton 方式实现
在MFC工具栏,添加按钮到界面,然后会修改按钮的属性,设置Owner draw为true;
CBitmapButton只用于添加bmp位图,其他图片会有一些兼容性问题,不会显示出来。具体原因没有深究,有空可自行深入学习。
LoadBitmaps加载状态图片,注意顺序为Up,Down,Focused,Disabled。并且添加的位图id后缀必须也是对应 Up,Down,Focused,Disabled,方便LoadBitmaps导入,否则可能因此抛出异常。
这边使用 SubclassDlgItem 将 CBitmapButton 变量 m_bitmapbtn 绑定按钮ID。也可以通过在MFC操作界面,对按钮鼠标右键添加变量,并将变量类型将CButton修改为他的派生类CBitmapButton。
最后在对话框的OnInitDialog函数中添加如下代码,就可以实现图片按钮。
m_bitmapbtn.SubclassDlgItem(IDC_BTN_BMP, this); //CbitmapButton 变量绑定按钮
m_bitmapbtn.LoadBitmaps(IDB_BITMAP_DOWN, IDB_BITMAP_UP);//为变量按钮添加bmp图片,LoadBitmaps加载状态图片,注意顺序为Up,Down,Focused,Disabled。
m_bitmapbtn.SizeToContent(); // 设置按钮适应图片大小
2.GDI+ 方式实现
这边使用了MFC Button 控件,属性设置,image type 设置为无&