CView

Heroes of the Storm Model Extract 风暴英雄模型提取 〇、说明 1.文中[XXX]为占位符,[ ]中的内容需根据实际情况调整。 一、参考 https://nocilol.me/archives/acg/heroes-of-the-storm-character-models-ripping/ https://www.bilibili.com/video/BV1wb411c7T1?from=search&seid=11576587113003598615 二、工具 CascView 3D Model Viewer M3 Import Script 三、提 阅读详情

文档负责了数据真正在永久介质中的存储和读取工作,视图呈现只是将文档中的数据以某种形式向用户呈现,因此一个文档可对应多个视图。

Invalidate(TRUE)将整个窗口设置为需要重绘的无效区域,它会产生WM_PAINT消息,这样OnDraw将被调用。

void CView::OnPaint()

{

  // CPaintDC类维护显示设备

  CPaintDC dc(this);

  OnPrepareDC(&dc);

  OnDraw(&dc);

}

假如文档中的数据发生了变化,必须通知所有链接到该文档的视图,这时候文档类的UpdateAllView函数需要被调用。

 

当文档数据发生变化时,文档对象调用CDocument::UpdateAllView()通知所有视图,作为响应,视图的OnUpdate()成员被调用。所以,重载的OnUpdate()应该能够根据需要,将文档数据的变化反映在视图中。CView::OnUpdate()只是简单地使客户区无效,导致客户区重画。例如:

void CView::OnUpdate(CView* pSender, LPARAM, CObject*)

{

  ASSERT(pSender != this);

  UNUSED(pSender); // unused in release builds

  Invalidate(TRUE);

}

 

虚函数 OnInitialUpdate()

在初始创建、调用OnCreate()之后,或者在File/New、File/Open命令后被框架调用。基类CView::OnInitialUpdate()只是简单地调用OnUpdate(),可以重载它完成初始化工作。但注意,它可能被多次调用。

void CView::OnInitialUpdate()

{

  OnUpdate(NULL, 0, NULL);

}

 

虚函数 CalcWindowRect

每当主框架窗口的客户区尺寸发生变化或控制条的位置发生变化,需要重新排列客户区时,调用该函数,根据视图客户区尺寸计算视图窗口的尺寸。

我们知道,排列主窗口客户区是由CFrameWnd::RecalcLayout()完成的。显然,视图的CalcWindowRect()函数也是由它触发调用的。主窗口的客户区尺寸减掉所有控制占用的部分,剩下的区域分给视图,这部分区域作为实参传入CalcWindowRect()。在CalcWindowRect()函数内,需要计算视图窗口的尺寸。

 

虚函数PostNcDestroy

在视图窗口关闭时最后调用的成员函数,它与CFrameWnd::PostNcDestroy完成相同的功能,即删除视图对象。代码如下:

void CView::PostNcDestroy()

{

  delete this;

}

这样,可以不必关心视图的释放工作,即使它在堆中构造。

 

虚函数 OnActivateView

当视图被激活为活动视图,或由活动转为非活动时,调用该函数通知视图。基类的实现只是设置该视图为焦点。代码如下:

void CView::OnActivateView(BOOL bActivate, CView* pActivateView, CView*)

{

  UNUSED(pActivateView); // unused in release builds

  if (bActivate) // 当前状态为活动吗

  {

      ASSERT(pActivateView == this);

      // 如果其父窗口也是活动的,则设置焦点。(在MDI中,其父框架可能是非活动的)

      if (IsTopParentActive())

          SetFocus();

  }

}

 

 

MFC提供了丰富的CView派生类,各种不同的派生类实现了对不同种类控件的支持,以为用户提供多元化的显示界面。

  CScrollView: 提供滚动支持;

  CCtrlView: 支持tree、list和rich edit控件;

  CDaoRecordView: 在dialog-box控件中显示数据库记录;

  CEditView: 提供了一个简单的多行文本编辑器视图;

  CFormView: 包含dialog-box控件,可滚动,基于对话框模板资源;

  CListView: 支持列表控件视图;

  CRecordView: 在dialog-box控件中显示数据库记录;

  CRichEditView: 支持富文本编辑的控件视图;

  CTreeView: 支持重点在树控件的文档/视图结构的视图。

 

