MFC开发IM-第二篇、MFC picture 控件的用法
2018-01-10 21:33
169 查看
一、利用Picture控件静态加载显示Bitmap图片
在界面上创建Picture控件将Picture控件的Type属性设为Bitmap
导入或新建Bitmap类型资源,ID为IDB_BITMAP1等等
为控件添加变量CStatic m_pic;
加载图片代码:
HBITMAP hBitmap = ::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1)); m_pic.SetBitmap(hBitmap);1
2
3
分析:
优点:代码非常简洁
缺点:
1、加载的Bitmap不可调整大小,取实际大小值,Picture控件会自动调整为Bitmap的实际大小值。
2、加载的Bitmap资源只能在模块内部
二、利用Picture控件动态加载显示Bitmap图片
HBITMAP hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), TEXT("D:\\test.bmp"), IMAGE_BITMAP, 50, 50, LR_DEFAULTCOLOR | LR_LOADFROMFILE | LR_CREATEDIBSECTION); m_pic.SetBitmap(hBitmap);1
2
3
4
分析:
加载的图片在模块外可以指定图片大小,如上图中的50,50,若实际大小和此不相符,会自动缩放图片
LR_DEFAULTCOLOR — 指定按照原图的颜色加载图片,不可少
LR_LOADFROMFILE — 加载外部的Bitmap,一定要指定
LR_CREATEDIBSECTION — 一般会指定
如若按照图片本身的大小加载,则设置cx,cy为0,0,并且在最后的标志位加上|LR_DEFAULTSIZE
注意:从网上下载的Bitmap图片可能用上面的方法加载失败,返回的HBITMAP为NULL,GetLastError()返回0,这个一般是图片格式的问题,可以用Windows的画图程序打开Bitmap再另存为24位位图的bmp格式就可以了。
相关文章推荐
- MFC开发IM-第六篇、MFC 文本框 用法
- MFC中怎样将位图写入指定的Picture控件中,两种方式:1 加载已有位图 2读取位图文件;另外CreateDIBitmap的用法和StretchDIBits用法举例
- MFC中怎样将位图写入指定的Picture控件中,两种方式:1 加载已有位图 2读取位图文件;另外CreateDIBitmap的用法和StretchDIBits用法举例
- MFC:Picture控件的用法
- MFC开发IM-第八篇、调整各个控件的上下tab顺序
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
- MFC的picture控件静态动态加载位图
- mfc图片控件用法
- MFC开发IM-用GDI函数画圆。可确定圆心的
- MFC ListControl控件用法
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- MFC窗口客户区全屏显示以及PICTURE控件全屏显示
- MFC树形控件(CTreeCtrl)用法(下)
- 使用VS2010开发ActiveX(MFC)控件(1)——创建
- MFC 获取picture控件的鼠标点击坐标位置的方法(PreTranslateMessag)
- MFC的picture控件静态动态加载位图
- 改变MFC picture control控件背景色
- MFC开发IM-第二十三篇、C++中 UTF-8转成Unicode
- MFC picture控件中显示图片
- 【VS开发】MFC CListCtrl列表控件的消息响应