社区
C语言
帖子详情
什么时候重载OnOpenDocument()函数?
fan_mh
2001-11-20 08:01:36
各位大虾,请问何时需要重载CDocument的OnOpenDocument()和OnSaveDocument()函数,何时直接重载Serialize()函数就可完成数据读写?
...全文
88
回复
打赏
收藏
什么时候重载OnOpenDocument()函数?
各位大虾,请问何时需要重载CDocument的OnOpenDocument()和OnSaveDocument()函数,何时直接重载Serialize()函数就可完成数据读写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
VC2008_
Open
CV2.3.1图像处理平台
【目的】 1、了解
Open
CV在MFC框架中的使用,建立基于VC +
Open
CV的图像处理平台; 2、在此基础上实现简单的图像处理操作,包括图像的打开、显示、放大、缩小、保存。 【版本】 VC2008 +
open
cv 2.3.1 【详细实现步骤】 1、VC2008编译环境设置:工程中已预先设好,为保证能编译成功,自己需重新设置(include/lib/bin路径,略。。。); 2、视图显示选择
Open
CV老式显示方法CvvImage,将CvvImage文件夹下两个文件加入工程中,stdafx.h中加入【#include "CvvImage/CvvImage.h"】 3、CMFC_
Open
CVDoc文档类中加入变量: Mat m_originImage;//原始图像 Mat m_Image;//中间处理图像 4、
重载
虚
函数
On
Open
Document
函数
,代码如下: BOOL CMFC_
Open
CVDoc::On
Open
Document
(LPCTSTR lpszPathName) { if (!C
Document
::On
Open
Document
(lpszPathName)) return FALSE; //使用Mat矩阵读取图像数据 m_originImage = imread((char*)lpszPathName); //原始数据留存,数据操作在m_Image上进行 m_originImage.copyTo(m_Image); return TRUE; } 5、
重载
虚
函数
OnSave
Document
,代码如下: BOOL CMFC_
Open
CVDoc::OnSave
Document
(LPCTSTR lpszPathName) { if (!m_Image.empty()) { imwrite((char*)lpszPathName, m_Image); } return TRUE; } 6、视图类CMFC_
Open
CVView中加入变量: CImage m_showImage;//图像显示变量 7、视图类CMFC_
Open
CVView中OnDraw
函数
改写如下: void CMFC_
Open
CVView::OnDraw(CDC* pDC) { CMFC_
Open
CVDoc* pDoc = Get
Document
(); ASSERT_VALID(pDoc); if (!pDoc) return; if (pDoc->m_Image.empty()) { return; } //获取需要显示的图像 IplImage* piI = &(pDoc->m_Image.operator IplImage()); //转化为合适显示的类型 m_showImage.CopyOf( piI ); //获取显示设备窗口 CRect rect; GetClientRect(▭); //把显示区的宽度设为图像的真实宽度和高度 rect.right=m_showImage.Width(); //CvvImage:Width()计算图像的宽度,单位像素 rect.bottom=m_showImage.Height();//CvvImage:Height()计算图像的高度,单位像素 //定义一个CSize对象,用于保存滚动条的尺寸,设为图像的真实尺寸 CSize sizeTotal(rect.right,rect.bottom); SetScrollSizes(MM_TEXT, sizeTotal);//设置滚动条的位置 //调用CvvImage类的成员
函数
DrawToHDC在视图窗口显示图像 //
函数
形参为当前的设备环境和显示区大小 m_showImage.DrawToHDC(pDC->GetSafeHdc(),rect); } 8、滚动条显示设置: 视图类CMFC_
Open
CVView需继承于CScrollView类,而不是CView类,需要改动的地方还有,将以下语句 IMPLEMENT_DYNCREATE(CMFC_
Open
CVView, CView) BEGIN_MESSAGE_MAP(CMFC_
Open
CVView, CView) 改为: IMPLEMENT_DYNCREATE(CMFC_
Open
CVView, CScrollView) BEGIN_MESSAGE_MAP(CMFC_
Open
CVView, CScrollView); 另外,初始化时
重载
OnInitialUpdate
函数
如下: void CMFC_
Open
CVView::OnInitialUpdate() { CScrollView::OnInitialUpdate(); // TODO: 在此添加专用代码和/或调用基类 CSize sizeTotal; sizeTotal.cx = sizeTotal.cy = 60; SetScrollSizes(MM_TEXT, sizeTotal); }
OnFile
Open
与On
Open
Document
分类: C/C++2010-10-16 23:48 5460人阅读 评论(1) 收藏 举报 文档框架扩展 OnFile
Open
是菜单项的响应
函数
,由它具体调用那个对话框并完成文件的搜索和最终路径的确认。 On
Open
Document
应该是在文件已经选好准备打开的时候触发的,这个时候应该可以处理文件内的具体数据了,所以你具体载入图像应该来
重载
这个
函数
,还有View的Updat
C
Document
::OnNew
Document
和C
Document
:: On
Open
Document
C
Document
::OnNew
Document
原型: virtual BOOL OnNew
Document
();用途: 调用成员
函数
DeleteContents,以确保文档为空,然后标明新文档是未被修改的。可以
重载
该
函数
进行新文档数据结构的初始化。参数: 无返值: 如果文档初始化成功,则返回非零值,否则为0。CDocume
OnFile
Open
与On
Open
Document
(转)
OnFile
Open
是菜单项的响应
函数
,由它具体调用那个对话框并完成文件的搜索和最终路径的确认。On
Open
Document
应该是在文件已经选好准备打开的时候触发的,这个时候应该可以处理文件内的具体数据了,所以你具体载入图像应该来
重载
这个
函数
,还有View的Update相关
函数
也要
重载
。 CWinApp::OnFile
Open
调用CDocManager::OnFile
Open
。C...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章