实验10 多文档界面程序设计

合集下载

7.多文档界面设计

7.多文档界面设计
常数 vbCascade vbTileHorizontal vbTileVertical vbArrangeIcons 值 0 1 2 3 描述 层叠所有非最小化 水平平铺所有非最小化 垂直平铺所有非最小化 重排最小化
MDI窗 体事例
计算机应用基础 Visual Basic 程序设计
5.MDI事件——QueryUnload事件
MDI子窗体主要是显示应用程序的文档,因此,在该窗体上应 有文本框,也可以有菜单栏。 创建: 将一个普通窗体的MDIChild属性设置为True,即可创建 MDI子窗体。若要创建多个子窗体,
方法一:重复进行以上操作。
方法二:可通过窗体类来实现,即可先创建一个子窗体作为这个应 用程序文档的模板,然后通过对象变量来实现。
计算机应用基础 Visual Basic 程序设计
2.常用格式化属性
格式化属性,可对该控件中选中的任何部分的文本使用不同的格式。
分类 选中文本 字体、字号 字型 上、下标 颜色 缩排 对齐方式 属性 SelText SelStart SelLength SelFontName SelFontSize 逻辑量 下划线 删除线 整型 整型 数值型 整型 缩排单位以 ScalMode 决定 0 左 1 右 2 中 >0 上标 <0 下标 以 Twip 为单位 值类型 说明 意义同 Text 控件对应属性 同上 粗体 斜体
计算机应用基础 Visual Basic 程序设计
一、在ImageList控件中添加图像
ImageList控件不单独使用,专门为其他控件提供图像库。
索引(Index)与关键字(Key)
是为了便于在ToolBar中给每 个按钮添加图片用。
在ToolBar中引用图像文件的

《VC++程序设计》实验指导体系

《VC++程序设计》实验指导体系

VC++程序设计实验指导体系计算机教学实验中心2002目录第一部分基本实验 (4)实验一、Visual Studio集成环境及C++程序的输入、调试和运行 (4)实验二、面向对象程序设计(4学时,分2次完成) (5)实验三、基本WINDOWS应用程序编程(6学时,分3次完成) (5)第二部分综合实验 (7)实验四、文档/视图结构程序设计(6学时,分3次完成) (7)实验五、对话框应用程序设计(2学时,分2完成) (7)第三部分选作实验 (8)1.图示排序过程(冒泡排序法) (8)2.改进的人事管理系统 (8)3.编写一个公司产量图示程序。

(9)4.简单翻译程序 (9)5.编写一个绘图程序 (10)6.编写一个机械机构的运动仿真程序。

(10)7.编写一个赛车游戏程序。

(11)8.编写一个金鱼游戏程序。

(11)9.编写一个模拟录像机的程序。

(12)10.编写一个模拟时钟程序。

(12)11.设计一个壁球程序。

(13)12.编写一个接金子游戏程序。

(13)13.编写一个爆破人游戏程序。

(13)14.编写一个五子棋游戏程序。

(14)15.编写一个单项选择题的考试系统程序。

(14)16.编写一个猫捉老鼠游戏程序。

(15)17.编写一个改进的吹泡泡程序 (16)18.编写打字练习游戏 (16)19.编写一个赛马游戏程序。

(17)20.编写一个背单词程序。

(17)21.编写一个走迷宫游戏程序。

(18)22.编写一个苹果棋游戏程序。

(18)23.编写一个飞碟射击游戏程序。

(19)24.编写一个飞碟射击游戏程序。

(19)25.编写文本阅读器程序,可以显示文本文件(后缀名为TXT)的内容。

(20)26.编写一个简易俄罗斯方块游戏程序。

(20)27.贪吃的蛇(L V J UN) (21)28.图示梵塔过程 (21)29.人事管理 (22)30.编写简易C程序编辑器 (23)31.加减法判卷程序 (23)《程序设计》实验指导书使用说明教材《VC+ +面向对象与程序设计》的一个特色就是包含了实验指导书,其中每章的调试技术、程序设计举例、上机练习题目即为实验指导书的内容;调试技术:介绍Developer Studio集成开发环境的使用方法,以及如何调试、连接和运行Visual C++应用程序项目。

实验九 界面设计

实验九 界面设计

实验九界面设计一、实验目的1. 熟悉菜单、通用对话框、多文档界面(MDI)、工具栏等界面设计的方法。

2. 掌握界面的设计和对对象编写代码。

二、实验内容1. 设计制作普通菜单和弹出菜单。

2. 设计制作工具栏。

3. 利用“应用程序向导”制作多文档界面(MDI)应用程序。

三、实验步骤及指导1. 制作菜单将实验四(常用控件)和实验七(数组)中的部分实验项目合并为一个多窗体工程,在工程中设计一个含有菜单栏的主窗体,通过菜单统一管理各实验项目程序的运行。

(1)设计主窗体界面新建工程,将窗体Form1的名称改为frmMain作为主窗体,以“菜单.vbp”为名称保存工程。

用菜单编辑器为主窗体设计菜单,菜单结构如表9-1所示。

注意主菜单标题“弹出菜单”下的菜单项为菜单控件数组,名称为mnuSub,索引为0,标题为空。

表9-1 主窗体菜单结构(2)添加各实验项目窗体单击工具栏“添加窗体”按钮,在“添加窗体”对话框中选择“现存”选项卡,根据上述菜单结构,将实验四(常用控件)和实验七(数组)中有关实验项目的窗体添加到本工程中,注意不能有名称(Name)相同的窗体。

