信号又是运载消息的工具,是消息的载体。信息资源广泛存在于经济、社会各个领域和部门。图1-15 数据在计算机中的存在形式1.4.2 数据在计算机中的表示各种各样的数据存放在计算机中,都是以二进制数的形式保存的,在完成处理后输出时,则按照其原有的形式输出。......
2023-11-26
“模板”提供一种固定的样式,其大部分内容都是内部开发好了的,开发者只要作少量修改即可快速生成功能强大的软件。文档模板类(CDocTemplate)将视图类(CView)、文档类(CDocument)和框架类(CFrameWnd)捆绑在一起。文档模板将类型信息在注册表中进行注册,使得在双击文档类型的文件时,操作系统根据注册信息找到执行文件启动进程并加载该文档。
创建一个工程名为“md”的MDI程序,开发基于文档模板架构的绘图软件。
1)在向导第1步,选择多文档和文档视图框架,如图13-8所示。
图13-8 创建文档视图架构的程序
2)在向导第4步,单击“Advanced”按钮填写文档信息,如图13-9所示。
图13-9 文档模板设置
3)在向导第5步,单击“As a statically linked library”,选择静态链接MFC类库模式,如图13-10所示。
图13-10 MFC应用程序向导
4)在MFC应用程序向导最后一步,选择CScrollView作为视图类,如图13-11所示。
图13-11 选择视图基类(共有8个类可选)
5)在ResourceView中修改工具栏资源,添加一些工具按钮,如图13-12所示。
图13-12 编辑工具栏资源
6)部分工具栏按钮ID见表13-2。
表13-2 部分工具栏按钮ID
7)在类视图中添加一个普通类CLayer(无基类),如图13-13所示。
图13-13 通过右键菜单添加新类
8)修改CLayer类的头文件,使其成为一个抽象类。
9)在类视图中添加一个CLayer类的派生类用于处理矩形图层,如图13-14所示。
图13-14 添加派生类
10)修改CRectan类的头文件,重写所有基类中的虚函数并添加成员变量。
11)修改CRectan类的源文件,编写所有类成员函数的代码。
12)修改CLayer类的源文件。
(www.chuimin.cn)
13)修改CMdView类的头文件,添加一些成员变量。
14)修改CMdView类的初始化函数OnInitialUpdate。
15)在CMdView类添加所有工具的消息映射函数(包括COMMAND和UPDATE_COMMAND_ UI),如图13-15所示。
图13-15 添加工具栏按钮的消息映射函数
16)修改添加的消息映射函数的代码。
17)修改CMdDoc类的头文件,添加管理图层信息的成员变量。
18)在CMdView类中添加一些鼠标消息映射函数,如图13-16所示。
图13-16 添加消息映射函数
19)修改建立的所有消息映射函数的代码。
20)修改OnDraw函数的代码。
21)在CMdDoc类中修改序列化函数的代码。
22)在CMdDoc类中,添加虚函数DeleteContents并修改代码。
23)编译并运行,测试代码,如图13-17所示。
图13-17 查看运行结果
每次绘制新的矩形或者拖动一个矩形,关闭时都会提示是否保存。通过打开菜单、最近文件以及单击工具栏按钮等,都能够打开保存过的.md文件。甚至双击保存好的.md文件,或者把文件拖到框架上面,也能自动打开一个文档。
CDocument类最常用的虚函数回调如下。
①CDocument::OnNewDocument:创建新文档时回调。
②CDocument::OnCloseDocument:关闭文档时回调。
③CDocument::OnOpenDocument:打开已存在的文档时回调。
④CDocument::OnSaveDocument:保存文档到硬盘时调用。
⑤CDocument::DeleteContents:需要清理文档数据时调用。
有关VC++就业培训宝典之MFC视频教程的文章
信号又是运载消息的工具,是消息的载体。信息资源广泛存在于经济、社会各个领域和部门。图1-15 数据在计算机中的存在形式1.4.2 数据在计算机中的表示各种各样的数据存放在计算机中,都是以二进制数的形式保存的,在完成处理后输出时,则按照其原有的形式输出。......
2023-11-26
这一模型意味着在我们的知识基础中,已经存储了数以百万计的不同模板——每一个可以辨识的不同物体或模式,都有一个与之匹配的模板存在。本书结合局部特征的特点和模板匹配的原理,提出了一种图像检索方法。如果局部特征和模板匹配的数量越多,则该幅图像和查询图相似的程度就越高。显然,模板匹配并不完全适合知觉原理的实际应用。......
2023-06-28
1988年kass等人提出的基于能量函数的活动轮廓模型,即Snake模型,便是一种典型的自由式变形模板模型。Snake模型是一种有效地寻找目标轮廓的搜索算法,具有良好的提取、跟踪特定区域内目标边缘的能力,工作过程主要是利用能量最小化原理。实现Snake模型原型的算法通常十分复杂,曲线收敛速度慢且搜索范围有一定限制,因此许多学者提出了不同的算法,对经典Snake模型进行了改进。......
2023-11-24
指在事务处理系统中单独承担文件职责,或者作为文件的重要组成部分出现的数据库数据对象。“源程序”表明版权归属,对于软件开发者具有重要的保存价值。含上述两种以上信息形式的文件为“多媒体文件”。......
2023-12-01
由第5章内容可知,二维DCT运算可以转化成DFT运算,然后取结果的实部作为DCT变换的结果。DCT基可以设计任何大小的内插模板,而不限于2的整数次幂。以上面傅里叶基构造的结果直接得到DCT基滤波器H和对应的非重叠模板。图8-1c对应的定制H1/3如下,其反变换即为非重叠模板T1/3。......
2023-06-23
模板拆除对混凝土质量、工程进度和模板重复使用的周转率都有直接影响。应正确掌握拆模时间,爱惜模板,注意拆模时的安全。对于非承重的侧面模板,当混凝土强度达到25×105Pa以上、且表面和棱角不因拆模而损坏时,才能拆模。在遇冷风、寒潮袭击时,应避免拆模;在低气温下,应力求避免早晚和夜间拆模。按照模板锚固情况,分批拆除锚固连接件,以防止大片模板坠落,发生事故和模板损坏。......
2023-06-29
相关推荐