VC,图片控件加载资源位图没问题,但对于外部位图不显示,太纠结了,下面为代码
首先添加图片控件IDC_PIC1,(格式已改为位图),和一个按钮,在按钮响应函数中代码如下,//获得位图句柄CStatic*pStatic=(CStatic*)GetDl...
首先添加图片控件IDC_PIC1,(格式已改为位图),和一个按钮,在按钮响应函数中代码如下,
//获得位图句柄
CStatic *pStatic=(CStatic *)GetDlgItem(IDC_PIC1);
HBITMAP hBitmap=::LoadBitmap(AfxGetApp()->m_hInstance,
MAKEINTRESOURCE(IDB_BITMAP1)); //从RC
资源源中加载位图,可行
/* HBITMAP hBitmap=(HBITMAP)::LoadImage(NULL,"1.bmp",IMAGE_BITMAP,
0,0,LR_CREATEDIBSECTION |
LR_LOADFROMFILE);//但加载外部位图,编译通过,但图片控件区域没能显示位图 */
//设置静态控件的样式,使其可以使用位图,并试位标显示使居中
pStatic.ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
//设置静态控件显示位图
pStatic.SetBitmap(hbitmap);
补充:最后一行代码应该是hBitmap.打错了,我运行加载资源位图是可以的,就是加载绝对路径位图,不能显示。
谢谢了,问题已经找到,代码没问题,但我加载的位图的电脑里直接从JPG格式转换过来的,VC不识别,依然谢谢你 展开
//获得位图句柄
CStatic *pStatic=(CStatic *)GetDlgItem(IDC_PIC1);
HBITMAP hBitmap=::LoadBitmap(AfxGetApp()->m_hInstance,
MAKEINTRESOURCE(IDB_BITMAP1)); //从RC
资源源中加载位图,可行
/* HBITMAP hBitmap=(HBITMAP)::LoadImage(NULL,"1.bmp",IMAGE_BITMAP,
0,0,LR_CREATEDIBSECTION |
LR_LOADFROMFILE);//但加载外部位图,编译通过,但图片控件区域没能显示位图 */
//设置静态控件的样式,使其可以使用位图,并试位标显示使居中
pStatic.ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
//设置静态控件显示位图
pStatic.SetBitmap(hbitmap);
补充:最后一行代码应该是hBitmap.打错了,我运行加载资源位图是可以的,就是加载绝对路径位图,不能显示。
谢谢了,问题已经找到,代码没问题,但我加载的位图的电脑里直接从JPG格式转换过来的,VC不识别,依然谢谢你 展开
1个回答
展开全部
CBitmap *bitmap;
bitmap=new CBitmap;
bitmap->m_hObject=(HBITMAP)::LoadImage(NULL,"1.bmp",IMAGE_BITMAP,
0,0, LR_LOADFROMFILE);//不用资源为图,加载绝对路径位图
pStatic.ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
pStatic.SetBitmap(bitmap->m_hObject);//你看看这样行不行
bitmap=new CBitmap;
bitmap->m_hObject=(HBITMAP)::LoadImage(NULL,"1.bmp",IMAGE_BITMAP,
0,0, LR_LOADFROMFILE);//不用资源为图,加载绝对路径位图
pStatic.ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
pStatic.SetBitmap(bitmap->m_hObject);//你看看这样行不行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询