建议:为了对工程中的文件进行统一管理,减少程序移植运行时出错的机会,最好将本工程用到的所有文件存放在同一文件夹下。

(3)编写代码在菜单栏中,用于启动各实验项目窗体的菜单项分别位于主菜单标题“常用控件”和“数组”之下。

程序代码的任务主要是响应菜单栏中各菜单项的单击事件以及弹出式菜单的创建和激活。

响应菜单项单击事件。

菜单项单击事件过程的代码很简单,只需显示对应的窗体即可。

例如,在“秒表”菜单项的单击事件mnuTimer_Click过程中加入以下代码即可显示秒表窗体。

frmTimer.Show 创建弹出式菜单。

弹出式菜单只能显示位于同一个主菜单标题下的菜单项,要想在一个弹出式菜单中显示来自不同菜单标题的菜单项,需要进行特殊处理。

处理的方法很多,本例采用动态创建弹出式菜单项的方法。

第16章多文档界面程序

第16章多文档界面程序

成员函数) 描述线段的类 (成员函数)
CLine(){} CLine(POINT from, POINT to, COLORREF color, int width); CLine& operator=(CLine& line); void Serialize(CArchive& ar); void DrawLine(CDC *pDC); virtual ~CLine(){} DECLARE_SERIAL(CLine); };
上机练习题
完善例16-3的绘图程序 , 包括改善界面 ( 如设计 的绘图程序, 包括改善界面( 完善例 的绘图程序 专用图标, 完善菜单等) 专用图标 , 完善菜单等 ) 、 加上绘制其他图形的 功能等。 功能动视图 。 , 并使用滚动视图。 将吹泡泡程序的结构改为
生成一个MDI程序框架 , 在 程序框架, 用 AppWizard生成一个 生成一个 程序框架 步打开Advanced Options(高级选项) 第4步打开 步打开 (高级选项) 对 话 框 , 在 Document Template Strings ( 文 档 模 板 字 符 串 ) 选 项 卡 中 将 File extension( 文件扩展名 ) 设置为 “ pic”, ( 文件扩展名) 设置为“ , 即该程序的图形文件名后缀为“ 即该程序的图形文件名后缀为“.pic”。 。
视图类
数据修改(鼠标消息) 数据修改(鼠标消息) Down Move Up UpdateAllViews(this); //MDI特殊用法 菜单 菜单界面更新
16.2 滚动视图
滚动视图类CScrollView 滚动视图类 重要方法 SetScrollSizes() 坐标转换
调试技术

VB实验4MDI窗体及工具栏

VB实验4MDI窗体及工具栏

第9页
二、预备知识
目的和要求 预备知识
上一页 下一页 退出
(4)在工具栏中插入 按钮并设置图标等属性
选择工具栏“属性页” 对话框中的“按钮”选 项卡, 单击“插入按钮” 按钮, Visual Basic就 会在工具栏上显示一个 空白按钮, 如图所示。 重复此步骤插入多个按 钮。
第10页
二、预备知识
退出
第12页
二、预备知识
目的和要求 预备知识
上一页 下一页 退出
5.工具栏常用方法 Add方法
在工具栏上添加按钮,语法格式如下: <工具栏名>.Button.Add <索引>[,<关键字>,<标题 >,<样式>,<图像>]
Remove方法 删除工具栏上的按钮,语法格式如下:
<工具栏名>.Button.Remove <索引>
Visual Basic允许用户创建自己的工具栏,工 具栏为用户提供了应用程序中最常用的菜单命令 的快速访问方法,进一步增强应用程序的菜单界 面。
创建工具栏,需要使用ActiveX控件中的工具栏 (Toolbar)控件和图像列表(ImageList)控件。 在Visual Basic标准工具箱里没有ActiveX控件, 用时必须添加。添加过程如下:
为MDI应用程序创建工具栏,用工具栏上的按钮 来访问子窗体。
第14页
三、实验内容
目的和要求 预备知识
上一页 下一页
• 实验4-1 • 实验4-2 • 实验4-3
退出
第15页
目的和要求 预备知识
上一页 下一页 退出
实验4-1
【题目】
运用菜单方式访问MDI窗体的子窗体。编制一 个应用程序, 包含一个MDI多文档界面窗体, 并包 含“诗歌欣赏”、“日期显示”及“字效设置”三 个子窗体。在MDI窗体中每次只能显示一个子窗 体, 并运用菜单项选择子窗体的显示。

《Visual Basic程序设计基础与实训教程》第8章:多文档界面

《Visual Basic程序设计基础与实训教程》第8章:多文档界面

