http://songxing10000.blog.163.com/blog/static/16319544120121112112123421/
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);