1、建立MFC下的基于对话框的应用程序;
2、在对话框上添加按钮,并把按钮属性中Bitmap设置为true;(即位图打钩)
3、在对话框类(CXXXDlg)中添加按钮变量,即建立类向导中的memery variables(本例中为m_BtonBmp);
4、新建或者导入bmp文件,明确该文件的ID;
5、在对话框的初始化(OnInitDialog)中设置按钮的显示,如下
HINSTANCE hInstance ;HBITMAP hBitmap ;hInstance = ::AfxGetInstanceHandle();hBitmap = ::LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1) );m_BtonBmp.SetBitmap(hBitmap);
其中,hInstance是HINSTANCE类的对象,用于获得当前的句柄。
hBitmap是HBITMAP类的对象,表示位图句柄。
LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1) ),该函数加载bmp文件,
IDB_BITMAP1是BMP文件的资源ID,
MAKEINTRESOURCE根据资源ID寻找资源明。
m_BtonBmp是步骤3中设置的按钮变量。
添加图标按钮类似
1. 打开ICON按钮的属性页,在Style中选中Icon 。
2.ClassWizard加入这个成员变量: CButton m_ IconBtn;//对应于图标按钮
3. 创建相应的图标或者位图资源: 图标资源:IDI_ICONBUTTON
4.在初始化中加入如下代码:
…
//对应于图标按钮 图标必须是.ico格式的
HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICONBUTTON);
m_IconBtn.SetIcon(hIcon);