如何在对话框里显示BMP图片
1个回答
2016-12-31
展开全部
如何在对话框里显示BMP图片
想在自己新建的一个Dialog对话框里显示一张BMP图片。(如果可以教我显示其他格式如JPG等的话更好~)
这个图片的获取是从数据库里读取出来的,但是只能读取出该图片在我电脑上存放的绝对路径。于是我现在需要利用这个绝对路径,在Dialog里显示出这张图。
于是我在网上找出了这样一段代码:
C/C++ code
?
1
2
3
4
5
CStatic *pStatic = (CStatic *)GetDlgItem(IDC_STATIC); // IDC_STATIC 是Dialog里的一个PictureControl控件ID
HBITMAP hBitmap =::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP3));
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
pStatic->SetBitmap(hBitmap);
这个代码在Dialog里建立一个PictureControl控件,最后也的确输出了图片。
但是这个方法的前提是,必须在“资源视图”里添加BITMAP对象,把BMP图片存进这个对象,再输出图像来。
而我现在只能得到图片文件的绝对路径,我试过把第二行代码里的IDB_BITMAP3直接改为图片的绝对路径,但是改了之后就无法显示了。
希望知道该如何解决。
自己设想的解决方案是:
1、能不能通过编写代码,通过利用图片的绝对路径,来创建一个资源视图里的BITMAP对象,利用上面代码实现输出。
2、能不能不用PictureControl控件,利用什么DC来实现图片输出(我对DC了解很浅)
想在自己新建的一个Dialog对话框里显示一张BMP图片。(如果可以教我显示其他格式如JPG等的话更好~)
这个图片的获取是从数据库里读取出来的,但是只能读取出该图片在我电脑上存放的绝对路径。于是我现在需要利用这个绝对路径,在Dialog里显示出这张图。
于是我在网上找出了这样一段代码:
C/C++ code
?
1
2
3
4
5
CStatic *pStatic = (CStatic *)GetDlgItem(IDC_STATIC); // IDC_STATIC 是Dialog里的一个PictureControl控件ID
HBITMAP hBitmap =::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP3));
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
pStatic->SetBitmap(hBitmap);
这个代码在Dialog里建立一个PictureControl控件,最后也的确输出了图片。
但是这个方法的前提是,必须在“资源视图”里添加BITMAP对象,把BMP图片存进这个对象,再输出图像来。
而我现在只能得到图片文件的绝对路径,我试过把第二行代码里的IDB_BITMAP3直接改为图片的绝对路径,但是改了之后就无法显示了。
希望知道该如何解决。
自己设想的解决方案是:
1、能不能通过编写代码,通过利用图片的绝对路径,来创建一个资源视图里的BITMAP对象,利用上面代码实现输出。
2、能不能不用PictureControl控件,利用什么DC来实现图片输出(我对DC了解很浅)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询