VC中对话框上编辑里,通过控件方式无法给按钮设定图片的,需写代码实现,还好代码量不大,哈哈!
首先建立基于对话框的MFC应用程序工程testDlg,添加按钮,ID为IDC_BUTTON_TEST,接下来
一,首先建立位图句柄
- // 方法一:加载非资源图片
- HBITMAP hBitmap;
- hBitmap = (HBITMAP)::LoadImage(
- NULL,
- "E://a.bmp", // 图片全路径
- IMAGE_BITMAP, // 图片格式
- 0,0,
- LR_LOADFROMFILE|LR_CREATEDIBSECTION); // 注意LR_LOADFROMFILE
- // 方法二:加载资源图片
- HBITMAP hBitmap;
- hBitmap = LoadBitmap(AfxGetInstanceHandle(),
- MAKEINTRESOURCE(IDB_BITMAP_TEST)); // IDB_BITMAP_TEST为资源图片ID
二,获得按钮句柄并调用SetBitmap即可
- ((CButton *)GetDlgItem(IDC_BUTTON_TEST))->SetBitmap(hBitmap);
三、差点忘了,按钮的Bitmap属性要设为TRUE;
以上代码均用VS2008测试过,其实CBitmapButton只能加载资源图片,还没有CButton方便.