您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Visual-Basic-清华大学vb编程语言基础-第11讲
第十一讲界面设计-2&文件内容提要多窗体和多文挡制作工具栏和状态栏RichTextBox控件剪贴板文件•文件系统控件•文件操作多窗体一个VB应用程序可以包含多个窗体使用“工程”/“添加窗体”命令•“新建”选项卡新建一个窗体•“现存”选项卡把其它工程中的窗体添加到当前工程中设置启动对象程序运行时,首先执行的对象称为启动对象缺省情况下,第一个创建的窗体是启动对象启动对象可以是窗体,也可以是SubMain子过程启动对象是SubMain子过程时,程序启动时不加载任何窗体,以后由该过程决定何时加载某个窗体。多窗体有关的语句和方法Load语句把一个窗体装入内存UnLoad语句删除内存中指定的窗体Load窗体名称UnLoad窗体名称Unloadme多窗体有关的语句和方法Show方法显示一个窗体,具有加载和显示窗体两种功能[窗体名称.]Show[模式]模式有两个取值:0和1•0:窗体为非模态窗口•1:窗体为模态窗口Hide方法隐藏窗体[窗体名称.]hide多窗体-例程序由4个窗体组成的,启动窗体有3个命令按钮,单击此三个按钮,分别显示3个模态窗口多窗体-例PrivateSubForm_Load()LoadfrmForm1LoadfrmForm2LoadfrmForm3EndSubPrivateSubCommand1_Click()frmForm1.Show1EndSubPrivateSubCommand2_Click()frmForm2.Show1EndSubPrivateSubCommand3_Click()frmForm3.Show1EndSubPrivateSubForm_Unload(CancelAsInteger)UnloadfrmForm1UnloadfrmForm2UnloadfrmForm3EndSub多文档界面多文档界面中一个应用程序中包含多个文档(子窗体)多文档界面由父窗口和子窗口组成父窗口(MDI窗体)是子窗口的容器,子窗口(文档窗口)显示各自的文档创建多文档界面多文档界面需要一个父窗体、一个或多个子窗体创建MDI窗体“工程”/“添加MDI窗体”命令MDI窗体中一般有菜单栏、工具栏、状态栏创建子窗体先创建一个普通窗体,然后将其MDIChild属性设置为True标准窗体子窗体父窗体可有菜单栏,但必须有文本框创建子窗体PublicSubFileNewProc()DimNewDocAsNewfrmMDIChildStaticnoAsIntegerNo=No+1NewDoc.Caption=no&NoNewDoc.ShowEndSub要创建多个子窗体,通过窗体类来实现DimNewDocAsNewfrmMDIChildNew关键字表示创建对象,后面是类的名称程序运行时创建一个子窗体:MDI窗体与子窗体的交互活动子窗体和活动控件ActiveForm和ActiveControl属性PublicSubfilecopyproc()Clipboard.SetTextfrmMDI.ActiveForm.ActiveControl.SelTextEndSub在代码中可使用Me关键字指明当前窗体MDI窗体的Arrange方法用来排列MDI中的窗体或图标MDI窗体名称.Arrange方式•0:(vbCascade)子窗体层叠式排列•1:(vbTileHorizontal)子窗体水平平铺•2:(vbTileVertical)子窗体垂直平铺•3(vbArrangeIcons)对最小化的窗体,排列图标frmMDI.Arrange1工具栏设计工具栏设计的步骤:•使用ImageList控件添加工具栏中的图像•在ToolBar控件中创建Button对象•在ButtonClick事件中编程ImageList控件和ToolBar控件位于MicrosoftWindowsCommonControls6.0中ImageList控件添加图像该控件不单独使用,其功能是调用并存储一组图像,供其它控件使用使用属性页设置存储图像图像的编号,在ToolBar的按钮中引用图像的标识名,在ToolBar的按钮中引用已插入的图像数目插入新图像删除选中的图像ToolBar控件添加按钮ToolBar与ImageList的连接为工具栏连接图像工具栏样式ToolBar控件添加按钮为工具栏增加按钮Style=0Style=3Style=4Style=1Style=2每个按钮的编号、标识,ButtonClick事件中引用ImageList对象中的图像,值可以是Key或Index样式有6种响应ToolBar控件事件ToolBar控件常用的事件有两个:•ButtonClick:按钮样式为0~2•ButtonMenuClick:样式为5的菜单按钮用索引Index确定按钮用关键字Key确定按钮PrivateSubToolbar1_ButtonClick(ByvalButtonAsComctlLib.Button)SelectCaseButton.IndexCase1FileNewProcCase2FileOpenProc……EndSelectEndSubSelectCaseButton.KeyCaseTNewFileNewProcCaseTOpenFileOpenProc.....EndSelect工具栏-例PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)WithfrmMDI.ActiveForm.ActiveControlSelectCaseButton.KeyCaseTNewfilenewprocCaseTOpenfileopenprocCaseTSavefilesaveprocCaseTCutfilecutprocCaseTCopyfilecopyprocCaseTPastefilepasteprocCaseTBold.SelBold=Not.SelBoldCaseTUnderline.SelUnderline=Not.SelUnderlineCaseTItalic.SelItalic=Not.SelItalicCaseTLeft.SelAlignment=0CaseTRight.SelAlignment=1CaseTCenter.SelAlignment=2EndSelectEndWithEndSubRichTextBox控件能够显示真文本(.rtf)格式,可以输入和编辑文本,可以实现多种文字格式、段落等的设置,还有插入图形的功能位于“MicrosoftRichTextBoxControls6.0”中文件操作方法RichTextBox控件LoadFile方法将RTF文件或文本文件装入控件对象.LoadFile文件标识符[,文件类型]文件类型:•0或rtfRTF为RTF文件(缺省)•1或rtfTEXT为文本文件文件操作-例PublicSubfileopenproc()IffrmMDI.ActiveFormIsNothingThenfilenewprocWithfrmMDI.ActiveForm.CommonDialog1.Filter=RTF文件(*.rtf)|*.rtf|txt文件(*.txt)|*.txt.CommonDialog1.Action=1If.CommonDialog1.FilterIndex=1Then.RichTextBox1.LoadFile.CommonDialog1.FileNameElse.RichTextBox1.LoadFile.CommonDialog1.FileName,1EndIf.Caption=.CommonDialog1.FileNameEndWithEndSubRichTextBox控件文件操作方法SaveFile方法将控件中的文档保存为RTF文件或文本文件对象.SaveFile文件标识符[,文件类型]PublicSubfilesaveproc()WithfrmMDI.ActiveForm.CommonDialog1.Filter=RTF文件(*.rtf)|*.rtf|txt文件(*.txt)|*.txt.CommonDialog1.Action=2.ActiveControl.SaveFilefrmMDI.ActiveForm.CommonDialog1._FileName,rtfRTFEndWithEndSubRichTextBox控件常用格式化属性RichTextBox控件选中文本SelTextSelStartSelLength字体、字号SelFontNameSelFontSize字型SelBoldSeltalicSelUnderlineSelstrikethru上、下标SelCharOffset0上标0下标常用格式化属性缩排SelIndentSelRightIndentSelHangingIndent颜色SelColor对齐方式SelAlignment0:左1:中2:右RichTextBox控件RichTextBox控件-例PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)WithfrmMDI.ActiveForm.ActiveControlSelectCaseButton.KeyCaseTBold.SelBold=Not.SelBoldCaseTUnderline.SelUnderline=Not.SelUnderlineCaseTItalic.SelItalic=Not.SelItalicCaseTLeft.SelAlignment=0CaseTRight.SelAlignment=1CaseTCenter.SelAlignment=2EndSelectEndWithEndSubRichTextBox控件-例PrivateSubFont_Click()WithfrmMDI.ActiveForm.CommonDialog1.Flags=cdlCFBoth+cdlCFEffects.Action=4EndWithWithfrmMDI.ActiveForm.ActiveControl.SelFontName=frmMDI.ActiveForm.CommonDialog1.FontName.SelFontSize=frmMDI.ActiveForm.CommonDialog1.FontSize.SelBold=frmMDI.ActiveForm.CommonDialog1.FontBold.SelItalic=frmMDI.ActiveForm.CommonDialog1.FontItalic.SelUnderline=frmMDI.ActiveForm.CommonDialog1.FontUnderline.SelStrikeThru=frmMDI.ActiveForm.CommonDialog1.FontStrikethru.SelColor=frmMDI.ActiveForm.CommonDialog1.ColorEndWithEndSub插入图像RichTextBox控件在RichTextBox控件中可插入(*.bmp)的图像文件OLEObjects是集合,包含一组添加到RichTextBox控件的对象索引和关键字表示添加的元素编号和标识,可省,但逗号不能省。对象.OLEObjects.Add[索引],[关键字],文件标识符RichTextBox1.OLEObjects.Add,,c:\cool.bmp剪贴板剪贴板(Clipboard)是VB的预定义对象,可以把数据放到剪贴板中,也可以从剪贴板中取得数据剪贴板本身没有属性和事件,但具有方法源目标剪贴板拷贝粘贴剪贴板SetText方法把由源对象指定的文本放入剪贴板Clipboard.SetText源对象[,数据格式]•数据格式可取1(
本文标题:Visual-Basic-清华大学vb编程语言基础-第11讲
链接地址:https://www.777doc.com/doc-3662003 .html