图8.3 子窗体未最大化
图8.4 子窗体已最大化
/webnew/
3.启动、卸载窗体 3.启动、卸载窗体
(1)设置启动窗体 在缺省情况下, 在缺省情况下,应用程序中的第一个窗体被指定为启动 窗体。当应用程序开始运行时,此窗体就被显示出来, 窗体。当应用程序开始运行时,此窗体就被显示出来,该窗 体的Form_Initialize 事件中的代码被最先执行。 体的 Form_Initialize 事件中的代码被最先执行 。 如果想在 Form_Initialize事件中的代码被最先执行 应用程序启动时显示别的窗体,那么就得改变启动窗体。 应用程序启动时显示别的窗体,那么就得改变启动窗体。这 可以通过单击【 工程】 可以通过单击 【 工程 】|【 工程属性 】 命令 , 打开 【 工程属 工程属性】命令, 打开【 性】对话框,在该对话框中选择【通用】选项卡,在该对话 对话框,在该对话框中选择【通用】选项卡, 框【启动对象】栏的下拉列表中选择要作为新启动窗体的窗 启动对象】 体,然后单击【确定】按钮使设置有效。 然后单击【确定】按钮使设置有效。
/webnew/
某个窗体是什么类型,可以通过【工程资源管 某个窗体是什么类型,可以通过【 理器】窗口的图标体现出来,如图8.2所示。 8.2所示 理器】窗口的图标体现出来,如图8.2所示。
标准窗体 MDI 子窗体 MDI 窗体
图8.2 从【工程资源管理器】窗口可以查看窗体类型
/webnew/
5.设置子窗体的大小和位置
如果MDI子窗体具有大小可变的边框(即 如果 子窗体具有大小可变的边框( 子窗体具有大小可变的边框 BorderStyle=2),在其装载时可以确定其初始 ),在其装载时可以确定其初始 ), 的高度、宽度和位置。具有这种属性的子窗体, 的高度、宽度和位置。具有这种属性的子窗体, 其初始大小与位置取决于MDI窗体的大小,而 窗体的大小, 其初始大小与位置取决于 窗体的大小 不是设计时子窗体的大小。 MDI子窗体的边框 不是设计时子窗体的大小。当MDI子窗体的边框 大小不可变( BorderStyle=0、 大小不可变(即BorderStyle=0、1或3)时,则 它将用设计时的Height和Width属性载入。 它将用设计时的Height和Width属性载入。 Height 属性载入

界面操作实验报告

界面操作实验报告

一、实验目的1. 熟悉计算机操作系统的界面操作方法。

2. 掌握常用软件的界面布局和功能。

3. 提高计算机操作技能,提高工作效率。

二、实验内容1. 系统界面操作2. 常用软件界面操作3. 界面布局调整三、实验环境1. 操作系统:Windows 102. 显示器:19201080分辨率3. 主机:Intel Core i5处理器,8GB内存4. 常用软件:Microsoft Office、Adobe Photoshop、浏览器等四、实验步骤及结果1. 系统界面操作(1)桌面操作1)打开桌面,观察桌面布局,包括桌面图标、任务栏、系统托盘等。

2)对桌面图标进行操作,如新建、重命名、删除等。

3)调整桌面布局,如排列图标、调整任务栏位置等。

(2)开始菜单操作1)打开开始菜单,观察菜单内容,包括常用程序、所有程序、设置等。

2)启动常用程序,如计算器、记事本等。

3)打开所有程序,查看所有安装的程序。

(3)任务栏操作1)查看任务栏,了解任务栏的组成,如任务栏图标、通知区域等。

2)调整任务栏显示,如隐藏任务栏、固定任务栏等。

3)切换任务,如切换至其他应用程序。

2. 常用软件界面操作(1)Microsoft Office1)打开Word,观察界面布局,包括标题栏、菜单栏、工具栏、编辑区等。

2)创建文档,输入文字,保存文档。

3)调整文档格式,如字体、字号、段落等。

(2)Adobe Photoshop1)打开Photoshop,观察界面布局,包括菜单栏、工具箱、图层面板、历史记录面板等。

2)新建图片,调整图片大小、分辨率等。

3)使用工具箱中的工具进行图片编辑,如裁剪、填充、图层操作等。

(3)浏览器1)打开浏览器,输入网址,访问网页。

2)浏览网页内容,如阅读文章、观看视频等。

3)保存网页,如保存网页图片、保存网页链接等。

3. 界面布局调整1)调整窗口大小,如最大化、最小化、还原等。

2)调整窗口位置,如拖动窗口至屏幕边缘、使用窗口缩放功能等。

第二章 多文档程序设计

第二章 多文档程序设计

学习目标:✧理解文档视图结构处理的方式。

✧懂得.net下MDI程序的设计。

2.1多文档程序设计:2.1.1文档/视图结构:在文档视图结构里,文档是一个应用程序数据基本元素的集合,它构成应用程序所使用的数据单元,另外它还提供了管理和维护数据的手段。

文档对象负责来自所有数据源数据的管理。

数据源的分类:文档、磁盘文件、数据库等。

视图是数据的用户窗口,为用户提供了文档的可视的数据显示,它把文档的部分或全部内容在窗口中显示出来。

每个文档都会有一个或多个视图显示,一个文档可以有多个不同的视图。

在文档视图结构里,文档和视图分别进行独自的处理。

2.1.2文档/视图结构拘程序的类型:两种基于文档视图结构程序的程序:基于文档视图结构的单文档界面(SDI)应用程序。

基于文档视图结构的多文档界面(MDI)应用程序。

1.基于文档视图结构的单文档界面(SDI)应用程序:在单文档界面程序中(SDI)中,用户在同一时刻只能操作一个文档。

2.基于文档视图结构的多文档界面(MDI)应用程序:在多文档界面应用程序(MDI)中,但它允许同时操作多个文档。

2.1.3文档/视图结构拘的应用:1.文档视图结构(及程序)的优点:《1》简化了应用程序的设计开发过程;《2》将数据操作和数据显示、用户界面分离开,使模块划分更加合理、模块独立性更强,同时也简化了数据操作和数据显示、用户界面工作。