vc++之cview 视图是程序设计中使用率最高的窗口对象,它是用户的主要操作界面。因为它通常以某种形式表示文档数据,所以称之为视图。一个视图对象只关联一个文档对象;一个文档对象可以关联多个视图,每个视图对象以不同形式表示文档数据。   从文档类中将文档中的数据取出后显示给用户;接受用户对文档中数据的编辑和修改;将修改的结果反馈给文档类,由文档类将修改后的内容保存到磁盘文件中。   文档负责了数据真正在永久介质 阅读详情

相关推荐

MFC】CApp,CMainFrame,CDoc,CView暨相关函数介绍

01、目录 文章目录01、目录02、MFC四大类简述03、MFC四大类常用成员函数3.1、 CMainFrame3.2、 CDoc3.3、 CView3.4、 CApp04、 总结 02、MFC四大类简述 CApp: CApp中如无特殊的要求不用加什么代码,CMainFrame中也是根据需要,如按照微软提供的框架也不需要加什么代码。 CMainFrame: CMainFrame是CApp类的主程序窗口(如果是选MDI或SDI结构的话),也就是程序的一个框架。 CDoc: CDocument中加

Cain Xcy的博客 2877

CVIEW 免进中文系统 3.4 繁体版

需要倚天15,24字型才能显示中文字, kcfont.zip (900k) (从国乔中文转的),请解压放到c:\et3

CDockablePane对话框嵌入与CView拆分视图技术

本文还有配套的精品资源,点击获取 简介:在Windows程序开发中,利用MFC库进行用户界面构建。本文深入探讨了CDockablePane中对话框的嵌入以及CView的拆分技术,这些是MFC框架下实现复杂UI的重要技术点。CDockablePane用于创建可停靠的控制面板,而对话框嵌入可以提高用户体验。CView拆分则允许在单个视图中展示或操作多个数据区域。通过示例项目Ca...

weixin_33816734的博客 1069

m3_import 3ds Max 的M3模型导入

M3 Import Script,3ds Max 的M3模型导入

暗黑2重制 Mod开发工具汇总

《暗黑破坏神2:重制版》Mod开发工具链解析 Mod开发涉及完整的数据工程流程:1)使用CascView提取游戏资源;2)通过Bin2Txt工具实现bin与txt格式互转;3)Notepad++/Excel编辑结构化数据表;4)MPQEditor封装修改内容。D2RMM管理器可智能合并多Mod冲突,而VSCode+AI辅助适合高阶开发者。整个流程体现了现代软件工程的编译发布逻辑,核心在于理解游戏数据结构而非单纯文件修改。工具链清晰对应数据提取、编辑、编译、部署各环节,掌握表字段关联与加载机制才能实现精准修改

Mr数据杨 2066

[游戏技术]暗黑破坏神2重制版 DIABLOⅡ RESURRECTED

重温暗黑2,做些便捷功能,方便[平日]时间少,还是体验游戏,但又不愿意撞乱七八糟的修改破坏游戏平衡的体验,所以只能自己手工做一版,符合重温经典的诉求.

紫冰核心 1万+

Android开发-CardView卡片View的详解

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2401_83947105的博客 1592

试用《Cascadeur》:一款基于物理的角色动画软件

目标 Cascadeur 特殊之处 官网: https://cascadeur.com/ 令人吃惊的是官网上的排版干净,信息量简洁,还配有示意动图。 教程 官网的初学者教程内容简洁并有配图,还做了小功能可以标记“已阅”,学习体验很棒,推荐直接学习。 而这里,我只是在看过教程后顺带记录下我留意的内容。 1.启动程序并在场景中工作(Launching the program and working with scenes) 《Cascadeur》有专属的场景文件:casc 2.控制相机视角(Controllin

主要记录了工作之余胡乱学习的知识,大部分是入门级别的内容。 主要是为了自己未来有用到时能快速上手,相当于是个备忘录。 当然,也很开心其他人可以从中找到对自己有用的信息。^_^ 8779

视图类CView及其派生类

视图类CView       在MFC"文档/视图"架构中,CView类是所有视图类的基类,它提供了用户自定义视图类的公共接口。在"文档/视图"架构中,文档负责管理和维护数据;而视图类则负责如下工作:       (1) 从文档类中将文档中的数据取出后显示给用户;       (2) 接受用户对文档中数据的编辑和修改;       (3) 将修改的结果反馈给文档类,由文档

Jarviscalisto Space 4772

CView Assert报错

参考: 《在没有文档的情况下使用CView及其派生类》http://blog.csdn.net/gxj1680/article/details/3236628 《有关在对话框上创建视图上的再探索》http://www.cnblogs.com/clever101/archi

Segen_Jaa的专栏 2205

