MFC给按钮添加图片




mfc button image null 测试


VC中对话框上编辑里,通过控件方式无法给按钮设定图片的,需写代码实现,还好代码量不大,哈哈!

首先建立基于对话框的MFC应用程序工程testDlg,添加按钮,ID为IDC_BUTTON_TEST,接下来

一,首先建立位图句柄



1. // 方法一:加载非资源图片  
2. HBITMAP   hBitmap;   
3. hBitmap = (HBITMAP)::LoadImage(   
4. NULL,   
5. "E://a.bmp",                           // 图片全路径  
6. IMAGE_BITMAP,                          // 图片格式  
7. 0,0,   
8. LR_LOADFROMFILE|LR_CREATEDIBSECTION);  // 注意LR_LOADFROMFILE  
9. // 方法二:加载资源图片  
10. HBITMAP   hBitmap;   
11. hBitmap = LoadBitmap(AfxGetInstanceHandle(),   
12. // IDB_BITMAP_TEST为资源图片ID


二,获得按钮句柄并调用SetBitmap即可





1. ((CButton *)GetDlgItem(IDC_BUTTON_TEST))->SetBitmap(hBitmap);



 

三、差点忘了,按钮的Bitmap属性要设为TRUE;

以上代码均用VS2008测试过,其实CBitmapButton只能加载资源图片,还没有CButton方便.


第二步改变为:


1、为button添加control变量


2、使用setbitmap方法



验证是成功的





VC中对话框上编辑里,通过控件方式无法给按钮设定图片的,需写代码实现,还好代码量不大,哈哈!

首先建立基于对话框的MFC应用程序工程testDlg,添加按钮,ID为IDC_BUTTON_TEST,接下来

一,首先建立位图句柄




1. // 方法一:加载非资源图片  
2. HBITMAP   hBitmap;   
3. hBitmap = (HBITMAP)::LoadImage(   
4. NULL,   
5. "E://a.bmp",                           // 图片全路径  
6. IMAGE_BITMAP,                          // 图片格式  
7. 0,0,   
8. LR_LOADFROMFILE|LR_CREATEDIBSECTION);  // 注意LR_LOADFROMFILE  
9. // 方法二:加载资源图片  
10. HBITMAP   hBitmap;   
11. hBitmap = LoadBitmap(AfxGetInstanceHandle(),   
12. // IDB_BITMAP_TEST为资源图片ID


二,获得按钮句柄并调用SetBitmap即可




1. ((CButton *)GetDlgItem(IDC_BUTTON_TEST))->SetBitmap(hBitmap);



 

三、差点忘了,按钮的Bitmap属性要设为TRUE;

以上代码均用VS2008测试过,其实CBitmapButton只能加载资源图片,还没有CButton方便.