《3》便于系统扩展和重构。

程序文档主要负责数据管理,不涉及用户界面;视图主要负责数据输出和用户界面的交互。

2.文档视图结构的适用范围:有大量数据数据要进行处理的场合下。

中处理多文档程序的相关知识:2.2.1MDI父窗体和子窗体:在.NET中,多文档界面应用程序的基础是MDI父窗体,它是包括MDI子窗口的窗体,MDI子窗口是用户与MDI应用程序在其中进行交互的子窗口。

在.NET中MDI父窗体唯一的要求是将窗体的ISMdiContainer 属性设置为True。

2.2.2设置窗体为MDI主窗体:IsMdiContainer:该值指示窗体是否为多文档界面(MDI)子窗体的容器。

VB实验报告1-9

VB实验报告1-9

实验一:设计简单的VB 应用程序一、实验目的1.掌握Visual Basic 启动和退出的方法。

2.熟悉Visual Basic 的集成开发环境。

3.掌握Visual Basic 程序设计的基本步骤,了解VB 程序的编写、保存和编译的方法过程。

4.初步了解几个常用基本控件控件(标签、命令按钮和文本框)的使用方法。

二、实验类型综合三、实验时间:2012-3-9四、实验任务1、启动Visual Basic ,然后创建一个“标准 EXE ”工程(保存在D 盘以自己学号命名的文件夹中,文件名和窗体名均为SJT ),并了解Visual Basic 集成开发环境下各组成部分及其作用。

2、编一程序,计算任意输入的正整数的平方根。

3、编写一个应用程序,界面如图1-1所示。

窗体中文字“VB 应用程序!”为一标签控件,单击标题为“放大”的命令按钮,则“VB 应用程序!”的字号放大一号,单击“缩小”按钮则反之;同时,窗体中还有4个含某种指向图案的按钮,若单击某个按钮,则使“VB 应用程序!”向该按钮所指向的方向移动50Twip 。

(提示:四种指向的图案可以在Visual Basic 安装目录中的“…graphics\icon\Arrows ”子目录中找到,名称分别为arw07dn.ico 、arw07lt.ico 、arw07rt.ico 和arw07up.ico )五、实验要求 写出实验报告,内容是:1、第1小题的操作步骤2、第2、3题1).程序的界面设计。

2).程序主要代码。

3).运行结果(输入与输出)。

4).实验总结。

(写上你自己的总结。

可以从以下几个方面来总结:你在编程过程中花时多少?时间是怎么分配的?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?)图1-1 实验1-2程序运行实验二:数据的输入和输出一、实验目的1.掌握常量和变量、表达式的基本概念和正确书写格式。

2.掌握基本语句(Print语句、赋值语句、Dim语句等)的使用;3、掌握常用函数的正确使用方法;4、掌握数据的动态输入InputBox和信息提示MsgBox的基本使用方法。

多文档窗体实验报告

多文档窗体实验报告

精通C#与.NET4.0数据库开发实验报告实验题目:多文档窗体专业计算机科学与技术学生姓名班级学号教师指导单位日期教师评语教师签名:年月日成绩评定备注一、实验目的1. 学会在Visual Studio 2010中创建多文档应用程序。

2. 学会在多文档窗体添加子窗体到父窗体。

3. 学会操作、排列子窗体。

