MFC单文档应用程序显示图像

简介: 1 利用VS2010向导创建一个MFC单文档应用程序MFCTest 2 在MFCTestView.h中引用<atlimage.h>,并创建一个CImage对象 #include <atlimage.h>private: CImage image;3 打开资源文件,选中Menu下面的IDR_MAINFRAME,添加一个新的菜单项“打开图像”,修改其ID为I

1 利用VS2010向导创建一个MFC单文档应用程序MFCTest

2 在MFCTestView.h中引用<atlimage.h>,并创建一个CImage对象

#include <atlimage.h>

private:
	CImage image;
3 打开资源文件,选中Menu下面的IDR_MAINFRAME,添加一个新的菜单项“打开图像”,修改其ID为IDM_OPEN,再点击鼠标右键,添加事件处理程序,在弹出的对话框的列表中选择CMFCTestView
4 添加事件处理函数OnOpen的代码

void CMFCTestView::OnOpen()
{
	// TODO: 在此添加命令处理程序代码
	CFileDialog dlg(TRUE, _T(".bmp"), _T("*.bmp"), OFN_HIDEREADONLY | 
		OFN_OVERWRITEPROMPT, _T("位图文件(*.bmp)|*.bmp|JPEG文件(*.jpg)|*.jpg||"));
	if(dlg.DoModal() == IDOK)
	{
		if(!image.IsNull())
		{
			image.Destroy();
		}
		image.Load(dlg.GetPathName());
		Invalidate();
	}
}
5 在MFCTestView中加入图像显示的代码

void CMFCTest2View::OnDraw(CDC* pDC)
{
	CMFCTest2Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;

	// TODO: 在此处为本机数据添加绘制代码
	if(!image.IsNull())
	{
		image.Draw(pDC->GetSafeHdc(), 0, 0);
	}
}
效果如下:


目录
相关文章
|
6月前
|
C++ UED 开发者
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
94 0
|
7月前
MFC绘图操作
MFC绘图操作
42 0
|
7月前
MFC应用程序单文档及类向导的使用
MFC应用程序单文档及类向导的使用
74 0
|
7月前
MFC单文档视图架构
MFC单文档视图架构
62 0
|
7月前
|
Windows
MFC多文档视图
MFC多文档视图
36 0
QT应用编程: Qt自定义界面并提升窗口部件基类
QT应用编程: Qt自定义界面并提升窗口部件基类
799 0
QT应用编程: Qt自定义界面并提升窗口部件基类
Qt自定义界面类并提升(提升的窗口部件)
Qt自定义界面类并提升(提升的窗口部件)
1387 0
Qt自定义界面类并提升(提升的窗口部件)
|
调度 Windows C#
理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图)
原文 理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图) UWP 应用多是一个窗口完成所有业务的,事实上我也推荐使用这种单一窗口的方式。不过,总有一些特别的情况下我们需要用到不止一个窗口,那么 UWP 中如何使用多窗口呢? 本文内容 为什么 UWP 需要多窗口? UWP 视图的概念 UWP 多窗口 管理多个 UWP 视图 参考资料 为什么 UWP 需要多窗口? 多窗口在传统 Win32 的开发当中是司空见惯的事儿了,不过我个人非常不喜欢,因为 Windows 系统上的多窗口太多坑。
1647 0
MFC创建单文档工程(为窗口添加背景图)
首先把BMP位图图片添加到资源文件res文件夹下; 其次,资源视图——VT_Ards.rc——右键选择添加资源,选择Bitmap,导入BMP图片并修改图片ID; 然后添加代码(详见MFC单文档工程为窗口添加背景图代码) ...
1648 0