高级语言程序设计第七章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七章用户界面的设计2020/2/212内容提要通用对话框菜单设计多重窗体VB的工程结构2020/2/213通用对话框通用对话框通用对话框控件提供了一组标准的对话框界面,进行诸如打开和保存文件,设置打印选项,以及选择颜色和字体等操作。通用对话框控件是ActiveX控件,需添加到工具箱中(选择“工程/部件”命令,在“部件”对话框中选择“MicrosoftCommonDialogControls6.0”)。在程序运行时,窗体上不会显示通用对话框,直到程序中用Action属性或Show方法激活而调出所需对话框。通用对话框仅用于应用程序与用户之间进行信息交互,不能实现打开文件、保存文件、设置颜色、设置字体、打印等操作。要实现这些功能还靠编程实现。2020/2/214通用对话框的Action属性通用对话框Action属性值含义对应方法1显示“打开”对话框ShowOpen2显示“另存为”对话框ShowSave3显示“颜色”对话框ShowColor4显示“字体”对话框ShowFont5显示“打印机”对话框ShowPrinter6显示“帮助”对话框ShowHelp2020/2/215“打开”对话框FilterFileNameInitDirFilterIndex通用对话框2020/2/216设计一个简单的应用程序,用于打开各种类型的图形文件。例7-1通用对话框2020/2/217“打开”对话框的主要属性通用对话框属性名说明DialogTitle对话框的标题FileName显示文件名(包含路径)FileTitle显示文件名(不包含路径)Filter确定文件列表框中所显示文件的类型DefaultExt确定所存文件的默认扩展名(一般用于“另存为”对话框中)FilterIndex在文件列表框中所选文件类型的序号InitDir初始目录MaxFileSize被打开文件的最大长度2020/2/218“打开”文件对话框属性页通用对话框DialogTiltleFileNameInitDirFilterFilterIndexDefaultExtFilter的格式:文件说明|文件类型例如:Word(*.DOC)|*.DOC|Text(*.TXT)|*.txt|AllFiles|*.*2020/2/219“另存为”对话框通用对话框“另存为”对话框的相关属性基本上与“打开”对话框的属性及含义相同,仅DefaultExt属性是该对话框所特有的,它表示所存文件的默认扩展名。2020/2/2110设计一个应用程序,可以保存文本框中所编辑的文字。缺省扩展名时,可将所编辑的文字保存为扩展名为.dat的数据文件。例7-2通用对话框2020/2/2111“颜色”对话框通用对话框当通用对话框的Action属性值被设置为3或调用了ShowColor方法时,便会立即弹出“颜色”对话框2020/2/2112设计一个应用程序,通过命令按钮可以改变标签的背景颜色。例7-3通用对话框2020/2/2113“字体”对话框通用对话框通用对话框的Flags属性被设置为3,接着Action属性值被设置为4或调用了ShowFont方法后,便会立即弹出“字体”对话框。2020/2/2114说明:通用对话框(1)Flags属性必须在激活字体对话框之前进行设置。(2)Flags属性必须取1、2或3之一,或者取1、2或3与256之和。属性名属性值说明Flags1显示屏幕字体2显示打印机字体3显示打印机字体和屏幕字体256显示删除线和下划线检查框以及颜色组合框2020/2/2115设计一个应用程序,通过命令按钮可以改变标签的字体。例7-4通用对话框2020/2/2116菜单设计菜单设计常用的两种菜单:下拉式菜单和弹出式菜单。在下拉式菜单系统中,一般有一个主菜单,其中包含若干个菜单项,每个菜单项还可以有下一级菜单。VB中设计下拉式菜单时,主要设计两个部分:(1)菜单栏,即主菜单条,它包含多个菜单名。(2)设计各级子菜单,子菜单可以是可执行的菜单命令,或弹出下级子菜单,或是分隔条。菜单的基本结构2020/2/2117菜单设计下拉式菜单系统的组成结构:主菜单名快捷键热键下级子菜单标记主菜单条分隔线菜单项子菜单名2020/2/2118菜单设计VB把菜单中的菜单项或菜单命令作为一个控件处理,在设计菜单时用菜单编辑器设置相关的属性,用户只需对执行某一菜单命令的处理过程进行编程即可。菜单编辑器窗口分为三个部分:(1)属性区:输入或修改菜单项或菜单命令的有关属性。主要属性见下表。(2)编辑区:由7个按钮组成,用来对输入的菜单项(命令)进行简单的编辑。(3)显示区:显示所有已创建的菜单项(命令),并通过内缩符号(….)指明了它们的层次。菜单编辑器2020/2/2119菜单设计菜单编辑器属性设置区菜单编辑区菜单列表区2020/2/2120菜单设计菜单项的属性属性标题属性名说明标题Caption在菜单项上所显示的字符串,减号显示分隔条名称Name用来编写菜单控件的事件代码,相当于其他控件的(名称)。必须设置。索引Index创建菜单数组时,相当于数组的下标。快捷键Shortcut设置菜单项的快捷键复选Checked为True(选中)时,菜单项前出现一个“√”。有效Enabled为False(未选中)时,菜单项为灰色,表示该菜单项不可用。可见Visible为False(未选中)时,对应的菜单项不可见。显示窗口列表WindowList该属性为True(选中)时,将显示当前打开的一系列子窗口的标题。2020/2/2121设计下拉式菜单,其功能可以改变文本框中的文字的字体、字形和大小。例7-6菜单设计2020/2/2122菜单设计菜单控件数组是指多个菜单项共用同一个名称,用索引号标识每个菜单项,执行同一个Click事件过程。系统将根据不同的索引(Index)参数来区分被单击的菜单项,从而完成相应的功能操作。利用菜单控件数组可以实现动态地增删菜单项。可以使用Load方法在菜单控件数组中增加一个新的菜单项;使用UnLoad方法从菜单控件数组中删除一个菜单项。菜单控件数组2020/2/2123利用菜单控件数组改编例7-6,去掉“字形”子菜单标题,在“粗体”和“斜体”菜单项旁边加“√”标记,以表示是否对文字进行粗体或斜体的设置。例7-7菜单设计2020/2/2124菜单设计弹出式菜单(快捷菜单)是一种独立于菜单栏而显示在窗体上的浮动菜单。通常用鼠标右键激活。创建弹出式菜单与下拉式菜单方法一样,只是一般将其最高一级的菜单项“可见”属性设置为False。并用PopupMenu方法显示弹出式菜单:[对象名.]PopupMenu菜单名,[flags,[X,[Y]]]对象名:指出在哪一个对象上打开弹出式菜单。菜单名:是指在“菜单编辑器”中为该菜单标题所设置的名称(Name)属性值。x,y:是菜单弹出的坐标,默认为鼠标坐标。Flags:定义弹出式菜单的位置及行为。弹出式菜单2020/2/2125在例7-7的基础上添加一个弹出式菜单,用于改变文本中文字的颜色。例7-8菜单设计2020/2/2126多重窗体多重窗体多重窗体是指在一个工程中有多个普通窗体,而每个窗体都拥有自己的用户界面和事件代码,通过工程管理形成一个复杂的、功能强大的应用程序。多重窗体的添加选择“工程”/“添加窗体”添加“现存”窗体时要注意:(1)添加的窗体实际是将其他工程中已有的窗体加入,多个工程共享窗体。(2)防止多个窗体的Name相同而不能添加。(3)通过“另存为”命令以不同的窗体文件名保存,断开共享。新建现存2020/2/2127建立一个简单的时间和日期查询系统。例7-9菜单设计2020/2/2128多重窗体多重窗体操作的语句和方法(1)Load语句格式:Load窗体名称功能:将一个窗体装入内存。说明:此时仅能引用窗体中的控件及各种属性,但运行时窗体并不显示到屏幕上。(2)UnLoad语句格式:UnLoad窗体名称功能:清除内存中的窗体。2020/2/2129多重窗体(3)Show方法格式:[窗体名称].Show[模式]功能:将一个窗体装入内存,并在屏幕上显示。说明:①若省略[窗体名称],则显示当前窗体。②模式的值为1时,窗体为“模式型”,即在程序运行时用户只有关闭该窗体之后才能对其他窗体进行操作。模式的值为0时,窗体为“非模式型”,即可以同时打开几个窗体进行操作。③Show方法兼有Load方法的功能。(4)Hide方法格式:[窗体名称].Hide功能:隐藏指定的窗体,但仍保存在内存中。2020/2/2130多重窗体设置启动窗体(1)选择菜单“工程/工程属性”项,打开“工程属性”对话框(2)选取“通用”选项卡,在“启动对象”下拉列表中,指定作为第一个出现的窗体名(3)单击“确定”按钮2020/2/2131VB的工程结构VB的工程结构VB应用程序采用模块化程序设计方法。模块是相对独立的程序单元,VB中主要有三种模块:(1)窗体模块:每个窗体都有一个对应的窗体模块,通常包括通用声明、通用过程及事件过程三部分。(2)标准模块:由全局变量声明、模块层声明及通用过程等组成,所以也叫全局模块或总模块。(3)类模块:为自定义类设计的文件。SubMain过程:通常设置为启动对象,主要用于应用程序的初始化工作;该过程必须建立在标准模块中,一个程序中可以有多个标准模块,但最多只能有一个SubMain模块。2020/2/2132用例7-1、例7-2、例7-3、例7-4四个案例的窗体文件,形成一个新的工程。例7-10VB的工程结构

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功