二、实验环境Visual Studio 2010三、实验内容例6-1:源代码:public partial class FrmMDIMain : Form{private int childFormNumber = 0;public FrmMDIMain( ){InitializeComponent( );}private void ShowNewForm(object sender, EventArgs e){Form childForm = new Form( );childForm.MdiParent = this;childForm.Text = "窗口 " + childFormNumber++;childForm.Show( );}private void OpenFile(object sender, EventArgs e){OpenFileDialog openFileDialog = new OpenFileDialog( );openFileDialog.InitialDirectory =Environment.GetFolderPath(Environment.SpecialFolder.Personal);openFileDialog.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (openFileDialog.ShowDialog(this) == DialogResult.OK){string FileName = openFileDialog.FileName;}}private void SaveAsToolStripMenuItem_Click(object sender, EventArgs e) {SaveFileDialog saveFileDialog = new SaveFileDialog( );saveFileDialog.InitialDirectory =Environment.GetFolderPath(Environment.SpecialFolder.Personal);saveFileDialog.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (saveFileDialog.ShowDialog(this) == DialogResult.OK){string FileName = saveFileDialog.FileName;}}private void ExitToolsStripMenuItem_Click(object sender, EventArgs e) {this.Close( );}private void CutToolStripMenuItem_Click(object sender, EventArgs e){}private void CopyToolStripMenuItem_Click(object sender, EventArgs e){}private void PasteToolStripMenuItem_Click(object sender, EventArgs e) {}private void ToolBarToolStripMenuItem_Click(object sender, EventArgs e) {toolStrip.Visible = toolBarToolStripMenuItem.Checked;}private void StatusBarToolStripMenuItem_Click(object sender, EventArgs e) {statusStrip.Visible = statusBarToolStripMenuItem.Checked;}private void CascadeToolStripMenuItem_Click(object sender, EventArgs e) {LayoutMdi(MdiLayout.Cascade);}private void TileVerticalToolStripMenuItem_Click(object sender, EventArgs e) {LayoutMdi(MdiLayout.TileVertical);}private void TileHorizontalToolStripMenuItem_Click(object sender, EventArgs e) {LayoutMdi(MdiLayout.TileHorizontal);}private void ArrangeIconsToolStripMenuItem_Click(object sender, EventArgs e) {LayoutMdi(MdiLayout.ArrangeIcons);}private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e) {foreach (Form childForm in MdiChildren){childForm.Close( );}}private void optionsToolStripMenuItem_Click(object sender, EventArgs e) {}private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e) {}private void tsmiCloseCurFrm_Click(object sender, EventArgs e){Form childForm = this.ActiveMdiChild; //获取当前活动的子窗体if (childForm != null){childForm.Close( ); //关闭子窗体}}}例6-2:(1)源代码:public partial class FrmMain : Form{private int childFormNumber = 0;public FrmMain( ){InitializeComponent( );}private void ShowNewForm(object sender, EventArgs e){Form childForm = new Form( );childForm.MdiParent = this;childForm.Text = "窗口 " + childFormNumber++;childForm.Show( );}private void OpenFile(object sender, EventArgs e){OpenFileDialog ofdlg = new OpenFileDialog( ); //创建OpenFileDialog 对象ofdlg//设置打开文件对话框的默认路径为“我的文档”ofdlg.InitialDirectory =Environment.GetFolderPath(Environment.SpecialFolder.Personal);ofdlg.Filter = "文本文件(*.txt)|*.txt"; //设置只接受txt为扩展名的文件if (ofdlg.ShowDialog(this) == DialogResult.OK) //显示打开文件对话框 {string fileName = ofdlg.FileName; //获取要打开的文件名 FrmReader frm = new FrmReader(fileName); //创建查看文件的子窗体frmfrm.MdiParent = this; //设置子窗体frm的父窗体为当前窗体frm.Show( ); //显示子窗体}}private void SaveAsToolStripMenuItem_Click(object sender, EventArgs e) {SaveFileDialog saveFileDialog = new SaveFileDialog( );saveFileDialog.InitialDirectory =Environment.GetFolderPath(Environment.SpecialFolder.Personal);saveFileDialog.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (saveFileDialog.ShowDialog(this) == DialogResult.OK){string FileName = saveFileDialog.FileName;}}private void ExitToolsStripMenuItem_Click(object sender, EventArgs e){this.Close( );}private void CutToolStripMenuItem_Click(object sender, EventArgs e){}private void CopyToolStripMenuItem_Click(object sender, EventArgs e){}private void PasteToolStripMenuItem_Click(object sender, EventArgs e){}private void ToolBarToolStripMenuItem_Click(object sender, EventArgs e) {toolStrip.Visible = toolBarToolStripMenuItem.Checked;}private void StatusBarToolStripMenuItem_Click(object sender, EventArgs e) {statusStrip.Visible = statusBarToolStripMenuItem.Checked;}private void CascadeToolStripMenuItem_Click(object sender, EventArgs e) {LayoutMdi(MdiLayout.Cascade);}private void TileVerticalToolStripMenuItem_Click(object sender, EventArgs e) {LayoutMdi(MdiLayout.TileVertical);}private void TileHorizontalToolStripMenuItem_Click(object sender, EventArgs e) {LayoutMdi(MdiLayout.TileHorizontal);}private void ArrangeIconsToolStripMenuItem_Click(object sender, EventArgs e) {LayoutMdi(MdiLayout.ArrangeIcons);}private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e) {foreach (Form childForm in MdiChildren){childForm.Close( );}}private void aboutToolStripMenuItem_Click(object sender, EventArgs e){AboutBox dlg = new AboutBox( );dlg.ShowDialog(this);}private Color _ViewBackColor = Color.White; //阅读的背景色字段及默认值private Color _ViewForeColor = Color.Black; //阅读的前景色字段及默认值private Font _ViewFont = SystemFonts.DefaultFont; //阅读的字体字段及默认值//"选项"菜单处理函数,打开SettingDlg,并将新参数更新到已打开的子窗体private void optionsToolStripMenuItem_Click(object sender, EventArgs e) {SettingDlg dlg = new SettingDlg(this._ViewBackColor, //用当前阅读参数创建SettingDlg对象dlgthis._ViewForeColor,this._ViewFont);if (dlg.ShowDialog(this) == DialogResult.OK) //显示参数设置对话框,并等待用户设置{this._ViewBackColor = dlg.GetBackColor( ); //获取用户最新的阅读参数this._ViewFont = dlg.GetFont( );this._ViewForeColor = dlg.GetForeColor( );foreach (Form frm in this.MdiChildren) //遍历所有子窗体 {FrmReader frmRd = frm as FrmReader; //如果子窗体是FrmReader类型if (frmRd != null) //则更新最新参数到子窗体{frmRd.SetViewSettings(this._ViewBackColor,this._ViewForeColor, this._ViewFont);}}}}}(2)源代码:namespace MultiTextReader{partial class AboutBox : Form{public AboutBox( ){InitializeComponent( );this.Text = String.Format("关于 {0} {0}", AssemblyTitle);belProductName.Text = AssemblyProduct;belVersion.Text = String.Format("版本 {0} {0}", AssemblyVersion);belCopyright.Text = AssemblyCopyright;belCompanyName.Text = AssemblyCompany;this.textBoxDescription.Text = AssemblyDescription;}}}四、实验总结通过此次实验,我学会了在Visual Studio 2010中创建多文档应用程序;也基本掌握了在多文档窗体添加子窗体到父窗体的具体方法;对于操作、排列子窗体进行了相应的练习。

实验九:菜单设计和多文档界面

实验九:菜单设计和多文档界面

实验报告学院:专业:年级:姓名:学号:实验室号:_____ 计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验九菜单设计和多文档界面(设计性)一、实验目的(1)掌握:下拉式菜单、弹出式菜单的设计;(2)熟悉:菜单编辑器的使用;(3)掌握:多文档界面应用程序的设计;(4)了解:弹出式菜单的方法应用。

二、实验内容(1)制作一个文本编辑器,包含一个下拉菜单、一个多行文本框。

功能有:新建、打开、保存文本文件、退出文本编辑器。

图9-1 操作内容1(2)制作一个名为“颜色”的下拉菜单,并在窗体上画一个圆。

单击下拉菜单颜色名称,圆就会填充相应颜色。

图9-2 操作内容2(3)建立如图9-3所示用户界面。

要求:点击“图片”下拉菜单中“显示”,在图片框中显示当前文件夹中的指定图片(D:\VBSy\Fish.jpg);点击“清空”,则清除图片框中的图片。

图9-3 操作内容3(4)建立一个设置文本框字号的弹出式菜单,界面如图9-4所示。

图9-4 操作内容4(5)设计一个简易图像、图形处理器。

1)2)各属性、功能如下:图9-5 操作内容5三、实验环境(1)硬件:PC机;(2)软件:Windows 操作系统、V isual Basic 6.0。

