SDI(单文档界面)
- 格式:doc
- 大小:46.50 KB
- 文档页数:2
1.Windows 窗体布局选项如果曾经使用过基于 Windows 的应用程序,您可能已注意到并非所有用户界面的外观或行为都相同。
有三种主要样式:∙单文档界面 (SDI)∙多文档界面 (MDI)∙资源管理器样式界面SDI 界面的一个示例是 Microsoft Windows 中包括的“写字板”应用程序。
在“写字板”中,只能打开一个文档;必须先关闭一个文档才能打开另一个文档。
写字板,单文档界面 (SDI) 应用程序Microsoft Excel 是 MDI 界面的一个示例;它允许同时显示多个文档,每个文档在其自己的窗口中显示。
通过是否在程序中包含“窗口”菜单且该菜单中具有用于在窗口或文档之间进行切换的命令,即可识别 MDI 应用程序。
Microsoft Excel,多文档界面 (MDI) 应用程序在确定哪种界面样式最适合时,需要考虑应用程序的用途。
处理保险索赔的应用程序可能适合于 MDI 样式,因为职员可能一次处理多份索赔或需要对两份索赔进行比较。
而日历应用程序最适合于 SDI 样式,因为需要一次打开多个日历的可能性不大;在极少数情况下需要这样做时,可打开 SDI 应用程序的第二个实例。
SDI 样式是 Windows 应用程序较常用的布局选项。
创建 MDI 应用程序时有许多独特的注意事项和技巧,这些注意事项和技巧将在多文档界面 (MDI) 应用程序中讲述。
第三种界面样式“资源管理器样式”界面的使用也日益广泛。
资源管理器样式界面是包含两个“窗格”或区域的单个窗口,通常由左侧的树或分层视图以及右侧的显示区域组成,与“Mi crosoft Windows 资源管理器”一样。
此类界面适合于定位或浏览大量的文档、图片或文件。
Windows 资源管理器,资源管理器样式界面。
MFC类库是一个层次结构,主要有CObject类、应用程序类、可视对象类、绘图和打印类、通用类、数据库类、Internet和网络类、OLE类。
(1)CObject类CObject类是MFC的抽象基类,MFC中的大多数类是从CObject类派生出来的。
它是MFC 中多数类和用户自定义的根类,该类为程序员提供了希望融入所编写程序的许多公共操作,包括对象的建立和删除、串行化支持、对象诊断输出、运行时信息以及集合类的兼容等。
CObject类的声明在Afx.h中。
(2)应用程序结构类该类主要用于构造框架应用程序的结构,提供了多数应用程序公用的功能.编写程序的任务是填充框架,添加应用程序专有的功能。
1.应用程序和线程支持类CWinThread类是所有线程的基类,窗口应用程序类CWinApp类就是从该类中派生来的。
每个应用程序有且只有一个应用程序对象,在运行程序中该对象和其他对象相互协调,该对象从CWinApp中派生出来。
该类封装了初始化、运行、终止应用程序的代码。
2.命令相关类CCmdTarget类是CObject的子类,它是MFC所有具有消息映射属性的基类。
消息映射规定了当一对象接收到消息命令时,应调用哪个函数对该消息进行处理。
程序员很少需要从CCmdTarget类中直接派生出新类,往往都是从它的子类中派生出新类。
如窗口类(CWnd)、应用程序类(CWinApp)、文档模板类(CDocTemplate)、视类(CView)及框架窗口类(CFrameWnd)等。
3.文档类文档对象由文档对象模板创建,用于管理应用程序的数据。
视图对象表示一个窗口的客户区,用于显示文档数据并允许读者与之交互。
有关文档/视结构的类如下:①CDocTemplate类:文档模板的基类。
文档模板用于协调文档、视图和框架窗口的创建。
②CSingleDocTemplate类:单文档界面(SDI)的文档模板。
③CMultiDocTemplate类:多文档界面(MDI)的文档模板。
AUTOCAD中几个特殊的系统变量或命令AUTOCAD的版本一跃千里,版本已更新到2004,平时在使用中有些变量或命令如能熟练掌握,也可为我们解决许多意想不到的麻烦。
下面就来详细介绍几个。
1、MBUTTONPAN 系统变量控制定点设备第三按钮或滑轮的动作响应。
0 支持菜单 (.mnu 文件定义的动作1 当按住并拖动按钮或滑轮时,支持平移操作默认为平移操作。
IntelliMouse 或其他滑轮鼠标IntelliMouse 是一种双按钮鼠标,在两个按钮之间有一个滑轮。
左右按钮的功能和标准鼠标一样。
滑轮可以转动或按下。
不用任何 AutoCAD 命令而直接使用滑轮就可以缩放和平移图形。
默认情况下,缩放比例设为 10%;每次转动滑轮都将按 10% 的增量改变缩放级别。
ZOOMFACTOR 系统变量控制滑轮转动(无论向前还是向后)的增量变化。
其数值越大,增量变化就越大。
下表列举了 AutoCAD 支持的 IntelliMouse 动作。
2、MINSERT 命令在矩形阵列中插入一个块的多重引用。
使用 MINSERT 命令插入的块不能被分解。
注意:在插入过程中,不能象使用INSERT 命令那样在块名的前面用星号来分解块对象。
在指定插入点位置之前,插入点处的选项将预置块的比例和旋转角。
对于使用 1 和 0 之外的比例因子和旋转角来拖动块,预置非常有用。
其它相关命令:INSERT、ADCENTER、REFEDIT。
3、XPLODE 命令将合成对象分解成它的部件对象。
合成对象由多个(一个以上)AutoCAD 对象组成。
例如,块就是一个合成对象。
可以同时分解多个合成对象并分别修改每个对象的颜色、图层和线型,或者全局性的修改整个选择集。
可以指定颜色、图层线宽和线型,或者从被分解的对象中继承这些属性。
可以使用绝对值相等的缩放比例分解块。
绝对值相等表示如果将缩放比例值前的负号 (- 删除,则比例值相等。
例如,可以使用值分别为 1、-1、1 的X、Y、Z 比例因子分解块,包括被镜像的块。
原创]C++builder组件属性详解尽管C++Builder的组件种类繁多,每种组件又都有许多不同的属性,但是在这些众多的属性中有相当一部分是大多数组件所共有的。
因此我们应当主要掌握这些共有组件。
在设计时设置属性一般是通过属性窗口来进行的。
在属性窗口设置组件属性的操作步骤如下:1)打开相应对象的属性窗口。
2)从属性列表中选定属性名称。
3)在属性窗口的右列输入或选择新的属性值。
注意:有些属性在设置值右侧有…按钮,单击该按钮会出现相应的设置对话框,设置值需要在对话框中选定。
在代码中设置组件属性的方法是:对象名称->属性名称=设置值;下面我们来介绍一些主要组件的主要属性。
窗体form的属性:1.Caption:标题。
是窗体和各种可视化控件的共有属性,用来指定窗体标题栏中的说明文字,默认与控件名相同,但程序员可以在对象监视器和代码中修改。
在代码中修改的格式为:Form->Caption = "da";// da表示程序员输入的标题。
通常,对于Windows系统中的多文档界面( MDI )应用程序,当主框架窗口中的子窗口以最大化显示的时候,应用程序的标题栏中显示的内容为“ <应用程序名> - <打开的文档名>”;当子窗口以非最大化窗口显示的时候,主框架窗口中只显示应用程序的名称,子窗口有自己的标题栏,其中显示该窗口打开的文件名。
所以,当窗体的显示方式发生了改变后,应该立即改变标题栏中的内容。
2.Name:变量名。
是窗体和所有控件的共有属性,系统给予其默认名字,但程序员可以在对象监视器修改,不要在代码中修改。
通常,应该在系统开发的设计阶段就将整个工程中所有窗体的名称确定,然后在编程阶段,根据设计文档修改窗体的Name属性。
一般情况下,不要在程序运行期间通过代码修改Name属性。
3.Enabled:可操作性。
决定了对象在运行时是否允许用户进行操作。
它是逻辑型:true表示允许用户操作并可对其操作作出响应;false表示禁止用户操作,此时对象呈灰色。
mfc单文档例子以下是一个简单的MFC单文档(SDI)应用程序的示例:1. 首先,创建一个新的MFC应用程序项目。
在Visual Studio中,选择“文件”菜单,然后选择“新建”->“项目”。
在“新建项目”对话框中,选择“MFC应用程序”,然后输入项目名称和位置,并单击“确定”。
2. 在“MFC应用程序向导”中,选择“单文档”作为应用程序类型,并单击“完成”按钮。
3. 在生成的代码中,找到`CMainFrame`类。
这是应用程序的主窗口类。
4. 在`CMainFrame`类的`OnCreateClient`函数中,添加以下代码:```cppvoid CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext pContext){// 创建视图窗口m_(_T("My View"), WS_CHILD WS_VISIBLE WS_BORDERWS_HSCROLL WS_VSCROLL, CRect(0, 0, 800, 600), this,ID_VIEW_WIN);}```5. 在`CMainFrame`类的`OnCreate`函数中,添加以下代码:```cppBOOL CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;// 创建工具栏和状态栏CToolBarCtrl tb;CRect rect(0, 0, 800, 24);(WS_CHILD WS_VISIBLE CBRS_TOP CBRS_GRIPPERCBRS_TOOLTIPS CBRS_FLYBY, rect, this, ID_VIEW_TB);m_(WS_CHILD WS_VISIBLE CBRS_TOP CBRS_GRIPPER CBRS_TOOLTIPS CBRS_FLYBY, rect, this, ID_VIEW_TB);m_(this);m_(0, ID_VIEW_STATUSBAR, SBPS_STRETCH, 0);m_(1, ID_VIEW_STATUSBAR2, SBPS_STRETCH, 0);m_(2, ID_VIEW_STATUSBAR3, SBPS_STRETCH, 0);m_(0, SBPS_NORMAL);m_(1, SBPS_NORMAL);m_(2, SBPS_NORMAL);m_(0, _T("Ready"));m_(1, _T("Ready"));m_(2, _T("Ready"));return TRUE;}```6. 编译并运行应用程序。
简述窗体的概念
窗体是指在计算机界面中,用于展示和交互处理的显示区域。
它是构成图形用户界面(GUI)的基本元素,通常呈现矩形或其他规则的几何形状,用户可以通过鼠标或键盘等输入设备与之交互。
窗体在计算机系统中扮演着重要的角色,它能够装载各种程序和应用程序,并将它们的界面呈现给用户。
一个窗体通常由标题栏、边框、菜单栏、工具条、内部控件、滚动条和关闭按钮等组成,用户可以通过这些元素进行各种操作,例如最小化、最大化、移动、调整大小、关闭、打开菜单等等。
窗体可以分为单文档界面(SDI)和多文档界面(MDI)两种。
SDI是指一个窗体仅显示一个文档,而MDI则允许在一个窗体下面显示多个文档,一般用于需要同时操作多个文件的应用程序中,例如文本编辑器、工程管理器等。
Windows操作系统中的窗体通常由钩子函数控制,这些钩子函数负责捕获和处理系统和用户交互事件,确保窗体的正常运行。
使用窗体可以简化用户的操作,提高应用程序的易用性和交互性,同时也可以使得程序更具美感和可读性。
在现代GUI框架中,使用窗体一般需要使用高级编程语言或开发工具,例如C#、、Java、Python、Qt、WPF等,这些语言和工具提供了丰富的控件库和开发工具,使得使用窗体更加便捷和高效。
此外,随着移动设备和平板电脑等多种终端设备的普及,窗体的设计也需要考虑兼容性和自适应性等因素,以适应
不同的屏幕尺寸和终端设备。
总之,窗体是图形用户界面中最基本的元素之一,它是应用程序提供交互和显示的重要场所,可以大大提高应用程序的易用性和交互性,同时也是GUI开发的基础知识之一。
SDI(单文档界面)英文全称Single Document Interface如果使用过基于Windows 的应用程序,也许已经注意到不是所有用户界面看上去或操作起来都一样。
用户界面样式主要有两种:单文档界面(SDI) 和多文档界面(MDI)。
SDI 界面的一个示例就是Microsoft Windows 中的WordPad(记事本)应用程序(图 6.1)。
在WordPad 中,只能打开一个文档,想要打开另一个文档时,必须先关上已打开的文档。
图记事本,一个单文档界面(SDI) 应用程序象Microsoft Excel 和 Microsoft Word for Windows 这样的应用程序就是MDI 界面;它们允许同时显示多个文档,每一个文档都显示在自己的窗口中(图 6.2)。
按照是否包含有能在窗口或文档之间进行切换的子菜单的Windows 菜单项,就能识别出 MDI 应用程序。
图Microsoft Excel,一个多文档界面 (MDI) 应用程序要决定哪种界面样式最好,需要看应用程序的目的。
一个处理保险索赔的应用程序可能要用多文档界面MDI 样式,一个职员很可能会同时处理一个以上索赔,或者需要对两个索赔进行比较。
另一方面,日历程序最好设成SDI(单文档界面)样式,因为不大需要同时打开一个以上日历;在极少的情况下,可以再打开一个单文档界面应用程序的实例。
SDI 样式更常用,《程序员指南》中的大多数实例都采用SDI 应用程序。
关于创建 MDI 应用程序有一些需要单独考虑的问题和技巧,放在本章后面“多文档界面 (MDI) 应用程序”一节。
除了以上两个最常用的界面样式SDI 与MDI 外,第三种界面样式变得越来越流行,这就是资源管理器样式的界面(图 6.3)。
资源管理器样式界面是包括有两个窗格或者区域的一个单独的窗口,通常是由左半部分的一个树型的或者层次型的视图和右半部分的一个显示区所组成,如在Microsoft Windows 的资源管理器中所见到的那样。
SDI协议书1. 引言SDI(Serial Digital Interface)是一种数字串行接口标准,用于视频和音频信号的传输。
SDI协议书旨在定义SDI接口的规范,以确保设备之间的互操作性和信号传输的可靠性。
本文档将介绍SDI协议的基本原理、技术规范、信号传输方式等内容,帮助使用者了解、配置和使用SDI接口设备。
2. SDI接口概述SDI是一种使用同轴电缆传输数字信号的接口标准。
它支持高清视频信号、标清视频信号以及多声道音频信号的传输。
SDI接口在广播、电视制作、视频监控等领域得到广泛应用。
SDI接口采用差分信号驱动的方式进行传输,可以在长距离范围内传输高质量的视频信号,并且对信号传输的稳定性和抗干扰能力要求较高。
3. SDI协议规范SDI协议规范主要包括视频信号参数、音频信号参数、帧格式、时钟同步以及错误检测和纠正等方面。
3.1 视频信号参数•分辨率:SDI接口支持不同分辨率的视频传输,包括720p、1080i、1080p 等。
分辨率的选择需要根据实际应用需求来确定。
•帧率:SDI接口支持不同帧率的视频传输,如25fps、30fps等。
帧率的选择应考虑视频内容的流畅度和实时性要求。
•色彩空间:SDI接口支持不同的色彩空间,包括RGB、YUV等。
色彩空间的选择应根据视频信号的来源和处理需求来确定。
3.2 音频信号参数•采样率:SDI接口支持不同采样率的音频传输,如48kHz、96kHz等。
采样率的选择要考虑音频信号的频率响应和保真度要求。
•位深度:SDI接口支持不同位深度的音频传输,如16位、24位等。
位深度的选择应根据音频信号的动态范围和精度要求来确定。
3.3 帧格式SDI协议定义了视频信号在传输过程中的帧格式,包括起始码、数据传输顺序、行场同步等要素。
这些要素的定义确保了接收端能够正确解析和显示传输过来的视频信号。
3.4 时钟同步在SDI接口中,时钟同步是非常重要的。
它确保了发送端和接收端的时钟保持同步,从而避免信号传输中的抖动和失真现象。
SDI、MDI和拆分窗口文档、视图和单文档界面一、文档/视图结构的程序文档/视图结构的程序不同于传统的MFC应用程序,传统的MFC应用程序体系主要包括两个对象:应用程序对象和主窗口对象,应用程序对象的主要任务是创建程序的主窗口而主窗口对象的任务主要是用来和程序用户进行交互操作。
文档/视图体系的MFC应用程序包括了应用程序对象、框架窗口对象、视图对象和文档对象四个方面。
应用程序对象和传统MFC程序当中的应用程序对象完成类似的任务:创建其余的三个对象;而框架窗口对象创建了程序窗口的框架;视图对象是一个覆盖在框架窗口对象的客户区上方的一个子窗口,在这个子窗口当中程序实现与用户的交互;文档对象主要是用来实现保存程序数据的功能。
在这个体系当中视图对象和文档对象通过文档的公有成员函数实现数据的交互。
使用文档/视图体系的好处在于通过VC所提供的应用程序向导我们可以方便的创建一个应用程序,并且向导将为我们完成程序当中内存数据和磁盘数据交互的过程,我们只需要为整个应用程序添加核心的代码就可以获得一个带有磁盘IO的强大应用程序。
二、文档文档提供了应用程序数据操作的集合,在这个类当中我们封装所有程序所需要的数据,并且为这些数据的修改和读取提供公有成员函数供视图对象和文档对象交互使用。
在文档类当中我们经常需要覆盖的基类成员函数有:OnNewDocument()这个成员函数提供了创建新文档时文档对象的数据初始化过程;之所以不使用文档对象的构造函数来完成这个功能是因为文档对象仅仅在应用程序创建之初才被创建并调用构造函数。
Serialize(CArchive& ar)这个函数提供了文档数据与磁盘IO的交互功能。
文档类当中我们经常使用的基类成员函数有SetModifiedFlag(BOOL)这个函数设置一个修改标志,如果在文档被关闭的时候这个标志为TRUE那么程序会提示用户保存数据;另一个函数是UpdateAllViews(CView *)这个函数通知与文档对象相关联的视图对象刷新他的显示。
文档历史Documents History:编号作者日期描述负责人1 万冰2007-10-08 编写文档万冰2 测试组2007-10-25 更新全部系统截图万冰3 万冰2007-10-30 重写项目背景,改变文档布局万冰4 裴蕾2007-11-2 对文档进行校对万冰5 万冰2007-11-2 更新裴蕾所校对出错误万冰1 项目介绍 (1)1.1 项目背景 (1)1.2 项目目的 (1)1.3 业务实现 (1)1.4 业务流程的重要变化点 (1)1.5 IT 架构变化: (2)2 名称解释 (2)3 服务管理 (3)3.1 送修服务管理 (3)3.1.1 *确认用户信息(系统) (3)3.1.2 *新建维修单(系统) (6)3.1.3 打印取机凭证(系统) (8)3.1.4 进行检验(系统、流程) (9)3.1.5 *技术升级(系统流程) (10)3.1.6 确认故障(系统、流程) (12)3.1.7 确认维修方式(系统) (12)3.1.8 *预约备件(系统) (13)3.1.9 完成检验(系统) (14)3.1.10 *进行维修(系统、流程) (15)3.1.11 *完成维修(系统) (16)3.1.12 通知用户取机(系统) (16)3.1.13 完成取机服务(系统) (17)上门服务流程 (18)3.2 (18)3.2.1 *维修单分派(系统) (18)3.2.2 联系用户(系统) (18)3.2.3 新建服务请求(系统) (18)3.2.4 确认用户信息(系统) (18)3.2.5 *新建维修单(系统) (21)3.2.6 故障判断(系统) (23)3.2.7 技术升级(系统流程) (23)3.2.8 预约备件(系统) (23)3.2.9 完成预约(系统) (25)3.2.10 分派维修(系统) (25)3.2.11 联系用户确定上门时间(系统) (25)3.2.12 上门维修(系统) (26)3.3 SLA及维修单性质识别 (28)3.3.1 预约挂起类维修单 (28)3.3.2 电脑回收单 (29)3.3.3 安装、巡检类维修单 (29)3.3.4 意外保障维修单 (32)3.4 显示器维修流程与SPM3操作流程相同 (32)3.4.1 接收故障显示器(系统) (33)3.4.2 与同城厂商交接故障机(系统) (33)3.4.3 接收故障机(系统) (33)3.4.4 与维修网点交接修复显示器(系统) (33)3.4.5 显示器发货(系统) (34)3.4.6 接收故障显示器(系统) (34)3.4.7 与支持平台交接故障机(系统) (34)3.4.8 与支持平台交接修复显示器(系统) (34)3.4.9 显示器发货(系统) (35)3.4.10 接收显示器(系统) (35)3.4.11 完成显示器维修(系统) (35)3.5 返厂维修流程 (36)3.5.1 接收故障部件(系统) (37)3.5.2 保内返厂(系统) (37)3.5.3 维修网点发货(系统) (37)3.5.4 接收故障件(系统) (37)3.5.5 厂商发货 (37)3.5.6 保外返厂或者返修保修 (38)3.5.7 维修网点发货 (38)3.5.8 接收故障件 (38)3.5.9 厂商接收 (38)3.5.10 厂商发货 (39)3.5.11 平台发货 (39)3.5.12 接收部件 (39)3.5.13 完成返厂维修 (39)3.6 我的维修单 (39)3.6.1 维修单查询 (40)3.6.2 维修单撤单 (41)3.6.3 维修单关单 (41)3.6.4 维修单暂停/继续服务 (41)3.6.5 指派责任人 (42)3.7 排队机号 (43)4 大客户服务管理: (43)4.1 服务请求的建立: (43)4.2 确认客户信息: (44)4.3 确定联系人信息: (49)1项目介绍1.1 项目背景联想阳光服务通过多年的成长,对标准化的服务已完全面向过程进行管理.随着市场竞争的加剧,用户的个性化需求不断增加。
第十七章:读和写文档--MDI应用程序1,MFC库中CMDIFrameWnd类封装了主框架窗口和MDI客户窗口所有的函数(包含了所有Windows MDI消息的消息控制函数),因而完全可以管理它的子窗口(由CMDIChildWnd类对象来表示的)。
2,MDI应用程序中,任何时候只有一个子窗口处于活动状态。
MDI应用程序只有以个菜单和工具栏,其上的所有的命令都被传递到当前活动子窗口中。
主窗口的标题栏中显示活动窗口的文档文件名。
3,MDI应用程序在启动次序上和SDI程序大部分相同。
MDI中被派生类中重载的InitInstance函数与SDI有所不同。
(具体的不同跟踪下代码或见362页啊,我就不抄了)4,MDI应用程序实质:一个MDI应用程序可以使用多个文档类型,并允许同时存在不止一个的文档对象。
比较:SDI中:CSingleDocTemplate* pDocTemplate;pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS(CStudentDoc),RUNTIME_CLASS(CMainFrame), // main SDI frame window RUNTIME_CLASS(CStudentView));AddDocTemplate(pDocTemplate);MDI中:CMultiDocTemplate* pDocTemplate;pDocTemplate = new CMultiDocTemplate(IDR_EX17ATYPE,RUNTIME_CLASS(CStudentDoc),RUNTIME_CLASS(CChildFrame), // custom MDI child frameRUNTIME_CLASS(CStudentView));AddDocTemplate(pDocTemplate);//MDI中AddDocTemplate(pDocTemplate)的调用使得MDI应用程序能够支持多个子窗口,而每个子窗口都与一个文档对象和一个视图对象相连接。
Visual Basic6.0程序设计题型示例参考答案一、选择题(每小题中只有一个选项是正确的)1.A2.C3.C4.C5.D6.B7.D8.B 9.A10.A11.C12.B13.D14.D15.A16.C 17.B18.A19.A20.D21.A22.A23.C24.C 25.A26.C27.D28.D29.C30.C31.C32.B 33.B34.C35.B36.C37.D38.D39.C40.C 41.C42.D43.B44.A45.C46.C47.B48.D 49.D50.D51.B52.C53.B54.D55.D56.C 57.A58.D59.A60.A61.D62.C63.A64.C 65.A66.D67.D68.A69.C70.A71.A72.D 73.C74.A75.D76.B77.D78.B79.A80.B 81.C82.A83.B84.D85.B86.B87.B88.B 89.B90.C91.C92.A93.A94.D95.C96.C 97.D98.C99.D100.D101.A102.D103.D104.C 105.C106.C107.A108.A109.D110.A111.A112.D 113.B114.B115.C116.B117.B118.B119.B120.D 121.C122.B123.D124.C125.C126.D127.D128.D 129.D130.C131.D132.B133.C134.A135.D136.C 137.A138.A139.C140.A141.B142.B143.C144.B 145.A146.A147.B148.D149.D150.B151.D152.C 153.D154.A155.B156.D157.B158.D159.C160.A 161.B162.A163.A164.C165.A166.D167.D168.A 169.D170.A171.B172.D173.A174.C175.D176.B 177.B178.B179.C180.A181.B182.B183.D184.D 185.B186.A187.A188.A189.D190.D191.B192.B 193.B194.A195.B196.D197.C198.B199.C200.D第四部分参考答案201.B202.D203.D204.A205.B206.C207.A208.C 209.B210.B211.B212.C213.D214.D215.B216.D 217.B218.A219.D220.D221.B222.C223.D224.D 225.C226.D227.C228.B229.C230.B231.A232.C 233.A234.B235.D236.C237.A238.B239.C240.B 241.C242.B243.C244.B245.D246.B247.C248.B 249.C250.C251.D252.D253.D254.C255.D256.B 257.B258.A259.B260.B261.C262.A263.B264.B 265.B266.C267.D268.B269.A270.A271.A272.B 273.D274.B275.A276.A277.C278.C279.D280.D 281.B282.A283.C284.A285.D286.B287.C288.A 289.A290.B291.D292.A293.C294.B295.D296.D 297.B298.D299.D300.D301.B302.C303.B304.B 305.D306.B307.C308.B309.A310.A311.B312.D 313.D314.C315.D316.D317.B318.C319.B320.A 321.B322.D323.D324.A325.B326.A327.A328.C 329.C330.B331.A332.C333.B334.D335.B336.D 337.A338.B339.C340.A341.C342.A343.B344.A 345.D346.C347.D348.B349.C350.C351.D352.D 353.B354.C355.A356.D357.A358.D359.D360.C二、判断题1.√2.×3.√4.√5.√6.√7.×8.×9.√10.√11.√12.√13.√14.×15.√16.√17.√18.×19.×20.√21.×22.√23.×24.√25.√26.√27.√28.×29.√30.√31.√32.√33.√34.√35.√36.×37.×38.×39.×40.√41.√42.×43.√44.√45.×46.√47.×48.×49.×50.√51.√52.√53.√54.×55.√56.√57.√58.×59.×60.×61.√62.√63.×64.×65.√66.×67.√68.×69.√70.√71.√72.×73.×74.×75.×76.×77.×78.×79.√80.×81.×82.√83.×84.√85.√86.×87.√88.√89.×90.√91.√92.√93.×94.√95.×96.×97.√98.×99.×100.√三、名词解释题1.对象是系统中的基本运行实体。
SDI接口sdi接口是数字分量串行接口(Serial digital interface)的缩写.串行接口是把数据字的各个比特以及相应的数据通过单一通道顺序传送的接口。
由于串行数字信号的数据率很高,在传送前必须经过处理。
用扰码的不归零倒置(NRZI)来代替早期的分组编码,其标准为SMPTE-259M和EBU-Tech-3267,标准包括了含数字音频在内的数字复合和数字分量信号。
在传送前,对原始数据流进行扰频,并变换为NRZI码确保在接收端可靠地恢复原始数据。
这样在概念上可以将数字串行接口理解为一种基带信号调制。
SDI接口能通过270Mb/s 的串行数字分量信号,对于16:9格式图像,应能传送360Mb/s的信号。
NRZI码是极性敏感码。
用“1”和“0”表示电平的高和低,如果出现长时间的连续“1”或连续“0”,会影响接收端从数字信号中提取时钟。
因为串行数字信号接口不单独传送时钟信号,接收端需从数字信号流中提取时钟信号,所以要采用以“1”和“0”来表示有无电平变换的NRZI码。
接收NRZI码流时,只要检出电平变换,就可恢复数据,即使全是“1”信号,导致的信号频率也只是原来时钟频率的一半,再经过加扰,连续“1”的机会减少,也就使高频分量进一步减少了。
在数据流的接收端,由SDI解码器从NRZI码流恢复原数据流。
SDI接口不能直接传送压缩数字信号,数字录像机、硬盘等设备记录的压缩信号重放后,必须经解压并经SDI接口输出才能进入SDI系统。
如果反复解压和压缩,必将引起图像质量下降和延时增加,为此各种不同格式的数字录像机和非线性编辑系统,规定了自己的用于直接传输压缩数字信号的接口。
a)索尼公司的串行数字数据接口SDDI(SerialDigital Data Interface),用于Betacam-SX 非线性编辑或数字新闻传输系统,通过这种接口,可以4倍速从磁带上载到磁盘。
b)索尼公司的4倍速串行数字接口QSDI(QuarterSerial Digital Interface),在DVCAM 录像机编辑系统中,通过该接口以4倍速从磁带上载到磁盘、从磁盘下载到磁带或在盘与盘之间进行数据拷贝。
MFC ——单文档SDI背景颜色设为黑色的3种方法重载OnEraseBkgndBOOL CTank1View::OnEraseBkgnd(CDC* pDC){// TODO: Add your message handler code here and/or call defaultCBrush brush(R G B(0,0,0));CBrush* pOldOne = pDC->SelectObject(&brush);CRect rc;pDC->GetClipBox(&rc);pDC->PatBlt(rc.left, rc.top, rc.Width(), rc.Height(), PATCOPY);pDC->SelectObject(pOldOne);return TRUE;}也可以BOOL CTank1View::PreCreateWindow(CREATESTRUCT& cs){// TODO: Modify the Window class or styles here by modifying// the CREATESTRUCT csWNDCLASS wndcls;wndcls.cbClsExtra=0;wndcls.cbWndExtra=0;wndcls.hbrBackground= //(HBRUSH)GetStockObject(BLACK_BRUSH);//获取一个黑色的背景画刷CreateSolidBrush(RGB(0,0,0));wndcls.hCursor=LoadCursor(NULL,IDC_ARROW);wndcls.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndcls.hInstance=AfxGetInstanceHandle(); //注意用全局函数获取应用程序hInstance句柄wndcls.lpfnWndProc=::DefWindowProc; //必须指定为API函数,不同于CWnd中的DefWindowProc(参数个数不同)wndcls.lpszClassName="BlackBackground";wndcls.lpszMenuName=NULL; //菜单的创建并不是在设计窗口类时创建的,由MFC在构造pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,…) 被创建。
英文全称Single Document Interface
如果使用过基于 Windows 的应用程序,也许已经注意到不是所有用户界面看上去或操作起来都一样。
用户界面样式主要有两种:单文档界面(SDI) 和多文档界面(MDI)。
SDI 界面的一个示例就是Microsoft Windows 中的WordPad(记事本)应用程序(图 6.1)。
在WordPad 中,只能打开一个文档,想要打开另一个文档时,必须先关上已打开的文档。
图记事本,一个单文档界面(SDI) 应用程序
象Microsoft Excel 和 Microsoft Word for Windows 这样的应用程序就是MDI 界面;它们允许同时显示多个文档,每一个文档都显示在自己的窗口中(图 6.2)。
按照是否包含有能在窗口或文档之间进行切换的子菜单的Windows 菜单项,就能识别出 MDI 应用程序。
图Microsoft Excel,一个多文档界面 (MDI) 应用程序
要决定哪种界面样式最好,需要看应用程序的目的。
一个处理保险索赔的应用程序可能要用多文档界面MDI 样式,一个职员很可能会同时处理一个以上索赔,或者需要对两个索赔进行比较。
另一方面,日历程序最好设成SDI(单文档界面)样式,因为不大需要同时打开一个以上日历;在极少的情况下,可以再打开一个单文档界面应用程序的实例。
SDI 样式更常用,《程序员指南》中的大多数实例都采用SDI 应用程序。
关于创建 MDI 应用程序有一些需要单独考虑的问题和技巧,放在本章后面“多文档界面 (MDI) 应用程序”一节。
除了以上两个最常用的界面样式SDI 与MDI 外,第三种界面样式变得越来越流行,这就是资源管理器样式的界面(图 6.3)。
资源管理器样式界面是包括有两个窗格或者区域的一个单独的窗口,通常是由左半部分的一个树型的或者层次型的视图和右半部分的一个显示区所组成,如在Microsoft Windows 的资源管理器中所见到的那样。
这种样式的界面可用于定位或浏览大量的文档、图片或文件。
图Windows 的资源管理器,资源管理器样式的界面
除了本章所附的 MDI 与SDI 应用程序示例,实用程序向导还提供了一种比较界面样式差别的方法。
可以用向导来为每一种样式生成一个框架,然后观察它生成的窗体与代码。
此外,在AUTO CAD绘图程序中,有SDI 口令,通过该口令可以设置CAD程序是当文档显示或多文档显示。
SDI有0、1两个值。
当设置为0时,为单文档显示;设置为1时为多文档显示,即每次打开一个图形文件,都会启动一次CAD程序。