VC++ 动态加载BMP(转载)
来源:互联网 发布:电脑开票软件打不开 编辑:程序博客网 时间:2024/06/05 00:09
前段时间想用VC的对话框来动态地显示一副BMP位图,查了很多篇文章发现都写的很复杂(而且貌似许多都是复制粘贴而来),真正有价值的不多.其实VC显示BMP文件是很方便的,所有的代码加在一起也不过五六行而已.因而特此将自己的经验写上blog,希望能对需要的人有所帮助.
要想在VC中动态显示位图,有两种比较简单的方法:
1.显示已添加为为工程资源的位图
准备工作:把图片加为工程的资源,设其句柄名为IDB_BITMAP1;然后放一个静态控件或者图片控件到对话框上,将其句柄名设为IDC_SHOWBMP;
具体代码:在需要使用的地方(如按钮函数或OnInitDialog()或OnPaint()里等等)加入如下代码:
CStatic *p =(CStatic *)GetDlgItem(IDC_SHOWBMP); //获得指向IDC_SHOWBMP的指针,并将其强制转换为CStatic*类型,并赋值给p
HBITMAP hBitmap=::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));//从工程资源处获得IDB_BITMAP1的位图句柄,并将其赋值给hBitmap变量
p->Modifystyle(0xF,SS_BITMAP|SS_CENTERIMAGE); //设置该静态控件(p指向的静态控件),使其用于显示位图,并且是在控件中央显示 //(若无此步无法显示,因为没有说明静态对话框要显示的类型是什么)
p->SetBitmap(hBitmap); //将需要显示的位图设置为bBitmap,即资源IDB_BITMAP1的句柄
2.通过位图所在路径显示位图(此方法无需事先将位图文件添加为该工程的资源)
准备工作:在对话框上放一个静态控件(一定是静态控件,若图片控件则无法显示) 将其重命名为IDC_BMP(不重命名的话无法添加变量),然后再为该控件添加一个变量,命名为m_image.
具体代码:在需要使用的地方(如按钮函数或OnInitDialog()或OnPaint()里等等)加入如下代码:
this->m_image.ModifyStyle(0,SS_BITMAP | SS_CENTERIMAGE); //和上面的作用一样,将该静态控件设置为是用来显示位图的,只不过这里是通
//过该静态对话框的变量来进行modifystyle操作的
HBITMAP hBmp = (HBITMAP)::LoadImage(0, "path//1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); //从bmp文件所在的路径直接读取该bmp图象的句柄,并将其转换为HBITMAP类型
//注:其中的"path//1.bmp"是相对路径,即在和可执行文件的同一目录
//下有一个名为path的文件夹,里面有一个名为1.bmp的位图文件.
this->m_image.SetBitmap(hBmp); //通过变量m_image来设置该静态框所显示的位图文件.
以上两种方法经过试验都可以成功的在对话框上显示一个bmp位图,而且还可以根据其资源号或者具体路径来进行具体的操作.
好了,暂时就先写到这里了,如有写的不清楚和不对的地方望各位勿吝纠正.
出处: http://www.cnblogs.com/jjzhou1988/archive/2008/12/04/1347862.html
- VC++ 动态加载BMP(转载)
- [转载]symbian Grid图像动态转换加载图像(jpg,bmp)
- VC下显示JPG,BMP,GIF等图像格式(转载)
- vc中动态显示bmp
- 动态BMP图片的加载
- MFC 动态加载bmp位图
- bmp文件动态加载显示
- symbian Grid图像动态转换加载图像(jpg,bmp)
- vc加载bmp位图并显示
- vc++ 动态加载位图
- (转载)使用IconUtility动态加载图片
- BMP文件详解(转载)
- MFC 基于对话框的图片控件(picture)动态加载.bmp图片并显示
- vc 加载bmp位图并显示的方法
- 用vc++动态加载dll
- 用vc++动态加载dll
- VC动态加载png图片
- vc加载动态链接库
- AS400 计算日期时间
- 域控制器中用组策略禁止USB的方法
- asp.net导出csv的例子,很不错(zz from :http://wiki.asp.net/page.aspx/401/export-to-csv-file/)
- BIND 9 rndc 的命令参数
- .NET笔试题3
- VC++ 动态加载BMP(转载)
- XPath学习
- 关于Flex Builder 3 下编译参数格式
- DevExpress Exception Solution - The target "X" for the callback could not be found or did not implement ICallbackEventHandler
- 把字符串中所有小写字母转换成大写,其余不变,不能用Stirng.toUpperCase()方法
- 网上邻居的工作原理:浏览服务(老文章)
- 第一部分 程序员必读 第二章 Unicode
- mmap详细解释
- Asp.net显示文件夹中的图片