四、实验步骤(1)操作内容11)启动VB。

2)在窗体中画一个文本框Text1,设置文本框的MulitiLine属性值为True;打开菜单编辑器,在菜单编辑器窗口中进行菜单属性设置(其中“文件”为顶级菜单。

各控件的其它属性为缺省。

):3)4)编写代码:Private Sub mnuFile_Exit_Click()EndEnd SubPrivate Sub mnuFile_New_Click()Text1.Text = ""Form1.Caption = "新建"End SubPrivate Sub mnuFile_Open_Click()Dim s$, st$Open App.Path & "\File.txt" For Input As #1Do While Not EOF(1)Line Input #1, sts = s & st & vbCrLfLoopClose #1Text1.Text = sEnd SubPrivate Sub mnuFile_Save_Click()Open App.Path & "\File.txt" For Output As #1Write #1, Text1.TextClose #1End Sub5)单击“文件”/“保存工程”菜单项,以Sy9-1.frm和Sy9-1.vbp文件名将窗体和工程文件保存在D:\VBSy文件夹中。

Visual Basic 6.0程序设计教程第10章 多文档界面与工具栏设计

Visual Basic 6.0程序设计教程第10章 多文档界面与工具栏设计
MDI 窗体类似于具有一个限制条件的普通窗体,除非 控件具有 Align属性 (如 PictureBox控件)或者具有不可见界面 (如CommonDialog控件、Timer控件),不能将控件直接放置 在MDI窗体上。
10.1.1 创建多文档界面应用程序
2. 创建和设计MDI子窗体 创建: MDI子窗体是一个MDIChild属性为True的普通窗 体。 要创建多个子窗体,通过窗体类来实现: Public Sub FileNewProc() Static No As Integer Dim NewDoc As New frmMDIChild No = No + 1 NewDoc.Caption = "no" & No NewDoc.Show End Sub
常数 vbCascade vbTileHorizontal vbTileVertical vbArrangeIcons 值 0 1 2 3 描述 层叠所有非最小化 水平平铺所有非最小化 垂直平铺所有非最小化 重排最小化
10.2 工具栏
10.2.1 ToolBar控件
把ToolBar控件添加到工具箱,将 “Microsoft Windows Common Controls 6.0”将控件添加到工具箱,通过ToolBar、 ImageList组合使用建立工具栏,步骤 : 在ToolBar控件中创建Button对象。 在ImageList控件中添加所需的图象 ToolBar控件的ButtonClick()事件程序的编写
MDI子窗体 标准窗体 MDI窗体
10.1.1 创建多文档界面应用程序
1.创建MDI窗体 用户要建立一个 MDI窗体,可以选择“工程”菜单中的 “添加 MDI窗体”命令,会弹出“添加MDI窗体”对话框,

VB实验4MDI窗体及工具栏-精选文档

VB实验4MDI窗体及工具栏-精选文档
第4页
上一页
下一页
退 出
二、预备知识
目的和要求 预备知识
3.工具栏与图像列表
Visual Basic允许用户创建自己的工具栏,工具栏为用 户提供了应用程序中最常用的菜单命令的快速访问方法,进 一步增强应用程序的菜单界面。 创建工具栏,需要使用ActiveX控件中的工具栏 (Toolbar)控件和图像列表(ImageList)控件。在Visual Basic标准工具箱里没有ActiveX控件,用时必须添加。添加 过程如下: 选择“工程”菜单,单击“部件”菜单项,弹出“部件” 对话框。在“部件”对话框的“控件”选项卡中,选择 “Microsoft Windows Common Controls 6.0”,单击“确 定”按钮,关闭“部件”对话框。在标准工具箱中就可以看 到多出的工具栏控件和图像列表控件等。
(5)编写工具栏的ButtonClick事件代码 双击工具栏,编写工具栏的ButtonClick事件 代码,常使用分支结构来完成程序的设计:
Private Sub Toolbar1 ButtonClick(ByVal Button As _ MSComctlLib.Button) Select Case Button.Index Case 1 <要执行的代码> Case 2 <要执行的代码> … End Select End Sub
上一页
下一页
退 出
第11页
二、预备知识
目的和要求 预备知识
上一页
下一页
退 出
Button.Index :表示工具栏按钮的索引,每个 按钮对应一个索引值,单击工具栏上的按钮返回 其按钮的索引值,根据索引值进入相应的 Case 分 支。例如,单击工具栏最左边的按钮, Button.Index值为1,进入Case 1进行事件处理。 当然,也可以用Button.Key来设置分支条件。