CVIEW视图中添加滚动条

 这两天做了一个东西,其中对MFC的知识有认识了一些。下面就是如何将CVIEW视图类添加滚动条:  (1)将所有用到CView的地方替换为CScrollView     (2)在VIEW类的头文件中的     //{{AFX_VIRTUAL(CErtView)和//}}AFX_VIRTUAL     之间加一个函数     virtual   void   OnInitialUpdate();

StoneRain 5037

View和Control的区别(如何在对话框上使用CView类)

View和Control的区别(如何在对话框上使用CView类)  CView继承类,和其他窗口类的区别,很重要的就是对CDocument类和CFrameWnd类的操作,而其中,涉及CDocument类的操作,都进行了有效性判断(m_pDocument != NULL),CView类初始化的时候,m_pDocument = NULL,因此并不影响CView类作为控件的使用。涉及CFrame类的操作

Mackz的专栏 6163

如何实现CAPP、CMainFrame、CViEW和CDOC之间相互调用?

例如:我在CMainFrame 中写代码,要访问CVIEW类中的数据,该怎么写代码?在CMainFrame 中,要访问CDOC类中的数据,该怎么写代码?CVIEW类要访问CDOC类中的数据,该怎么写代码? 假设你是单文档单个VIEW的程序。那么:1)CMainFrame:      GetActiveView()可得到View指针。例如: CyourView   *pView=(CyourView

没有根柢盘深,怎有枝叶峻茂 6299

MFC-CView类总结

CView类为用户定义的视图类提供了基本的功能。视图被连接到文档上,用作文档和用户之间的媒介:视图在屏幕或打印机上显示文档的图像,并将用户的输入解释为对文档的操作。 视图是框架窗口的子窗口。可能会有多个视图共用一个框架窗口,就像在分隔窗口中那样。视图类、框架窗口类和文档类之间的联系通过CDocTemplate类来建立。当用户打开一个新窗口或将现有窗口分隔为多个时,框架会创建一个新视图并将它连接到文档对象上。 一个视图只能被连接到一个文档,但是一个文档可以有多个视图与...

weixin_49150294的博客 1417

CApp,CMainFrame,CDoc,CView

想写VC编程的朋友一定要看孙鑫老师的视频,里面讲得很好。 网上寻找到的资料总结: CMainFrame是CApp类的主程序窗口(如果是选MDI或SDI结构的话),也就是程序的一个框架。CApp中如无特殊的要求不用加什么代码,CMainFrame中也是根据需要,如按照微软提供的框架也不需要加什么代码。    CDocument一般和CView一起使用,这样的程序叫文档/视图结构。CD

cumirror的专栏 2176

CView类详解 onActivateView()

<br />CView百科名片<br />CView是视图是程序设计中使用率最高的窗口对象,它是用户的主要操作界面。因为它通常以某种形式表示文档数据,所以称之为视图。一个视图对象只关联一个文档对象;一个文档对象可以关联多个视图,每个视图对象以不同形式表示文档数据。简介 从文档类中将文档中的数据取出后显示给用户;接受用户对文档中数据的编辑和修改;将修改的结果反馈给文档类,由文档类将修改后的内容保存到磁盘文件中。  文档负责了数据真正在永久介质中的存储和读取工作,视图呈现只是将文档中的数据以某种形式向用户呈现

kofandlizi的专栏 8996

CView_VS_CDocument

CView与CDocument 这是面试的时候,考官问我的问题之一。具体问题忘记了。 最近看到一个人写的MFC的一些bolg,突然想起来这个问题了,就稍微总结一下,浅显之处,还请见谅。 第一点,从类的继承关系上,CView继承自CWnd,CWnd继承自CCmdTarget;CDocument继承自CCmdTarget。 第二点: CView视图,负责内存数据与用户的交互。包括数据的显示、

chen825919148的专栏 1542

CFormView和CView区别

建立一个"单文档"的工程中,用户视图的基类改为CView,在编程中就有了ondraw函数(成员函数),而在CFormView情况下就没有ondraw函数(成员函数),CFormView是CView类的派生类,在CFormView类里可以放很多控件,即“带有菜单并可以添加控件的工程”。    View必须和document一起工作,CView不能在资源编辑器中编辑,但是CFormView可以,一般

丸子头的专栏 5841
上一篇: MFC中的消息处理/AfxWndProc/WM_COMMAND路由
下一篇: 线程与消息队列
geeeeeeee
博客等级 码龄23年 36粉丝 67原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值