visualbasic程序设计课件之第8章界面设计工具

上传人:e****s 文档编号:243729582 上传时间:2024-09-29 格式:PPT 页数:65 大小:719.50KB
返回 下载 相关 举报
visualbasic程序设计课件之第8章界面设计工具_第1页
第1页 / 共65页
visualbasic程序设计课件之第8章界面设计工具_第2页
第2页 / 共65页
visualbasic程序设计课件之第8章界面设计工具_第3页
第3页 / 共65页
点击查看更多>>
资源描述
单击以编辑母版标题样式,单击以编辑母版文本样式,第二级,第三级,第四级,第五级,*,第8章 界面设计工具,8.1 通用对话框,8.2 菜单设计,8.3 多重窗体和多文档界面,*,8.4 工具栏和状态栏,*,8.5 RichTextBox控件,*,8.6 应用程序向导,8.1 通用对话框(DialogBocx),对话框是用户和计算机交互的主要手段。对话框中可以输入信息,也可以显示信息。,VB可以使用三类对话框:,预定义对话框,:是VB系统定义的对话框,用户不必设计。如InputBox、MsgBox,是用来调用预定义对话框的两个函数,通用对话框,:是VB系统借用Windows提供的六种标准对话框 (打开、另存为、颜色、字体、打印机和帮助),它们共用一个控件,自定义对话框,:实际上是由用户自行设计的窗体,设置ControlBox=False、MaxButton =False、MinButton =False ,BorderStyle=Fixed Dialog。,工程/部件,选定 部件标签,选定Microsoft CommDialog Control 6.0,确定,(2)在窗体上,通用对话框名称为CommonDialog1,与时钟控件一样,通用对话框既不能放大,也不能缩小,8.1.1 通用对话框,1. 通用对话框控件的使用,(1)将通用对话框控件添加到工具箱,(3)在同一窗体上无论要弹出哪一种或几种对话框,都只要一个CommonDialog控件,可通过通用对话框的“属性页”或程序代码设置不同类型对话框的主要属性,右击控件,从快捷菜单中选择“属性”,左击控件,“视图”“属性页”,(4)通过程序代码弹出不同类型的对话框,在“属性页”设置完对话框的属性后,对话框并不出现在窗体上。通常它要与命令按钮或菜单联合使用,通过对命令按钮或菜单的编程来弹出指定的对话框,在程序中给Action属性赋值,如:,CommonDialog1.Action=1,在程序中用Show方法,如:,CommonDialog1.showOpen,2. 通用对话框共同属性,Name:CommonDialog,Action:打开通用对话框的方式 (只能程序设置),DialogTiltle:通用话框标题(仅能设置打开和另存为),CancelError :对通用对话框中“取消”按钮的响应,True-选择“取消”按钮时出现错误警告,并将错误对象Err.Number自动置为32755(cdCancel),以供程序判断,False(缺省)-选择“取消”按钮时没有错误警告,Flags:设置对话框中的某些选项,不同的对话框,使用不同的Flags参数(保存在CommonDialog的属性库中),通常,使用“字体”对话框时,必须提前对Flags属性进行设置,其他对话框可不予设置。,8.1.2 “打开”和“另存为”对话框(1)“打开”和“另存为”对话框的属性设置,DialogTiltle,FileName,InitDir,Filter,DefaultExt,FilterIndex,Flags,FilterIndex,InitDir,Filename,Filter,文件列表框,标题,(2) 主要属性,对话框标题(DialogTitle):默认“打开”和“另存为”,文件名称(FileName):,指“打开”对话框中“文件名”列表框中显示的文件名,可以用文件统配符,也可以包含路径FileTitle:只在程序中有效,当用户在“文件名”下拉列表框中选择了文件后,返回用户选择的文件名,不包含路径,过滤器(Filter):指放入“打开”对话框“文件类型”下拉列表框中的内容,格式为“文件说明|文件类型”。例如,,文本文件,|*.TXT|,Word文档,|*.DOC|,所有文件,|*.*,文件类型,文件名,过滤器索引(FilterIndex),整型值,表示在,文件类型,列表框中首先显示的文件类型序号,若显示第二组,则取值1。它与过滤器配合,根据用户选择的不同文件类型显示相应类型的文件,初始化路径(InitDir),指定“打开”或“另存为”对话框中的初始目录,默认扩展名(DefauleExt),“另存为”对话框中默认的文件扩展名,取消引发错误(CancelError),加对勾表示若用户按下“取消”按钮将出现错误警告,错误标志值CancelErr为32755(CdCancel)以供程序判断;否则,没有错误警告。,例8.1 建立一个“打开”对话框,单击窗体上“文件”按钮,弹出“打开”对话框,对话框中只允许显示文本文件,初始目录为“C:Winnt”。当选定一个文本文件后,单击对话框中的“打开”按钮,在标签上显示所选择的文件名及其路径,若单击“取消”按钮,则显示“放弃操作”。,(1)界面设计 (2) 填写如下属性页,Dialog1,(3)对命令按钮进行click事件编程,目的是弹出“打开”对话框,并根据用户选定的文件将该文件的路径及名称显示在标签中。若按了“取消”按钮,,,则显示错误警告信息。,Private Sub Command1_Click(),On Error GoTo nofile 设置错误陷阱,Dialog1.ShowOpen Dialog1.Action = 1,Label1.Caption = Dialog1.FileName 显示选择的文件名,Exit Sub 正常退出本过程,nofile: 以下为错误处理,If Err.Number = 32755 Then 单击取消按钮,Label1.Caption = 放弃操作,Else,Label1.Caption = 其他错误!,End If,End Sub,8.1.3 “颜色”对话框,主要属性,DialogTitle:标题,默认“颜色”,不可更改,Color:返回或设置选定的颜色(在属性页中不必设置),例如: CommonDialog1.ShowColor,Text1.ForeColor = CommonDialog1.Color,可弹出,颜色对话框供用户选择文本框的文字颜色,例8.2 在例8.1的窗体上增加一个“颜色”命令按钮,用于打开“颜色”对话框,并设置标签的前景颜色。,注意:例8.1的窗体中已放置了对话框控件,因此本例不必再放置该控件,只要用action或showcolor直接打开即可,Private Sub Command2_Click(),Dialog1.CancelError = False,Dialog1.ShowColor Dialog1.Action=3,Label1.ForeColor = Dialog1.Color,End Sub,8.1.4 “字体”对话框,FontUnderline,FontName,FontBold FontItalic,、,FontSize,FontStrikethru,Color,Min、Max,字体样式中包含的选项,1. 属性页,(2) 主要属性,Flags属性,&H1屏幕字体,&H2打印机字体,&H3屏幕字体和打印机字体均有,&H4使对话框显示帮助按钮,&H100出现删除线、下划线和颜色选项框,通常设置:CommonDialog1.Flags=&H3 Or &H100,Font属性集:表示是否默认选中指定的Font属性,FontName、FontSize、FontBold、FontItalic,FontStrikeThru、FontUnderline,Color,当Flags含有&H100时,可选择字体的颜色,例8.3 在例8.1中增加“字体”对话框设置标签中的字体,要求字体对话框内出现删除线、下划线和颜色选项。,注意:“字体”对话框一定要设置Flags属性,可将属性页的字体名称设置默认字体,例如:宋体,Private Sub Command3_Click(),Dialog1.Flags = &H3 Or &H100,Dialog1.ShowFont,Dialog1.Action=1,If Dialog1.FontName Then,Label1.FontName = Dialog1.FontName,End If,Label1.FontSize = Dialog1.FontSize,Label1.FontBold = Dialog1.FontBold,Label1.FontItalic = Dialog1.FontItalic,Label1.FontStrikethru = Dialog1.FontStrikethru,Label1.FontUnderline = Dialog1.FontUnderline,Label1.ForeColor = Dialog1.Color,End Sub,Dialog1,8.1.5 “打印”对话框(必须安装打印机才能使用),主要属性,FromPage:起始页号,Topage:终止页号,Copies:打印份数(如果打印驱动程序不支持多份打印,该属性有可能始终返回 1),打印对话框打开后,用Printer对象进行打印操作,主要方法有:,Print 开始打印,EndDoc 结束打印,例8.4 在例8.1中增加命令按钮“打印”,调用“打印”对话框,打印标签中的文字。,Private Sub Command4_Click(),Dialog1.ShowPrinter,For i = 1 To Dialog1.Copies,Printer.Print Label1.Caption,Next i,Printer.EndDoc,End Sub,8.1.6 “帮助”对话框,用于调用应用程序的联机帮助文件窗口,帮助文件需要用其它工具制作,如Microsoft Windows Help Compiler。,主要属性,HelpCommand,设置或返回联机帮助类型,HelpFile,指定Help文件的文件名及路径,HelpKey,设定在帮助窗口中能显示由HelpKey指定的帮助信息,HelpContext,设置或返回帮助上下文标识号ID,例8.5 编制程序,当单击“显示记事本帮助”按钮时,调用Notepad.hlp文件,首先进入“创建标题和页脚”的帮助页面。,Private Sub Command1_Click(),CommonDialog1.HelpCommand = cdlHelpContents,CommonDialog1.HelpKey = 创建标题和页脚,CommonDialog1.HelpFile =,C:WINNTHELPNOTEPAD.HLP,CommonDialog1.ShowHelp,End Sub 记事本帮助窗口,*8.2 自定义对话框,1.自定义对话框的设计,用户自行设计对话框时,完全参照窗体的设计方法,将所需要的按钮、文本框、列表框、组合框等放置到窗体上,并编制按钮的事件过程。,因为对话框没有控制菜单框、不能改变大小、没有最大化和最小化按钮,因此应设置窗体的下述属性:,BorderStyle 1 (单线边框),ControlBox False (控制菜单框),MaxButton False (最大化按钮),MinButton False (最小化按钮),2. 自定义对话框的显示,(1)模式对话框:在继续操作程序的其他部分前,必须关闭,(2)非模式对话框:允许在继续操作程序的其他部分前,不用关闭,而仅仅在对话框与其他窗体之间转移焦点。,模式对话框用带Style参数(vbModal)的Show方法。,frm.Show vbModal (frm为对话框的name,vbModal为style参数值),非模式对话框用不带Style参数的Show方法。,frm.Show,通常在运行窗体的某个命令按钮后,显示对话框,8.3 菜单设计,菜单,下拉式菜单,弹出式菜单,(快捷菜单或上下文菜单),菜单也是控件,但它不在工具箱中,而要通过特殊的工具-菜单编辑器来创建。,无论是下拉式菜单,还是弹出式菜单,都要用菜单编辑器建立,。,分隔线,主菜单名,快捷键,热键,下级子菜单标记,主菜单条,菜单项,子菜单名,8.3.1 下拉式菜单的设计,1.打开菜单编辑器,在设计模式下,“工具”-“菜单编辑器”,右单击窗体,在弹出的快捷菜单中选择“菜单编辑器”,菜单编辑器中提供了菜单对象的各种属性,用户只要输入各属性的值,就可以创建一个菜单项。每创建一个菜单项,编辑窗口下部的显示区中会显示出来。,所有菜单项输入完,按“确定”按钮。,菜单列表框,菜单项属性,操作按钮,1),标题,(Caption)框 菜单项的Caption属性,标题是运行界面上显示的菜单名称,如复制、粘贴等,热键,是指可以用Alt+热键打开菜单。非底层菜单可以有热键。热键的设定是在标题前加&或在标题后加上一个&和一个作为热键的字母。如:若标题为File,可以用&File指定F为热键,显示为:,F,ile;若标题为“文件”,可以用文件(&F)指定F为热键,显示为:文件(,F,);,2),名称,(Name)框 菜单项的Name属性,程序中通过名称来引用菜单。,3),分界线,:若需要将几个菜单项作为一组,需加上分界线,可以在标题框中填入一个减号(-),并在名称框中填入某个名称。,4),快捷键,(Shortcut):非顶层菜单可以有快捷键。快捷键指的是不用打开菜单,直接用快捷键执行菜单命令,注意不要使用Windows中已定义的快捷键,5,),复选,(Checked)检查框 该属性只对底层菜单有效,在菜单项前面加上“,”,表明该菜单项已选中。,6),有效,(Enabled)检查框 决定该菜单项有效还是呈灰色显示,7,),可见,(Visible)检查框,设置是否将菜单项显示出来,不显示的菜单不能使用,下面的菜单项将顺序上移,8),协调位置,(Negotiate Position),决定菜单项是否及如何显示,0None:菜单项不显示,1Left:菜单项靠左显示(只对顶级菜单项有效),2Middle:菜单项居中显示(只对顶级菜单项有效),3Right:菜单项靠右显示(只对顶级菜单项有效),9),索引,确定该菜单项在控件数组中的序号,10),帮助上下文ID,(Help Context ID),帮助信息的上下文编号,输入一个数值,用于查找帮助主题。,11),显示窗口列表,(Window List),在MDI(,多文档窗口)应用程序中,确定菜单控件是否包含一个打开的MDI子窗口标题。该属性只对MDI窗体和MDI子窗体有效,对普通窗体无效。,12,),和,按钮:提高或降低菜单的级别。,顶级菜单为0级,其下级菜单为1级,一级菜单的下级菜单为2级,最底层可以是5级,“”:前面加“.”,降低该菜单的级别。,“”:前面“.”消失,提高该菜单的级别,13),和,按钮,移动菜单项的位置。,14),插入,(Insert)按钮,在选中的菜单前面插入一个菜单项,15),删除,(Delete)按钮,删除选中的菜单项,2. 事件过程编码,1)非底层菜单不必编码,只要用左键单击,就可以打开其下级菜单,2)每个底层的菜单都必须进行Click事件过程编码,以执行该菜单的功能。,3)为简化编程,可以将若干个具有相同事件过程的菜单控件组织成控件数组(方法是对不同的标题使用相同的名称)。对控件数组的一个元素编制的程序可以为该数组的所有成员公用。,例8.6 参照Windows的记事本,建立一个有菜单功能的文本编辑器。,1. 设计界面,菜单设计,运行界面,2. 建立菜单,3. 事件编程,新建:new_click(),打开:Open_Click(),Private Sub FileOpen_Click(),打开功能,On Error GoTo nofile 设置错误陷阱,CommonDialog1.InitDir = “C:Windows” 设置打开对话框属性,CommonDialog1.Filter = 文本文件 | *.Txt,CommonDialog1.CancelError = True,CommonDialog1.ShowOpen 或用Action = 1,Text1.Text = 清除文本框的内容,Open CommonDialog1.FileName For Input As #1, 打开文件进行读操作,Do While Not EOF(1),Line Input #1, inputdata 读一行数据到变量,Text1.Text = Text1.Text & inputdata & vbCrLf vbCrLf为回车换行,Loop,Close #1 关闭文件,Exit Sub,nofile: 错误处理,If Err.Number = 32755 Then Exit Sub 单击取消按钮,End Sub,保存:save_Click(),另存为:save_as_Click(),退出:quit_Click(),Private Sub Quit_Click(),退出功能,End,End Sub,Dim st As String,Private Sub Copy_Click(),复制功能,st = Text1.SelText 将选中的内容存放到st变量中,Copy.Enabled = False 进行复制后,剪切和复制菜单无效,Cut.Enabled = False,Paste.Enabled = True 粘贴菜单有效,End Sub,Private Sub EditCut_Click(),剪切功能,st = Text1.SelText 将选中的内容存放到st变量中,Text1.SelText = 清除选中的内容,实现了剪切,Copy.Enabled = False,Cut.Enabled = False,Paste.Enabled = True,End Sub,Private Sub EditPaste_Click(),粘贴功能,Text1.SelText = st 将选中的内容存放到st变量中,End Sub,Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single),鼠标拖动功能,If Text1.SelText Then,Cut.Enabled = True 当拖动鼠标选中要操作的文本后,剪切、复制菜单有效,Copy.Enabled = True,Paste.Enabled = False,Else,Cut.Enabled = False 当拖动鼠标未选中文本,剪切、复制菜单无效,EditCopy.Enabled = False,EditPaste.Enabled = True,End If,End Sub,8.3.2 菜单项的动态增减,用编程的方法实现菜单项的动态增加或减少,(1)预留用于增添新菜单项的菜单控件数组:在菜单编辑器中设计菜单时,预留出一个菜单控件数组,即只有名称(该名称为数组名称)、没有标题、Index,属性值为0、Visual属性值为False 。,(2)动态增添或删除菜单项:用Load命令增添菜单项,;用,Unload命令删除菜单项,Load 菜单控件数组名(下标值),Unload 菜单控件数组名(下标值),(3)编制事件过程:编制一个菜单控件数组的Click过程,该过程中应实现新增菜单项的功能,例8.7 使例8.6中的文件菜单中能保留最近打开过的文件名。增加一个主菜单“删除菜单项”,以便将新增添的菜单项删除。,最近打开过的文件,(1)进入菜单编辑器,在文件菜单的“退出”选项前插入一个菜单数组,标题为空,名称为RunMenu,Index=0,Visible=False,并增加一条分隔线,标题为-,名称为bar3。,在主菜单栏中增加一个菜单,标题为“删除菜单项”,名称为MenuDel,Enabled=True,Visible=True,(2)修改Open_Click事件过程,每打开一个文件(仅限前四个)将该文件名及路径添加到文件菜单中:,Dim iMenucount%,Private Sub Open_Click(),iMenucount = iMenucount + 1,If iMenucount 4 Then 如果文件数大于4,n = 4,Else,n = iMenucount,End If,For i = 1 To n,Unload RunMenu(i) 删除菜单项,Next i,iMenucount = 0 重置文件打开数,bar3.Visible = False 隐含分隔线,End Sub,8.3.3 快捷(弹出)菜单的设计,快捷菜单指的是在程序运行时,通过单击鼠标由PopupMenu方法弹出的某个菜单的下级菜单,1. 用菜单编辑器制作各级菜单,若希望弹出菜单的上级菜单不显示在窗体上,就将该上级菜单设置成不可见;否则,上级菜单项既显示在窗体上,也能用PopupMenu弹出。,任何非底层菜单都可以制作弹出菜单。,2. 弹出某菜单的快捷菜单的方法,通常在某个对象上单击鼠标,用PopupMenu方法弹出指定菜单的快捷菜单:,对象.PopupMenu 菜单名称,标志,x,y,对象:默认为当前窗体,菜单名称:指的是要弹出的快捷菜单的上级菜单名,而不是菜单标题,标志 :可用“或”运算同时确定弹出菜单的位置与性能,位置,0或vbPopupMenuLeftAlign:,弹出菜单的左边定位于x(默认),4或vbPopupMenuCenterAlign:,弹出菜单的位置以x为中心居中,8或vbPopupMenuRightAlign:,弹出菜单的右边定位于x,性能,0或vbPopupMenuLeftButton:,用鼠标左键弹出快捷菜单,2或vbPopupMenuRightButton:,用鼠标左、右键均能弹出快捷菜单,x,y:快捷菜单的位置(x,y,坐标),默认使用鼠标的坐标,例如:在Text1中单击鼠标弹出“Edit”的下级菜单,且弹出菜单以x为中心(Edit可设置成不可见,下级菜单可见),private Sub Text1_click(),PopupMenu Edit,vbPopupMenuCenterAlign _,Or vbPopupMenuRightButton, x, y,End Sub,在Text1中单击鼠标右键弹出“Edit”的下级菜单,且弹出菜单以x为中心,Sub Text1_MouseDown(Button%, Shift%, X!, Y!),If Button = 2 Then,PopupMenu Edit , 4,End If,End Sub,if button=1 Then,PopupMenu Muldiv , 4,End If,则用鼠标左键来弹出快捷菜单。,8.4 多重窗体和多文档界面(MDI),多重窗体,:一个应用程序中含有多个并列的普通窗体,每个窗体都有自己的界面和代码,例如,主窗体上有若干个选项,单击某个选项,可弹出另一个窗体,多文档界面,:一个应用程序的父窗体中包含多个文档子窗体。,例如,记事本只能打开一个文档,称为单文档界面;Word、Excel等可以同时打开多个文档,称为多文档界面,8.4.1 多重窗体的操作,1. 添加窗体,“工程”“添加窗体”或工具栏上“添加窗体”按钮,新建 在当前工程中新建一个窗体,现存 将已有的.frm窗体添加到当前工程中,2. 设置启动对象,默认FORM1为启动对象,“工程”“属性”设置某窗体或Main子过程为启动对象,Main子过程必须放在标准模块中,标准模块通过“工程”“添加模块”添加,3. 有关窗体的语句和方法,(1) 将窗体装入内存,Load 窗体名称,(2) 将窗体从内存删除,Unload 窗体名称,(3) 显示窗体,窗体名称.Show 模式,模式,0 Modal:关闭才能对其它窗体进行操作,1 Modeless:可以对其它窗体进行操作,Show具有装入窗体和显示窗体两重功能,并触发Activate事件,(4) 隐藏窗体,窗体名称. Hide,窗体的加载,窗体的卸载,所触发的事件,所触发的事件,Initialize,Load,Resize,Paint,建立窗体,装入窗体,显示在屏幕上,New或VB自动建立,Load语句,Show方法,隐藏窗体,删除窗体,QueryUnload,Unload,Terminate,4. 不同窗体间数据的存取,(1) 存取控件中的属性,窗体.控件.属性,Form1中Text1的值为Form2中Text1与Text2的和 Text1=Val(Form2.Text1)+Val(Form2.Text2),(2) 存取变量的值,窗体.全局变量名,要被另一窗体存取的变量必须定义为Public变量,通常将被多个窗体存取的变量定义在标准模块(.BAS)中,例8.8 输入和计算学习成绩。,设置三个窗体和一个标准模块:窗体1为主窗体,含三个命令按钮,窗体2用于输入成绩,窗体,3用于计算平均分、总分及输出。标准模块multi.bas用于设置全局变量,通过“工程/添加模块”设计。,标准模块:,Public MATH As Single,Public PHYSICS As Single,Public CHEMISTRY As Single,Public CHINESE As Single,Public ENGLISH As Single,本例中的标准模块,只用来定义全局变,量,不含过程,主窗体,二级窗体,*,4.应用程序启动时的快速显示技术,快速显示技术指的是在程序启动时利用一个非常简单的窗体来显示与程序有关的各种信息,如应用程序名、版本和一个简单的位图等,使得启动过程不显得单调和漫长。,制作快速显示窗体的方法:,(1)利用多窗体自行设计快速显示窗体,(2)使用VB 6.0提供的快速显示窗体模板frmSplash,其步骤为:,“工程”-“添加窗体”,弹出添加窗体对话框,选择对话框中“新建”选项卡下的“展示屏幕”,并单击“打开”,快速显示窗体模板frmSplash将被加入到工程中,可对该窗体进行适当改进,编制标准过程模块Main(),使用“工程”菜单中的“属性”命令,在“启动对象”列表框中选择Sub Main为启动对象。由MainO调用其他窗体,快速显示窗体的显示: 用Main子过程为启动对象,用Show方法显示快速显示窗体(窗体.Show),例8.8-1 对例8.8增加快速显示,8.4.2 多文档界面(MDI),1. 多文档界面的特征,(1) 多文档界面由主窗口(父窗口、MDI窗口)和子窗口(文档窗口)组成,所有的子窗口具有相同的功能,(2) 所有子窗口均显示在MDI窗口的工作区中,(3) 当子窗口被最小化时,其图标将显示在MDI窗体上,而不时显示在任务栏中;当MDI窗口被最小化时,其所有子窗口也被最小化,但只有MDI的图标显示在任务栏中,(4) 当子窗口被最大化时,它的标题与MDI窗口的标题一起显示在MDI窗体的标题栏上,(5) MDI窗体和子窗体都可以有各自的菜单,当子窗体加载时覆盖MDI窗体的菜单,2. 多文档界面的设计,(1) 创建MDI窗体,“工程”“添加MDI窗体”创建MDI窗体,它是放置子窗体的容器,MDI窗体一般有菜单栏、工具栏、状态栏,但不含文本框,标准窗体,MDI窗体,MDI子窗体,(2) 创建MDI子窗体,“工程”“添加窗体”,并将窗体的MDIChild属性设置为True,要创建多个子窗体,通过窗体类来实现:,Public Sub FileNewProc(),Dim,NewDoc,As,New frmMDIChild,No = No + 1,NewDoc.Caption = no & No,NewDoc.Show,End Sub,MDI子窗体可有菜单栏,但必须有文本框。,MDI子窗体的Name,3. MDI窗体与子窗体的交互,(1)活动子窗体和活动控件,MDI窗体的两个属性:ActiveForm 和ActiveControl,例:将子窗体的文本框中所选文本复制到剪贴板上。,ClipBoard.SetText frmMDI.ActiveForm.ActiveControl.SelText,(2)显示MDI窗体及其子窗体,显示任何窗体的方法为show,还有有关规则:,加载子窗体时,其父窗体会自动加载并显示;反之则无,MDI,窗体有,AutoShowChildren,属性,决定是否自动显示子窗体。,(3),维护子窗体的状态信息,(4),用,QueryUnload,卸载,MDI,窗体,3. 多文档界面应用程序中的“窗口”菜单,(1)显示打开的多个文档窗口,要在某个菜单上显示所有打开的子窗体标题,只需利用菜单编辑器将该菜单的WindowList属性设置为True。,(2),排列窗口,利用Arrange方法进行层叠、平铺和排列图标。,形式: MDI窗体对象.Arrange 的排列方式:,8.5 工具栏和状态栏,“Microsoft Windows Common Controls 6.0”将控件添加到工具箱,通过ToolBar、ImageList组合使用建立工具栏, (1)在ImageList控件中添加所需的图像。,(2) 在ToolBar控件中创建Button对象。,(3)在ButtonClick事件中用Select Case语句对各按钮进行相应的编程。,1. 在ImageList控件中添加图像,ImageList控件不单独使用,专门为其他控件提供图像库。,索引(Index)、,关键字(Key),在ToolBar,中引用,图像文件的扩展名为: .ico、.bmp、.gif、.jpg等。,2. 在ToolBar控件中添加按钮,1) 为工具栏连接图像,ToolBar,与,ImageList的连接,工具栏样式,2) 为工具栏增加按钮,索引(Index)、关键字(Key)每个按钮的编号、标识,ButtonClick事件中引用;,图像(Image) ImageList对象中的图像,值可以是Key或Index,样式(Style),共6种,除菜单按钮(5)外的5种样式,3. 响应ToolBar控件事件,ButtonClick对按钮样式为02,ButtonMenuClick。前者,后者对样式为5的菜单按钮。,(1)用索引Index确定按钮 (2)用关键字Key确定按钮,Private Sub Toolbar1_ButtonClick(Byval Button As ComctlLib.Button),Select Case Button.Index,Case 1,FileNewProc,Case 2,FileOpenProc,End Select,End Sub,注意:第1个按钮的,Index,值为1。用,Index,还是用,Key:Key,可读性好,可维护性好。,Select Case Button.Key,Case TNew,FileNewProc,Case TOpen,FileOpenProc,.,4. 状态栏,状态栏显示系统信息和对用户的提示,如:系统日期、软件版本、光标的当前位置、键盘的状态等。一般在窗口的底部。,1),建立状态栏,可插入图像,显示的文本,样式,RichTextBox控件可以输入和编辑文本,还可以实现多种文字格式、段落等的设置,还有插入图形的功能,可真正构成一个像Word一样的字处理软件。,选择“Microsoft Rich TextBox Controls 6.0”将控件添加到工具箱。,1. 文件操作方法,(1)LoadFile方法,LoadFile方法能够将RTF文件或文本文件装入控件,对象.LoadFile 文件标识符,文件类型,文件类型: 0或rtfRTF为RTF文件(缺省);1或rtfTEXT为文本文件,(2)SaveFile方法,SaveFile方法将控件中的文档保存为RTF文件或文本文件,其形式:,对象. SaveFile(文件标识符,文件类型),8.6 RichTextBox控件,2常用格式化属性,格式化属性,可对该控件中选中的任何部分的文本使用不同的格式。,3. 应用例8.9,4. 插入图像,在RichTextBox控件中可插入 (*.bmp)的图像文件,对象.OLEObjects.Add 索引,关键字,文件标识符,其中:OLEObjects是集合,包含一组添加到RichTextBox控件的对象;,索引和关键字表示添加的元素编号和标识,可省,但逗号不能省。,例如:,RichTextBox1.OLEObjects.Add , ,c:windowscircles.bmp,是方便的程序生成器,用来生成一个应用程序的界面。,选择“文件/新建工程”命令,在其对话框选中“VB应用程序向导”。,1. 选择操作界面,有三种:,8.7 应用程序向导,2. 选取菜单和菜单项,向导提供了文件、编辑、视图、工具、窗口、帮助六个菜单名,每个菜单名下有若干个菜单项。用户可自由地选取、取消菜单名或菜单项。,3. 选取工具栏按钮,提供的工具栏有13个按钮。用户也可根据需要增加(右移所选按钮)或删除(左移所选按钮)按钮。,本章重点,1. 菜单设计主要掌握菜单下拉式菜单和弹出式菜单的设计。,2. 多重窗体多重窗体是指一个应用程序中有多个并列的普通窗体,每个窗体可以有自己的界面和程序代码,完成不同的功能。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 各类标准


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!