多文档界面_Visual Basic 6.0 程序设计_[共4页]

多文档界面_Visual Basic 6.0 程序设计_[共4页]

“网站设计”和“游戏开发”。

然后给每个窗体分别编写下面的代码。

Form1窗体代码为Private Sub Form_Load()Combo1.AddItem "男"Combo1.AddItem "女"End SubPrivate Sub Command1_Click()Me.HideForm2.ShowEnd SubPrivate Sub Command2_Click()EndEnd SubForm2窗体代码为Private Sub Command1_Click()Me.HideForm1.ShowEnd SubPrivate Sub Command2_Click()MsgBox "欢迎" + Form1.Text1.Text + "加入", "注册成功"EndEnd Sub7.3.2 多文档界面1.单文档界面与多文档界面在实际应用中,Windows应用程序主要有两种界面:单文档界面(Single Document Interface,SDI)和多文档界面(Multiple Document Interface,MDI)。

单文档界面并不是指只有一个窗体的界面,单文档界面的应用程序可以包含多个窗体,但各个窗体是相互独立的,它们在屏幕上独立显示、最大化或最小化,与其他窗体无关。

单文档界面应用程序在任何时候只能打开一个文档,要打开另一个文档界面,必须先关闭原来打开的文档界面。

前面我们创建的应用程序都属于单文档界面应用程序。

多文档界面是指应用程序由多个窗体界面组成,但这些窗体不是独立的。

其中只有一个窗体被称为MDI父窗体(简称MDI窗体),其他窗体被称为MDI子窗体。

子窗体的活动范围限制在MDI窗体中,不能将其移动到MDI窗体之外,运行时可以同时打开多个文档界面。

如果MDI子窗体有菜单,则当MDI子窗体为活动窗体时,子窗体的菜单将自动取代MDI窗体的菜单。

多文档应用程序设计课程设计报告

多文档应用程序设计课程设计报告

课程设计报告课程名称:面向对象程序设计设计题目:多文档应用程序设计学院:信息科学与工程学院专业:x级计算机科学与技术姓名:x学号:xXXXXX指导老师:x1、实验目的1)第一个视图类的基类是CEditView,可在第一个Doc应用中手动输入信息。

2)在第二个文档中,画一幅自己设计的图,由5种以上的图形组成。

使用画笔和画刷,画刷定义颜色。

3)在第三个文档中,实现动画画图,从菜单中选择图形,包括圆、矩形、直线和自己设计的图案,之后按下鼠标就拖出一个图形。

使用画笔和画刷,画刷定义颜色。

4)在第四个文档中,单击菜单中的编辑中的简单计算器可以打开对话框。

对话框中实现计算功能。

5)在第四个文档中,单击菜单中的编辑中的信息录入可以打开对话框。

控件分别为编辑框,单选框,列表框,单选按钮,复选框,组合框,翻转按钮。

存放学生姓名,年龄,班级,性别,学号,专业,是否为党员,兴趣爱好,住址,另外设置一个“查看信息”按钮,按下按钮时,每种控件的信息读取后再综合在只读编辑框中显示出来。

6)在第四个文档中实现串行化,可以输入、保存信息。

2、实验过程及步骤1)在VC++6.0应用程序中,创建一个多文档的应用程序Kang,具体过程为:在MFC应用程序向导——步骤4(共6步)的窗口中,单击高级按钮,弹出高级选项对话框,在文件扩展名框中输入“mmd”,在主框标题框中加入“MyMdi”,在MFC应用程序向导——步骤6(共6步)的窗口中,为CMainView类设置基类为CEditView ,其它的都保留默认设置。

第一种文档已经建立完成。

2)在MFC类向导窗口中,单击Add Class按钮,选择New子菜单,弹出New Class 对话框,在Name框中输入新的文档类名称CmyMdiDoc2,在Base class框中输入选择Cdocument,单击OK按钮,则应用程序中增加了CDocument的派生类CMyMdiDoc2。

用同种方法在应用程序中增加CScrollView的派生类CMyMdiView2。

实验六界面设计与多文件程序设计

实验六界面设计与多文件程序设计

实验六界面设计与多文件程序设计实验目的1.掌握控制台应用程序界面设计的方法;2.了解多文件结构的构成;3.掌握多文件程序的设计方法;4.掌握条件编译语句的使用。

实验内容一.带菜单的应用程序界面设计1.如下是一个带菜单的main()函数,请在下划线处填上相应语句,使程序能正确运行。

