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

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);
	}
}

效果如下:

转载:http://blog.csdn.net/foreverling/article/details/40083431

时间: 2024-08-22 23:15:24

MFC单文档应用程序显示图像的相关文章

做一个简单的VC++的mfc单文档应用程序

问题描述 做一个简单的VC++的mfc单文档应用程序 帮忙做一个基于VC++6.0的mfc单文档应用程序(绘图),有菜单栏工具栏和快捷菜单,用到分割窗口,组合框,文档序列化 解决方案 google Scribble 示例:MDI 绘图应用程序 解决方案二: 就你的需求,不要写一行程序,用向导生成,勾选切分视图和从CFormView继承,放上组合框就好了.文档序列化是默认支持的. 解决方案三: 解决方案四: 如果你要画图,可以直接下载msdn里面切分视图画图的那个例子,然后加上一个controlb

mfc单文档-VC++程序调试,出现winocc.cpp中的问题!!!

问题描述 VC++程序调试,出现winocc.cpp中的问题!!! 我自己编写了一个单文档的小程序,然后运行程序之后出现中断,进过调试寻找到是winocc.cpp中的void CWnd::GetProperty和void CWnd::SetProperty两个函数中的_ASSERT(m_pCtrlSite != NULL);均出现错误.希望大神能帮忙指出错误类型!!!谢谢!!! 这是出错部分代码!! float* try::fun1( )//创建指定区域 { GET dlg; dlg.DoMod

MFC单文档应用程序 修改style 光标 图标 背景 等综合

   首先我们修改窗体 有2种方法  一是  在窗体创建之前   二是在窗体创建之后 修改  下面就介绍各种修改方法   参考  MSDN window style    window styles          用到的函数  GetWindowLong  SetWindowLong      GetClassLong   SetClassLong  在窗体创建之后修改窗体的属性 图标光标 等等       AfxRegisterWndClass函数返回一个已经注册的窗口类的名字以便我们给C

【数字图像处理】 二.MFC单文档分割窗口显示图片

本文是讲述<数字图像处理>系列文章,继上篇讲述BMP格式图片和显示后,该篇讲述如何对单文档进行分割.主要是采用CSplitterWnd静态分割窗口显示图片等相关知识.本文主要结合自己的课程及常用图片软件讲解. 一. CSplitterWnd静态分割窗口 1.CSplitterWnd类基础知识(该部分引用:百度百科和麦田里的稻草人博客)CSplitterWnd类提供一个分离器窗口的功能,分隔器窗口是一个包含有多个窗格的窗口.窗格通常是应用程序特定的由CView派生的对象,但它也可以是具有适当子窗

mfc 单文档应用问题!

问题描述 mfc 单文档应用问题! 我现在要做一个程序,根据账号登录后,通过不同账号权限加载不同的页面.登录教授页 面后可以在此页面上点击"显示波形"按钮,出现一个新的界面显示波形. 我现在的思路是:在SDI程序中,app::initinstance中加载登录和其他页面,用view做 波形显示页面.可是现在我不知道怎么跳转到波形界面,关键是关闭波形洁面后还能跳 转到当前页面! 求解答!! 解决方案 OpenGL在MFC单文档中的应用MFC单文档应用程序问题

MFC单文档程序编程 最小化托盘对话框没有隐藏而是以标题栏的形式显示的呢?

问题描述 MFC单文档程序编程 最小化托盘对话框没有隐藏而是以标题栏的形式显示的呢? MFC单文档程序编程 最小化托盘某个对话框的时候 为什么对话框没有隐藏而是以标题栏的形式显示的呢 void CBeginningTimeDlg::OnSysCommand(UINT nID, LPARAM lParam) { // TODO: Add your message handler code here and/or call default CWnd *pMainFrameWnd , *pSettin

在MFC单文档程序中,如何在子对话框类中访问视类中的一个变量?

问题描述 在MFC单文档程序中,如何在子对话框类中访问视类中的一个变量? 如题,小弟最近遇到一个问题,新建一个单文档程序,并在其中引入对话框资源.我想在视类的OnDraw()函数中通过响应视类的一个变量的变化来改变视类窗口中图形的状态,而该视类变量的变化是由对话框中的一个控件控制的,这个控件是由旋钮控件和编辑控件捆绑而成的.在网上看了一些资料,试了其中的一些方法,都没能成功.论坛中高手众多,想请热心的高手们给个解决方法,在此先谢过了!能给个相似的例子的更好! 解决方案 要么你把那个变量定义成静态

cformview-VC/MFC 单文档工程,如何动态创建CFormView并显示出来?

问题描述 VC/MFC 单文档工程,如何动态创建CFormView并显示出来? 大家好.我问这个问题,是经过独立思考的.想通过好心人回答,彻底解决. 我有个基于单文档的程序,我想在菜单响应函数中,动态去创建CFormView并显示.1我添加了继承CFormView的自定义类,并把无框的对话框资源,在CFormView构造函数中传递了IDD_资源进去.2 在菜单响应函数中,我写了如下代码,去创建CFormView:CCreateContext context; context.m_pNewView

mfc窗口切换视图-MFC单文档视图 窗口分割 如何切换视图

问题描述 MFC单文档视图 窗口分割 如何切换视图 BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: Add your specialized code here and/or call the base class if(!m_wndSplitter.CreateStatic(this,1,2)) return FALSE; if(!m_wndSplitter.Cr