在对话框显示图片补充方法
来源:互联网 发布:淘宝网 api接口 编辑:程序博客网 时间:2024/04/25 22:36
总结出两种方法:
1. 使用ATL库中的CImage类加载图片
2. 使用免费共享的CxImage库中的加载图片(可支持几乎所有格式)
方法一、使用ATL库中的CImage类加载图片
使用ATL库中的CImage类加载图片作为对话框背景
使用CImage类库要在应用程序的stdafx.h文件中添加CImage类的包含文件:
#include "atlimage.h"
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
//用CImage加载
m_imgBK.Load("res//006.png");
width=m_imgBK.GetWidth();
height=m_imgBK.GetHeight();
bool bLoad=m_imgBK.IsNull();
int uMaxClr=m_imgBK.GetMaxColorTableEntries();
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CAboutDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
m_imgBK.Draw(dc.GetSafeHdc(),150,150,width,height);//,0,0,50,50);
// 不为绘图消息调用 CDialog::OnPaint()
}
方法二、使用免费共享的CxImage库中的加载图片
下载自http://www.codeproject.com/bitmap/cximage.asp
1. 下载Download full source files (full) 后解压,进行修正后,编译出所有的lib和dll库,将lib放入CxImageLib目录,将dll放入程序运行目录。在项目中依赖源中添加该库目录(建议按需加载lib库以减小体积)。
2. 在对话框类中加入声明变量CxImage xImage;
3. 在OnInitDialog()中初始化该对象
xImage=CxImage(str,CXIMAGE_FORMAT_PNG);
ASSERT(xImage.IsValid());
4. 在OnPaint()中绘制图像
CPaintDC dc(this);
xImage.Draw(dc.m_hDC);
//等同于 xImage.Draw(dc.m_hDC,0,0,xImage.GetWidth(),xImage.GetHeight());
注:用CxImage::Draw()可完整支持Alpha通道等。如果调用CxImage::Draw2()则与CImage一样仅支持单透明色(并非直接显示图像中的透明色,而是将某色置为透明)
SavageConan
2007.08.01
- 在对话框显示图片补充方法
- 在对话框显示图片的多种方法
- 在对话框显示图片的多种方法
- 在对话框显示图片的多种方法(上)
- 在对话框显示图片的多种方法(下)
- 在对话框显示图片的多种方法 yl&dandan
- MFC 在对话框显示图片的多种方法
- MFC 在对话框显示图片的多种方法
- MFC的 在对话框显示图片的方法
- 在对话框中显示图片
- vc 在对话框显示图片
- 在对话框中显示图片
- MFC 在对话框显示图片的多种方法-动态载入图片
- bmp图片在对话框的全屏显示
- VC中在对话框上显示图片
- 如何在对话框上显示一张图片
- 在对话框中显示jpg图片
- 在对话框中显示bmp图片
- 0828周四
- pd,使用powerdesigner的反向工程将数据库字典导出为rtf和Word文档,powerdesigner反向工程
- ASP.NET操作EXCEL时出现的错误 Retrieving the COM class factory for component with CLSID
- 在对话框显示图片的多种方法
- 一个简单的Ajax开发框架
- 在对话框显示图片补充方法
- ASP.NET 2.0中页面间传递数据的新方法
- 应用ajax处理级联的数据
- 分布式数据库概述
- 什么是Cookie
- sqlserver 错误 0xc0202049: 数据流任务: 无法在只读列“ID”中插入数据
- 屈原·渔父的算法追求
- SWT开发web应用
- 比较全的2D码介绍网站