#include<iostream.h>void main(){int i,k,loc;//ElemType e,x;do {cout<<"\n";cout<<"\n 0. 初始化线性表 " ;cout<<"\n";cout<<"\n 1. 建立线性表 " ;cout<<"\n 2. 在i位置插入元素e";cout<<"\n 3. 删除第i个元素,返回其值";cout<<"\n 4. 查找值为 e 的元素";cout<<"\n 6. 结束程序运行";cout<<"\n======================================";cout<<"\n 请输入您的选择(0,1,2,3,4,6)";cin>>k;switch(_________){case 0:/*{int i;if( i=InitList_Sq( &a))cout<<"ok"<<endl;elsecout<<"error"<<endl;}*/break;case 1:/*{creat_list(&a);out_list(a);} */break;case 2:/*{cout<<"\n i,e=?";cin>>i>>e;ListInsert_Sq(&a,i,e);out_list(a);} */break;case 3:/*{cout<<"\n i=?";cin>>i;ListDelete_Sq( &a, i, e);out_list(a);cout<<"\n e="<<e;} */break;case 4:/*{cout<<"\n e=?";cin>>e;loc=LocateElem_Sq(a,e);if (loc==0)cout<<"\n 未找到 "<<loc;elsecout<<"\n 已找到,元素位置是 "<<loc;} */break;} /* switch */}while(__________);cout<<"\n 再见!";cout<<"\n 打回车键,返回。

[计算机软件及应用]第11章 多文档界面与工具栏设计

[计算机软件及应用]第11章  多文档界面与工具栏设计

1313
11.1.8、多文档界面应用程序中的“窗 口”菜单
要在某个菜单上显示所有打开的子窗体标题, 只需利用菜单编辑器将该菜单的WindowList属性 设置为True。
☆2☆021/8/2第6 11章多文档界面与工具栏设计
1414
例如:多文档应用程序举例。
☆2☆021/8/2第6 11章多文档界面与工具栏设计
☆2☆021/8/2第6 11章多文档界面与工具栏设计
2020
11.1.10 MDI应用程序中的菜单
在 MDI 应用程序中,MDI 窗体和子窗体上都可以建立菜 单。每一个子窗体的菜单都显示在 MDI 窗体上,而不是在子 窗体本身。当子窗体有焦点时,该子窗体的菜单(如果有的 话)就代替菜单栏上的 MDI 窗体的菜单。如果没有可见的子 窗体,或者如果带有焦点的子窗体没有菜单,则显示 MDI 窗 体的菜单。
End Sub
☆2☆021/8/2第6 11章多文档界面与工具栏设计
1717
11.1.9 创建多文档界面应用程序的一般过程
1.创建MDI窗体 用 户 要 建 立 一 个 MDI 窗 体 , 可 以 选 择 “ 工 程 ” 菜 单 中 的 “添加MDI窗体”命令,会弹出“添加MDI窗体”对话框, 选择“新建MDI窗体”或“现存”的MDI窗体,再选择“打 开”按钮。 一个应用程序只能有一个MDI窗体,可以有多个MDI子窗 体。
Visual Basic支持SDI和MDI两种界面样式。
在启动Visual Basic时,可以进入MDI样式,也可以进入SDI样式,以及资源 管理器样式。
方法:
新建工程8/2第6 11章多文档界面与工具栏设计
55
11.1.2 多文档界面设计
1、多文档界面由父窗口和子窗口组成,一个父窗口可包含多个 子窗口,子窗口最小化后将以图标形式出现在父窗口中,而不会 出现在Windows的任务栏中。当最小化父窗口时,所有的子窗口也 被最小化,只有父窗口的图标出现在任务栏中。父窗口就是MDI 窗体,子窗口是指MDChild属性为True的普通窗体。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验10 多文档界面程序设计
实验目的:
1、了解MDI窗体和子窗体的特点;
2、掌握简单的多文档界面程序的设计。

实验内容:
1、实验要求
设计一个多文档界面的应用程序,能够新建多个子窗体,实现子窗体之间的复制,并对子窗体进行排列。

2、分析设计
(1)先设计一个主界面,单击右键选择进入MDIForm1;
(2)创建MDI窗体,并添加窗体菜单:“文件”、“编辑”、“窗口”等;
(3)在窗口菜单中,显示打开的子窗体列表,并实现子窗体的层叠、平铺、排列图标的排列方式。

3
4、窗体设计
5、源代码
主界面代码:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu kjcd
End Sub
Private Sub pcontinue_Click()
Me.Hide
MDIForm1.Show
End Sub
Private Sub pend_Click()
End
End Sub
MDI窗体代码:
Dim no%
Private Sub arrangicon_Click()
MDIForm1.Arrange 3
End Sub
Private Sub cd_Click()
MDIForm1.Arrange 0
End Sub
Private Sub copy_Click()
Clipboard.SetText Me.ActiveForm.ActiveControl.SelText
End Sub
Private Sub exit_Click()
Unload Me
FrmMain.Show
End Sub
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = -1
End Sub
Private Sub new_Click()
Dim Newform As New Form1
no = no + 1
Newform.Caption = "子窗体" & no
Newform.Show
End Sub
Private Sub paste_Click()
Me.ActiveForm.Text1.SelText = Clipboard.GetText
End Sub
Private Sub pp_Click()
MDIForm1.Arrange 1
End Sub
实验思考:
试与实验9内容合并,完成一个类似WORD的应用程序。

相关文档
最新文档