资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第5章-应用界面设计,5.1.1,使用多窗体,图,5.1,工程资源管理器,如图,5.1,中所示,新添加的窗体默认名称为,Form2,、,Form3,。在工程资源管理器中显示了“工程,1,”中的“窗体”模块有两个窗体,Form1,和,Form2,,如图,5.1,所示。,2.,移除窗体,如果工程中已创建了多个窗体,需要移除窗体。可以用鼠标右键单击工程资源管理器窗口中要移除的窗体名,在出现的下拉菜单中(如图,5.1,所示),选择“移除,Form2,”菜单项就在“工程,1,”中移除了该窗体。移除该窗体后,该窗体就不包含在本工程中,但窗体文件并没有被删除,下次还可以添加进来。,5.1.1,使用多窗体,3.,设置窗体名称和文件名,窗体的默认名称为,Form1,、,Form2,,当保存时窗体的文件名也默认为,Form1.frm,、,Form2.frm,。窗体的名称在属性窗口中通过窗体的“名称”(,Name,)属性来设置;窗体的文件名则可以在第一次保存时,选择“文件”菜单,“保存”菜单项,或者在下一次保存时,选择“文件”菜单,“,Form1,另存为”菜单项,在打开的保存文件对话框中输入自己的文件名。,例如,在“工程,1,”中创建三个窗体,分别用于输入学生信息、输入学生成绩和输入系别,将三个窗体的文件名设置为,FormStu.frm,、,FormScore.frm,和,FormDep.frm,。则在工程资源管理器窗口中的显示如图,5.2,所示,而窗体名分别为,Form1,、,Form2,和,Form3,。,图,5.2,工程资源管理器,5.1.2,设置启动窗体,设置启动窗体的方法:,(,1,)选择“工程”菜单,“工程,1,属性”菜单项。,(,2,)在工程属性的“通用”页中选择“启动对象”,在下拉列表中选择启动窗体名。如图,5.3,所示。,(,3,)单击“确定”按钮。,图,5.3,工程属性设置,5.1.3,窗体模板,VB,提供了多种窗体模板,当添加窗体时,会出现如图,5.4,所示的“添加窗体”对话框,一般添加的都是空白窗体,即选择第一个“窗体”图标,如果需要利用窗体的其他模板,可以选择其他的图标有:,VB,数据窗体向导、,ODBC,登录、,Web,浏览器、“关于”对话框、对话框、展示屏幕、日积月累、登录对话框和选项对话框。,图,5.4,添加窗体对话框,5.1.3,窗体模板,例如,选择,ODBC,登录则窗体显示如图,5.5(a),所示,选择登录对话框则窗体显示如图,5.5(b),。,ODBC,登录,(b),登录对话框,图,5-5,窗体模板,5.1.3,窗体模板,如果选择“展示屏幕”则出现的窗体是在启动时的一个快速显示窗体,它通常显示的是应用程序名、版权信息和简单的位图等内容,就象启动,VB,时开始显示的窗口。当启动时需要装入大量数据或大型位图时,使用快速显示使应用程序装载的过程不会感觉等待过长,当数据装载完并装入第一个窗体时就卸载快速显示窗体。如图,5.6,所示为快速显示窗体,默认的窗体名为,frmSplash,。,图,5.6,快速显示窗体,5.1.3,窗体模板,【,例,5-1】,创建一个学生管理系统,工程中有两个窗体,第一个窗体为快速显示窗体,frmSplash,,另一个为输入学生信息窗体,Form1,。,(,1,)创建两个窗体,创建的新工程,出现空白的窗体,Form1,;然后选择“工程”菜单“添加窗体”菜单项,则出现如图,5.4,的添加窗体对话框,选择“展示屏幕”图标,在工程中加入第二个窗体,frmSplash,。,(,2,)修改窗体属性,(a)frmSplash,运行界面,(b)Form1,运行界面,图,5-7,运行界面,5.1.3,窗体模板,窗体,frmSplash,使用的是“展示屏幕”模板(如图,5.6,),将不需要的控件删除,将标签内容修改为“学生信息管理系统”,运行界面如图,5.7(a),所示。,窗体,Form1,中放置一个标签,Label1,和一个按钮,Command1,,属性设置如表,5.1,所示,运行界面如图,5.7(b),所示。,控件名,属性名,属性值,Form1,Caption,学生信息管理,Label1,Caption,欢迎使用学生信息管理系统,Font,20,Command1,Caption,退出,表,5.1,属性设置,5.1.3,窗体模板,(,3,)添加程序代码,功能要求:,运行程序先出现,frmSplash,窗体,单击窗体或窗体中的框架,Frame1,,显示下一个窗体,Form1,并卸载本窗体;单击窗体,Form1,中的“退出”按钮,Command1,则结束程序。,窗体,frmSplash,的程序代码如下:,Private Sub Form_Click(),单击窗体,Form1.Show,Unload Me,End Sub,Private Sub Frame1_Click(),单击框架,Form1.Show,Unload Me,End Sub,5.1.3,窗体模板,窗体,Form1,的程序代码如下:,Private Sub Command1_Click(),单击退出按钮,Unload Me,End Sub,程序分析:,窗体的,Show,方法是用来显示窗体。,在第二个窗体,Form1,中使用“,Unload Me,”语句卸载窗体就结束了程序。,5.1.3,窗体模板,(,4,)调整窗体布局,在窗体布局窗口中调整两个窗体的位置,如图,5.8,所示。,(,5,)设置启动窗体,当有多个窗体时,应设置启动窗体,选择“工程”菜单,“工程,1,属性”菜单项,在工程属性对话框中将,frmSplash,窗体设置为启动窗体。,(,6,)保存工程,保存工程和窗体文件,则需要保存一个,*,.vbp,文件和两个,*,.frm,文件。,图,5.8,窗体布局窗口,5.2,菜单,5.2.1,菜单的基本概念,1.,下拉式菜单,Windows,应用程序界面中的下列式菜单如图,5.9,所示。,菜单条,复选标志,子菜单项,分隔线,菜单项,访问键,快捷键,图,5.9,菜单,5.2.1,菜单的基本概念,2,弹出式菜单,弹出式菜单又称为快捷菜单,弹出式菜单是当单击鼠标右键时出现的菜单,是独立于菜单栏的浮动式菜单,弹出式菜单上显示的菜单项取决于鼠标右键按下时鼠标指针所在的位置。,5.2.2,菜单编辑器,1.,打开菜单编辑器,打开菜单编辑器的方法:,选择“工具”菜单“菜单编辑器”菜单项。,在“工具栏”上单击“菜单编辑器”按钮。,按,Ctrl+E,键。,如图,5.10(a),所示为创建的菜单,,5.10(b),所示为菜单编辑器窗口。,(a),菜单,(b),菜单编辑器,图,5-10,菜单创建,5.2.2,菜单编辑器,2.,菜单编辑器的设计,在菜单编辑器中需要设计的具体内容如下:,(,1,)标题(,Caption,),“标题”文本框用于设置在菜单栏上显示的文本。,如果菜单想打开的是一个对话框,在标题文本的后面应加“,”。,如果需要设置菜单项的访问键,可以用“(,&+,访问字符)”的格式,在运行时访问字符会自动加上一条下划线,两个同级菜单项不能用同一个访问字符。“,&,”字符则不可见。,(,2,)名称(,Name,),在“名称”文本框中,设置用来在代码中引用该菜单项的名字。菜单项名称应当唯一,但不同菜单中子菜单项可以重名。,菜单的名称一般以,mnu,作为前缀,后面为各级菜单的名称,例如“输入数据”菜单名称为“,mnuInput,”。,5.2.2,菜单编辑器,(,3,)快捷键(,ShortCut,),在快捷键组合框中可以输入快捷键,也可以选取功能键或键的组合来设置,要删除快捷键应选取列表顶部的“,None,”。,例如,为“输入学生信息”菜单项创建快捷键“,Ctrl+S,”,在运行时按,Ctrl+S,可以运行该菜单命令。,(,4,)分隔条,分隔条为菜单项间的一条水平线,当菜单项很多时,可以使用分隔条将菜单项划分成一些逻辑组。如图,5.8,的“视图”菜单中用分隔线分成几组。,如果想增加一个分隔条,选取“插入”,在“标题”文本框中键入一个连字符“,-,”然后输入名称。虽然分隔条是当作菜单控件来创建的,但不能被选取。,5.2.2,菜单编辑器,(,5,)其他属性,复选(,Checked,)标记:当设置为,True,在输入框中打,则运行时初次打开菜单项,该菜单项的左边显示“”,用来指出可切换的命令选项的开关状态。在菜单条上的第一级菜单不能使用该属性。,有效(,Enabled,)属性:当设置为,True,在输入框中打,在运行时以清晰的文字出现,表示该菜单可使用;未选中则在运行时以灰色的文字出现,表示禁止使用。,索引(,Index,):在索引输入框中建立控件数组的下标。,可见(,Visible,):在输入框中打设置为,True,,则菜单项可见,一个不可见的菜单项是不能执行的。,帮助上下文(,HelpContextID,):指定一个唯一的数值作为帮助文本的标识符,可根据该数值在帮助文件中查找适当的帮助主题。,显示窗口列表(,WindowList,)属性:当菜单要包括一个打开的所有,MDI,(多文档界面)子窗口的列表时,在输入框中打。,5.2.2,菜单编辑器,(,6,)按钮,“下一个”(,Next,)按钮:添加下一个菜单项。,“插入”(,Insert,)按钮:插入一个菜单项。,“删除”(,Delete,)按钮:删除菜单项。,“”或“”按钮:向上下移动菜单项。,“”按钮:向里缩进,菜单项前加了四个点(,.,),变为下一级菜单。,“”按钮:删除菜单项前的四个点,变为上一级菜单。,5.2.2,菜单编辑器,例如,在图,5.10(a),中,“输入学生信息”菜单为“输入数据”菜单的下一级子菜单,单击“”箭头缩进。,当创建完菜单项后,单击菜单编辑器的“确定”按钮,创建的菜单标题将显示在窗体上。图,5.10(a),中的各菜单项属性设置如表,5.2,所示。,菜单级别,标题,名字,快捷键,菜单级,输入数据,(&I),mnuInput,输入学生信息,(&S),mnuInputStu,Ctrl+S,输入学生成绩,(&O),mnuInputScore,Ctrl+O,输入系别,mnuInputDep,菜单级,查询数据,(&Q),mnuQuery,查询学生信息,mnuQueryStu,查询学生成绩,mnuQueryScore,Ctrl+G,菜单级,输出数据,(&O),mnuOutput,显示图表,mnuOutputTab,显示报表,mnuOutputRep,菜单级,退出,(&X),mnuExit,表,5.2,菜单项的设置,5.2.2,菜单编辑器,3.,属性窗口,菜单属性可以在菜单编辑器中设置,也可以在属性窗口中设置,属性窗口如图,5.11,所示。,图,5.11,菜单控件属性窗口,5.2.3,菜单的代码设计,1.,菜单的,Click,事件,菜单控件只包含一个事件,即,Click,事件,每个菜单项都被当作一个控件,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别,Click,事件。,【,例,5-2,】,使用图,5.10,所示窗体,FormCover,,单击“输入数据”菜单,打开“输入学生信息”窗体,Form1,、“输入学生成绩”窗体,Form2,和“输入系别”窗体,Form3,。,创建工程,并在工程中添加四个窗体,启动窗体为,FormCover,(图,5.10,),三个窗体,Form1,、,Form2,和,Form3,。,编写单击菜单程序,,程序代码如下,。,5.2.3,菜单的代码设计,2.,运行时改变菜单属性,(,1,)使菜单命令有效或无效,所有的菜单项都具有,Enabled,属性,,Enabled,属性默认值为,True,(有效)。当,Enabled,属性设为,False,时,菜单项会变暗,菜单命令无效不响应动作,快捷键也无效。上级菜单无效会使得整个下拉菜单无效。,例如,使图,5.10,中“输入数据”菜单的“输入系别”菜单项无效:,mnuInputDep.Enabled=False,(,2,)显示菜单控件的复选标志,使用菜单项的,Checked,属性,可以设置复选标志,如果,Checked,属性为,True,表示含有复选标志。,例如,使图,5.10,中“输入数据”菜单的“输入系别”菜单项复选框有效:,mnuInputDep.Checked=True,5.2.3,菜单的代码设计,(,3,)使菜单控件不可见,在运行时,要使一个菜单项可见或不可见,可以从代码中设置其,Visible,属性。当下拉菜单中的一个菜单项不可见时,则其余菜单项会上移以填补其位置。如果菜单条上的菜单不可见,则菜单条上其余的控件会左移以填补其空间。例如,使图,5.10,中“输入数据”菜单的“输入系别”菜单项不可见:,mnuInputDep.Visible=False,5.2.3,菜单的代码设计,(,4,)运行时添加菜单项,运行时可以添加菜单项,例如,,VB,的“文件”菜单就是根据打开的工程名添加菜单,显示出最近打开的工程名,如图,5.12,所示。,图,5.12,创建菜单项,5.2.4,弹出式菜单,创建弹出式菜单的步骤:,(,1,)使用“菜单编辑器”创建菜单。,(,2,)使顶级菜单的“可见”框不打“”即“,Visible,”属性设置为,False,。,(,3,)编写相应与弹出式菜单相关联的,MouseUp,(释放鼠标)事件代码,需要使用对象的,PopupMenu,方法。,语法:,对象,.PopupMenu,菜单名,位置常数,横坐标,纵坐标,位置常数有以下几种:,vbPopupMenuLeftAlign,:用横坐标位置定义该弹出式菜单的左边界(默认)。,VbPopupMenuCenterAlign,:弹出式菜单以横坐标位置为中心。,vbPopupMenuRightAlign,:用横坐标位置定义该弹出式菜单的右边界。,5.2.4,弹出式菜单,【,例,5-3,】,使用弹出式菜单显示帮助信息。,在菜单编辑器中创建“帮助”菜单,mnuHelp,,,mnuHelp,菜单项的“可见”框不打“”即“,Visible,”属性设置为,False,。各菜单项属性设置如表,5.3,所示。,菜单名,属性名,属性值,说明,mnuHelp,Caption,帮助,菜单级,Visible,False,mnuHelpTopic,Caption,主题,下一级菜单,mnuHelpKey,Caption,关键字,下一级菜单,表,5.3,菜单项的设置,5.2.4,弹出式菜单,运行界面如图,5.13,所示,显示在窗体空白处单击鼠标右键出现的弹出式菜单。,图,5.13,弹出式菜单,5.2.4,弹出式菜单,当单击窗体的任意位置时出现“帮助”弹出式菜单。添加程序代码如下:,Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single),在窗体上释放鼠标,If Button=2 Then ,鼠标右键,PopupMenu mnuHelp,End If,End Sub,程序分析:,如果单击的是鼠标右键则,Button=2,,单击的是左键则,Button=1,。,在上图中,弹出式菜单,mnuHelp,的第一级“帮助”菜单项不显示。,5.3,工具栏,1.,创建工具栏的步骤,工具栏是工具条(,Toolbar,)控件和图像列表(,ImageList,)控件的组合。,Toolbar,控件和,ImageList,控件是,ActiveX,控件,因此在使用时必须将其,OCX,文件添加到工程中。,VB,专业版和企业版中都有,Toolbar,控件和,ImageList,控件。,创建工具栏的步骤:,(,1,)添加,MSCOMCTL.OCX,文件。,(,2,)创建,ImageList,控件作为要使用的图形集合。,(,3,)创建,Toolbar,控件,并将,Toolbar,控件与,ImageList,控件相关联,创建,Button,对象。,(,4,)在,ButtonClick,事件中添加代码。,5.3,工具栏,2.,添加,MSCOMCTL.OCX,文件,用鼠标右键单击控件箱,选择快捷菜单中的“部件”菜单项,在如图,5.14,的“控件”选项卡中选择“,Microsoft Windows Common Controls 6.0,”,然后单击“确定”按钮,则在控件箱中就添加了多个,ActiveX,控件,其中有,ImageList,和,Toolbar,控件。,图,5.14,部件对话框,5.3,工具栏,3,创建,ImageList,控件,在,ImageList,控件中装入要使用在,Toolbar,控件中的所有图像,按照顺序将需要的图像插入到,ImageList,中。创建,ImageList,控件的步骤如下:,在窗体上创建,ImageList1,后,用鼠标右键单击,ImageList1,控件,在出现弹出式菜单选择“属性”命令,则出现属性页,如图,5.15,所示。,选择“图像”选项卡,单击“插入图片”按钮选择图形文件,在“图像”选项卡中插入图片。,在上图中修改索引值和关键字。,图,5.15,ImageList,控件属性页,5.3,工具栏,4,将,ToolBar,控件与,ImageList,控件相关联,Toolbar,控件包含一个按钮(,Button,)对象集合,可以通过添加按钮(,Button,)对象来创建工具栏。,Toolbar,与,ImageList,控件关联的步骤如下:,(,1,)用鼠标右键单击,Toolbar,控件出现弹出式菜单,选择“属性”命令,则出现“属性页”。,(,2,)在“属性页”的“通用”选项卡的“图像列表”中,单击下拉箭头,选择“,ImageList 1,”,如图,5.16(a),所示。,5.3,工具栏,(,4,)将“属性页”切换到“按钮”(,Buttons,)选项卡,创建创建按钮(,Button,)对象,如图,5.16(b),所示。其中各项功能说明如下。,通用属性页,(b),按钮属性页,图,5-16,属性页,5.3,工具栏,例如,在,Toolbar1,中插入了三个按钮,在属性页中设置的值如表,5.4,所示,运行界面如图,5.17,所示。,索引,关键字,标题,图像,1,InputStr,输入学生信息,1,2,InputScore,输入学生成绩,2,3,InputDep,输入部门,3,表,5.4 Toolbar,各属性设置表,图,5.17,运行界面,5.3,工具栏,5,编写,ButtonClick,事件代码,ButtonClick,事件是当单击某个按钮时触发的,可以用按钮的,Index,属性或,Key,属性标识被单击的按钮。使用,Select Case,结构来实现单击按钮的功能。,例如,单击工具栏,ToolBox1,,通过按钮对象的索引(,Index,)属性来标识被单击的是哪个按钮。程序代码如下:,Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button),Select Case Button.Index,Case 1,打开输入学生信息窗体,Form1.Show,Case 2,打开输入学生成绩窗体,Form2.Show,Case 3,打开输入部门窗体,Form3.Show,End Select,End Sub,5.4 MDI,窗体,5.4.1,界面样式,SDI,界面,SDI,界面(,Single Document Interface,)是单文档界面,指在应用程序中每次只能打开一个文档,想要打开另一个文档时,必须先关闭已打开的文档。不能将一个窗体包含在另一个窗体中,所有的界面都可以在屏幕上自由地移动。,MDI,界面,MDI,界面(,Multiple Document Interface,)是多文档界面,在应用程序中可以允许单个父窗体中包含多个子窗体。多文档界面用于同时浏览或比较多个文档,使数据交换更加方便,,Microsoft Word,和,Microsoft Excel,应用程序就是,MDI,界面。,5.4.1,界面样式,资源管理器界面,另一种资源管理器界面越来越流行,资源管理器界面是指包括有两个窗格或者区域的一个单独的窗口。通常左半部分是一个树型的或者层次型的视图,右半部分是一个显示区。这种样式的界面可用于定位或浏览大量的文档、图片或文件。例如,,Windows,资源管理器就是这样的一种界面,如图,5.18,所示。,图,5.18 Windows,资源管理器,5.4.2,多文档界面,1.,创建,MDI,应用程序的步骤,创建,MDI,应用程序的步骤如下:,(,1,)选择“工程”菜单,“添加,MDI,窗体”菜单项,窗体的默认名为“,MDIForm1,”。,(,2,)选择“工程”菜单,“添加窗体”菜单项,创建一个新窗体,Form1,(或者打开一个存在的窗体),(,3,)把子窗体,Form1,的,MDIChild,属性设为,True,。,(,4,)选择“工程”菜单,“工程属性”,在“工程属性”对话框中将子窗体,Form1,设置为启动对象。,5.4.2,多文档界面,例如,创建一个学生信息管理,MDI,窗体,MDIForm1,,一个子窗体,Form1,用于输入学生信息,启动对象为窗体,Form1,,则运行后的显示如图,5.19,所示。,图,5.19,MDI,窗体运行界面,5.4.2,多文档界面,2.MDI,特性,(,1,)父菜单和子菜单,MDI,窗体有自己的菜单,,MDI,窗体通常只有打开了子窗体才有意义,因此,MDI,窗体的菜单条至少有两个菜单:“装入子窗体”和“退出”。,各个子窗体也有自己的菜单,当子窗体设计了菜单后,运行时打开子窗体菜单会出现在,MDI,窗体的菜单条上,子窗体不能显示自己的菜单。如果关闭子窗体则,MDI,窗体的菜单就代替了子窗体的菜单。,由于,MDI,窗体和各个子窗体都有菜单,为了防止混淆,在设计,MDI,窗体的菜单时应该注意,习惯的做法是尽量将,MDI,窗体的菜单功能减少,而且在,MDI,窗体中设计的菜单在其他子窗体中应该重复。,5.4.2,多文档界面,(,2,),Arrange,方法,Arrange,方法用于以不同的方式排列,MDI,窗体中的窗口和图标。,Arrange,方法值如表,5.5,所示。,常量,数值,说明,vbCascade,0,层叠式排列所有子窗体,vbTileHorizontal,1,水平方向平铺所有子窗体,vbTileVertical,2,垂直方向平铺所有子窗体,vbArrangeIcons,3,在,MDI 窗体底部放置最小化子窗体的图标,表,5.5 Arrange,方法,(,3,),Screen,对象和,Screen.ActiveForm,属性,Screen,对象能够提供当前窗体或控件的详细信息。,如果屏幕上有多个窗体,通过,Screen,对象的,ActiveForm,属性能够引用当前屏幕中激活的窗体,而无需使用当前窗体对象的名称。,5.4.2,多文档界面,【,例,5-3,】,创建一个学生信息管理,MDI,窗体,MDIForm1,,三个子窗体分别是,Form1,、,Form2,、,Form3,,分别用于输入学生信息、输入学生成绩和输入系别,启动对象为窗体,Form1,。,界面设计步骤如下:,(,1,)添加一个,MDI,窗体,窗体的默认名为“,MDIForm1,”。,(,2,)添加三个新窗体,Form1,、,Form2,和,Form3,,然后把它们的,MDIChild,属性设为,True,。,(,3,)在“工程属性”对话框中将启动对象设置为,MDIForm1,。,(,4,)在,MDI,窗体设计父菜单,菜单条有“打开窗体”、“窗口”和“退出”菜单项。如下表,5.6,所示。,菜单级,标题,名字,菜单级,标题,名字,菜单,打开窗体,mnuOpen,菜单,窗口,mnuWindow,子菜单,打开窗体,1,mnuOpenForm1,子菜单,层叠式排列,WindowCascade,子菜单,打开窗体,2,mnuOpenForm2,子菜单,水平方向平铺,WindowHorizontal,子菜单,打开窗体,3,mnuOpenForm3,子菜单,垂直方向平铺,WindowVertical,分隔条,-,mnuF,子菜单,排列图标,WindowIcons,菜单,退出,mnuExit,子菜单,表,5.6,父菜单项,5.4.2,多文档界面,(,5,)程序设计,程序代码如下:,单击“打开窗体”菜单的下拉菜单项,可以打开相应的窗体。,Private Sub mnuOpenForm1_Click(),打开,Form1,Form1.Show,End Sub,Private Sub mnuOpenForm2_Click(),打开,Form2,Form2.Show,End Sub,Private Sub mnuOpenForm3_Click(),打开,Form3,Form3.Show,End Sub,5.4.2,多文档界面,单击“窗口”菜单的下拉菜单项,将打开的窗体按不同的方式排列。,Private Sub WindowCascade_Click(),层叠式排列,MDIForm1.Arrange 0,End Sub,Private Sub WindowHorizontal_Click(),水平方向平铺,MDIForm1.Arrange 1,End Sub,Private Sub WindowIcons_Click(),重排最小化子窗体图标,MDIForm1.Arrange 3,End Sub,5.4.2,多文档界面,Private Sub WindowVertical_Click(),垂直方向平铺,MDIForm1.Arrange 2,End Sub,Private Sub mnuExit_Click(),退出,End,End Sub,5.4.2,多文档界面,运行界面如图,5.20,所示,显示用“打开窗体”菜单的下拉菜单项,可以打开三个窗体,并选择“窗口”菜单,“水平方向平铺”菜单项排列窗体。,图,5.20,运行界面,5.5,通用对话框控件,5.5.1,创建通用对话框控件,1.,创建通用对话框控件,创建通用对话框控件的步骤:,(,1,)用鼠标右键单击控件箱,选择快捷菜单中的“部件”菜单项;,(,2,)在部件对话框中选择“,Microsoft Common Dialog Control 6.0”,,是在“,C:WindowsSystemComdlg32.ocx,”文件中。控件箱中就会出现通用对话框控件的图标,。,(,3,)将通用对话框控件放置到窗体界面中,则在窗体中就有了,CommonDialog1,控件。,在程序运行时通用对话框控件是不可见的,因此可以将它放置在窗体的任何位置。,5.5.1,创建通用对话框控件,2.,设置通用对话框控件的属性,(,1,)通用对话框控件的,Action,属性或,Show,方法,通用对话框控件的,Action,属性和,Show,方法与通用对话框控件类型的关系如表,5.7,所示。,控件类型,Action属性,Show方法,打开对话框,1,ShowOpen,另存为对话框,2,ShowSave,颜色对话框,3,ShowColor,字体对话框,4,ShowFont,打印对话框,5,ShowPrinter,帮助对话框,6,ShowHelp,表,5.7 Action,属性和,Show,方法,(,2,)属性页,通用对话框控件的属性可以在属性窗口中设置,在属性窗口中选择“,(,自定义,),”,再单击右侧的“,”按钮,将出现“属性页”对话框;也可以用鼠标右键单击通用对话框控件,选择“属性”菜单项,可以打开属性页设置属性。,5.5.2,文件对话框,1.,打开对话框,打开对话框可以用来指定文件所在的驱动器、文件夹及文件名、文件扩展名。显示打开对话框的语句:,通用对话框控件名,.Action=1,或:,通用对话框控件名,.ShowOpen,打开对话框中还包括很多可在对话框中设置控件属性,常用属性如表,5.8,所示。,属性名,说明,DialogTitle(对话框标题),设置对话框的标题。,FileName(文件名称),设置对话框中选中的文件名。,Filter(过滤器),设置对话框中可以显示的文件类型。,FilterIndex(过滤器索引),当,Filter属性设置了多种文件类型时,该属性设置默认的文件类型。,InitDir(初始化路径),设置对话框的初始文件的目录。,表,5.8,打开对话框的常用属性,5.5.2,文件对话框,Filter,(过滤器)属性的设置格式为:,文件类型描述,1|(,文件类型,1)|,文件类型描述,2|(,文件类型,2)|.,例如,打开图形文件,*,.jpg,、,*,.bmp,和,*,.gif,文件:,CommonDialog1.Filter=BMP,文件,(*.bmp)|*.bmp|GIF,文件,(*.gif)|*.gif|JPG,文件,(*.jpg)|*.jpg,CommonDialog1.ShowOpen,打开文件对话框如图,5.21,所示。,图,5.21,打开对话框,5.5.2,文件对话框,2.,另存为对话框,另存为对话框可以用来指定文件所要保存的驱动器、文件夹及文件名,显示另存为对话框的语句:,通用对话框控件名,.Action=2,或:,通用对话框控件名,.ShowSave,另存为对话框的属性与打开对话框基本相同,另存为对话框还可以使用,DefaultExt,属性设置保存文件的默认扩展名。,DefaultExt,属性的设置格式为:,通用对话框控件名,.DefaultExt=,文件格式,5.5.2,文件对话框,【,例,5-4,】,使用打开对话框控件来打开并显示图形文件,用通用对话框控件代替,【,例,4-9】,的三个文件系统控件,用另存为对话框保存图形文件。,界面设计:,在窗体中放置一个通用对话框控件,CommonDialog1,用来打开和另存文件,一个图片框,Picture1,用来显示图片,一个框架,Frame1,和三个按钮,Command1,Command3,,,Command1,按钮“显示图片”用来打开并显示图形文件,,Command2,按钮“另存文件”用来另存文件,,Command3,按钮“退出”用来结束程序。,属性设置如表,5.9,所示。,对象名,属性名,属性值,Form1,Caption,显示图片并保存文件,Frame1,Caption,空,Command1,Caption,显示图片,Command2,Caption,另存文件,Command3,Caption,退出,表,5.9,控件属性设置表,5.5.2,文件对话框,运行界面如图,5.22(a),所示,为打开并显示图片的界面,另存为对话框如图,5.23(b),所示。,(a),运行界面,(b),另存为对话框,图,5-22,文件对话框,5.5.2,文件对话框,程序代码如下:先设置,CommonDialog1,的初始目录和显示文件类型,然后装载图片文件到,Picture1,。,Private Sub Command1_Click(),单击显示图片按钮,With CommonDialog1,.InitDir=C:,.Filter=BMP,文件,(*.bmp)|*.bmp|GIF,文件,(*.gif)|*.gif|JPG,文件,(*.jpg)|*.jpg,.Action=1,Frame1.Caption=.FileName ,显示文件名,Picture1.Picture=LoadPicture(.FileName),装载图片框的图形文件,End With,End Sub,5.5.2,文件对话框,先设置,CommonDialog1,的初始目录、显示文件类型和默认保存文件类型,然后另存,Picture1,所显示的文件。,Private Sub Command2_Click(),单击另存文件按钮,With CommonDialog1,.InitDir=C:,.Filter=BMP,文件,(*.bmp)|*.bmp|GIF,文件,(*.gif)|*.gif|JPG,文件,(*.jpg)|*.jpg,.DefaultExt=jpg,.Action=2,SavePicture Picture1.Picture,.FileName,End With,End Sub,Private Sub Command3_Click(),单击退出按钮,End,End Sub,5.5.3,字体对话框,字体对话框用来指定字体、大小、颜色、样式设置字体,显示字体对话框的语句:,通用对话框控件名,.Action=4,或:,通用对话框控件名,.ShowFont,字体对话框的常用属性如表,5.11,所示。,属性名,说明,Flags,设置或返回字体对话框的样式。,1 对话框中只列出系统支持的屏幕字体。,对话框中只列出由,hDC属性指定的打印机支持的字体。,对话框中只列出打印机和屏幕支持的字体。,4 对话框显示帮助按钮。,256 对话框中允许设置删除线、下划线和颜色效果。,Color,确定颜色。如要使用这个属性,必须先将,Flags属性设置为256。,FontBold,是否选定了粗体。,FontItalic,是否选定了斜体。,FontStrikethru,是否选定删除线。如要使用这个属性,必须先将,Flags属性设置为256。,FontUnderline,是否选定下划线。如要使用这个属性,必须先将,Flags属性设置为256。,FontName,选定字体的名称。,FontSize,选定字体的大小。,表,5.11,字体对话框的常用属性,5.5.3,字体对话框,如果设置的字体对话框样式是几种的组合,则将,Flags,属性设置为几种样式值之和。例如,对话框中显示打印机和屏幕支持的字体并且允许设置删除线、下划线和颜色效果:,CommonDialog1.Flags=3+256,字体对话框如图,5.23,所示。,图,5.23,字体对话框,5.5.4,颜色、打印和帮助对话框,1.,颜色对话框,颜色对话框用来在调色板中选择颜色,或者创建自定义颜色。,颜色对话框的常用属性如如表,5.10,所示,颜色对话框如图,5.24,所示。,图,5.24,颜色对话框,属性名,说明,Flags,设置或返回对话框的样式。,1 为对话框设置初始颜色。,2 自定义颜色按钮有效,允许用户自定义颜色。,4 自定义颜色按钮无效,禁止用户自定义颜色。,8 对话框的帮助按钮有效。,Color,返回在颜色对话框中选中的颜色。,表,5.10,颜色对话框的常用属性,5.5.4,颜色、打印和帮助对话框,2.,打印对话框,打印对话框用于指定打印输出方式,可以指定被打印页的范围,打印质量,打印份数等。这个对话框还包含当前安装的打印机信息,并允许配置或重新安装缺省打印机。显示打印对话框的语句:,3.,帮助对话框,帮助对话框用于设置某些上下文帮助信息。,5.5.5,打印对话框,打印对话框用于指定打印输出方式,可以指定被打印页的范围,打印质量,打印份数等。这个对话框还包含当前安装的打印机信息,并允许配置或重新安装缺省打印机。显示打印对话框的语句:,通用对话框控件名,.Action=5,或:,通用对话框控件名,.ShowPrinter,打印对话框如图,5.26,所示。,图,5.26,打印对话框,5.5.6,帮助对话框,帮助对话框用于设置某些上下文帮助信息。显示帮助对话框的语句:,通用对话框控件名,.Action=6,或:,通用对话框控件名,.ShowHelp,此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢,
展开阅读全文