




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章VB程序的共用对象,本章所要介绍的对象,并不是定义在某一类程序模块中的对象,而是由VB提供的,不管哪一类程序模块都可以使用它,故称为共用对象。8-1APP对象及其应用如何得知当前应用程序的所在文件夹?利用app对象的path属性app.path:代表的是应用程序所在的文件夹。例如:应用程序放在“E:VB”则读取app.path其值:E:vb例如:应用程序放在“E”则读取app.path其值:E:假设我们要想装入应用程序所在文件夹中的某一个图像文件则图片文件路径可以利用app.path读取。写成:,dimpathasstringpath=app.pathifright(path,1)”thenpath=pathoadpicture(path+”fruit0.gif”)APP对象用来记录程序相关信息的属性利用app对象属性值在程序中可以获取工程属性对话框中项目值。,例:打开ch07练习4.vbp在“工程属性/生成”中填上该应用程序信息:公司名:97软件公司,产品名:菜单试验,主版本:1,次版本:0,修改:0,合法版权:没有版权,欢迎复制。在应用程序主菜单中添加一个菜单命令“关于字体程序”,当选择该菜单命令时,显示有关该程序的信息。(ch08练习3.vbp,8-2clipboard对象及其应用clipboard是VB提供给程序控制剪贴板的一个对象。1Clipboard(剪贴板)对象在VB的程序设计中,如果想要复制数据到剪贴板中或是从剪贴板中提取数据粘贴到程序中,就必须使用clipboard对象所提供的方法:Clipboard对象方法:方法说明getformat检查剪贴板之中否会有文字或图形数据gettext取得剪贴板中的文本数据settext将文本数据复制到剪贴板getdata取得剪彩板中图像数据setdata复制图像数据到剪贴板之中clear清除剪贴板中内容1)检查数据格式getformat由于剪贴板中可以保存多种不同格式的数据,因此在使用其中的数据之前,必须先检查剪贴板中是否含有所需数据,这就使用getformat方法:,Getformat方法及其语法格式:x=clipboard.getformat(数据格式)数据格式说明VBCFTEXT文本格式VBCFBITMAP位图格式如果剪贴板中含有所需的数据格式,则getformat就返回true否则返回false2)文字数据的读取与设置读取剪贴板中文字想要读取剪贴版中的文本格式数据,就需要使用gettext方法,格式:clipboard.gettext(vbcftext)例如:读取文本格式数据,并将其赋给textbox控件的text属性。text1.text=clipboard.gettext(vbcftext)或text1.seltext=clipboard.gettext(),3)将文本复制到剪贴板clipboard.settext文本内容,vbcftext例如:将textbox中的所有内容复制到剪彩贴板之中clipboard.settexttext1.text例如:将textbox中被选内容复制到剪贴板中clipboard.settexttext1.seltext例:编写一个具有剪切、复制、粘贴等功能的简易文本编辑程序(ch08练习5.vbp)8-3错误处理与err对象程序的错误按照严重性可分为“不可处理”和“可处理”两种。下面讨论仅限于可处理的错误。当VB将VB程序编译成可执行文件时,实际上会为VB程序附加上“监测错误的程序代码”。例如:dimx(1to3)asintegerx(4)=100当执行到x(4)=100时候,“监测错误的程序代码”程序就会监测到发生错误,并记录于err对象。,监测到错误时,实际上它有几种处理方式:1)不理会错误,继续向下执行。2)强制程序跳转处理错误的程序的位置。3)显示错误信息,然后结束程序。对应语句:1)onerrorresumenext2)onerrorgoto标记3)onerrorgoto0例:dimx(1to3)asintegeronerrorresumenextforI=1to10 x(I)=100next这个程序会执行到I等于11时候,才跳出循环。,例:dimx(1to3)asintegeronerrorgotoerrmsgforI=1to10 x(I)=100nextIerrmsg:endsub结果:执行到I等于4时候会产生错误,接着会转到标号errmsg语句。例:dimx(1to3)asintegeronerrorgoto0forI=1to10 x(I)=100next结果:当I等于4时候显示错误信息,中断程序。,一般而言,采用“onerrorgoto标记”,的方式处理错误是最为普遍,而处理错误的程序结构大致如下:sub子程序名称()onerrorgotoerrmsg正规程序部分exitsuberrmsg:处理错误程序endsubErr对象处理错误的信息记录在err对象的属性中err.number错误编号err.description错误描述err.source发生错误的工程名称Err对象的实际应用:在感觉上,只要产生错误,就代表程序写得不好,但是实际上善用VB的“可处理错误”的特性,可以帮助程序设计人员达到某些目的。,例:打开ch05练习16.vbp,运行程序,如果我们单击打开命令按钮,在选择字体对话框中我们没有选任何字体,而又单击“取消”按钮时,程序因为读不到字体名而出错,我们可利用err错误处理对象完善该程序。8-4windows通用控件windows通用控件包括:imagelist、treewiew、listview、rogerssbar、slider、statusbar、tabstrip、toolbar等多种。Windows通用控件属于外部的控件,使用之前,必须先利用菜单的“工程/部件/microsoftwindowscommoncontrols6.0”1Imagelist控件主要用途:是存放图像,以提供其它windows通用控制件使用,例如:toolbar(工具条)给imagelist设置图像1)在窗体上放置一个imagelist控件。2)在imagelist上面单击鼠标右键,在出现菜单时,从中选择“属性”命令,然后会出现imagelist控件的“属性页”对话框,在“属性页”对话框中选择“图像”选项卡。,3)在“图像”选项卡中,单击“插入图片”按钮,打开“选定图片”对话框,从中选择要插入图片。再单击“打开”按钮,即可插入图像。如何设置图片的顺序?imagelist的图像插入功能只能将图像插入到已有的图像“之后”,而无法将图像章插入到已有图像“之前”。即是说已插入到imagelist的图像的顺序是不可以改变的,除非删除已有的图像。然后再重新插入。关键字和标记的设置每一张被插入到imagelist的图像,都有含有一个索引(index)表示它在imagelist之中的顺序(从1算起)此外,还有关键字与标记选项值。这两个选项可以不设置,但是如果加以设置,那么将有助于程序的维护和编写。key(关键字):存取图像的关键字,与索引一样可用来存取imagelist之中图像。标记:可用来记录图像的说明文字或额外附加的数据。,Toolbar控件工具栏其实可以视为picturebox与图形按钮的组合。但制作繁琐,相比之下,利用toolbar来制作工具栏就简单多了。1)toolbar与imagelist的链接想制作含有图形按钮的工具栏,首先必须把工具栏所需的图像插入到某一个imagelist之中,然后再由toolbar与这个imagelist产生链接。方可使用toolbar具备图形按钮的功能。例:为ch08练习5.vbp增加一个含有三个图形按钮的工具栏。(ch08/练习5a.vbp)2)为工具栏加入程序设置好图形按钮这后,接下来的问题是当用户单击这些按钮时,到底会发生会么事件。对toolbar而言,不管用户单击的是哪一个按钮,所发生的事件都是buttonclick事件。privatesubtoolbar1_buttonclick(byvaluebuttonasmscomctilib.button)在事件程序中有一个参数button,这个参数是一个button类型的对象,含有多种属性,在程序中通常采用key(关键字)属性来判断用户单击的是哪一个按钮返回参数值:button.key就是单击的那一个按钮的关键字。,所以程序大致可以写成如下:privatesubtoolbar_buttonclick(byvaluebuttonasmsclmctilib.button)selectcasebutton.keycase关键字1按钮1的处理case关键字2按钮2的处理endselectendsub,例:断续上一例,在toolbar1_buttonclick事件程序中写代码:(ch08练习5a.vbp)PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.KeyCasecopymcopy_ClickCasecutmcut_ClickCasepastempaste_ClickEndSelectEndSubPrivateSubForm_Resize()Text1.Left=0Text1.Top=Toolbar1.Heighth=ScaleHeight-Toolbar1.HeightIfh0ThenText1.Height=hText1.Width=ScaleWidthEndSub,选项卡(tab)控件屏幕大小是有限的,如果想在窗体上放置的控件超过了窗体的容量,那么该如何解决这个问题,最简单办法是使用选项卡控件。VB提供选项卡控件有tabstrip和sstab两种,选讲sstab。添加sstab控件:“工程/部件/microsofttabbeddialogcontrol6.0”,对sstab而言,每一个选项卡都有是一个独立的控件放置区,如果想把控件放置在第1个选项卡的区内,只要先选取第一个选项卡,然后将控件放置其中即可。以此类推,所有的控件放置完成时,每一个选项卡都会拥有自已的控件。,Tabs属性与tabsperrow属性sstab默认的选项卡数为3个,如果用户所使用的选项卡数少于3个,可以直接修改tabs属性值,但如果用户所使用的选项卡数多于3个,就要注意另一个属性tabsperrow的属性值,这个属性所代表的意义是每一排的选项卡的个数,默认值等于3。例如:将tabs属性值改为6,则sstab如下图:,Tabs=6,每一排有3个选项卡tabsPerRow=3,例如:将tabs属性值改为6,tabsPerRow=6,RichTextBox控件在前面曾经多次使用到texbox来编写记事本程序,相信你一定发现textbox的缺点,那就是当设置了字体之后,整个textbox的字体会一起被改变,而无法只对其中的某几个字设置字体。为了弥补这个缺陷,VB6提供了RichTextBox控件,它除了可以设置个别文本的字体、大小、颜色这外,也可以设置段落的样式。RichTextBox控件的引用:“工程/部件/microsoftRichTexboxcontrol6.0(sp3)”如何完成“编辑/复制、剪切、粘贴”功能由于richtextbox中的文本包含文本的字体样式设置,如果要把这些字体样式设置随同文本一起进行粘贴,就不能象textbox那样使用“seltext”属性。因为该属性只包含“文本”,并未包含“样式”,为了能够同时存取被选取的文本及其样式,richtextbox提供了SelRTF属性,它既包含了文本,也包含了文本的样式。,例:编写一个写字板程序(ch08ex5d.vbp),1首先将ch08/ex5a.vbp复制并改名为:ch08/ex5d.vbp打开ex5d.vbp,并将窗体另存为ch08/ex5d.frm,并保存工程。2将textbox取消,添加一个richtextbox控件到窗体,代替textbox3在窗体模块上将“text1”串替代为“richtextbox1”此时进行复制、剪切、粘贴并不能进行,要作适当修改。,PrivateSubmedit_Click()mcopy.Enabled=Len(RichTextBox1.SelText)0mcut.Enabled=mcopy.Enabledmpaste.Enabled=Clipboard.GetFormat(vbCFText)EndSubPrivateSubmcopy_Click()Clipboard.SetTextRichTextBox1.SeltextEndSubPrivateSubmcut_Click()Clipboard.SetTextRichTextBox1.SeltextRichTextBox1.Seltext=EndSubPrivateSubmpaste_Click()RichTextBox1.Seltext=Clipboard.GetTextEndSub,修改为“selRTF”,如何设置段落的对齐方式?所谓段落是以换行符结尾的整段文字。设置段落对齐方式的方法十分简单,只要设置richtextbox的SelAlignment属性。SelAlignment属性可取值:rtfleft(=0)表示左对齐rtfright(=1)表示右对齐rtfcenter(=2)表示居中对齐输入光标所在位置的段落,就会自动左对齐、右对齐、居中对齐。如何改变被选取文本的字体和样式想要设置richtextbox被选取文本的字体和样式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智慧物流中心仓储资源租赁合同细则
- 2025年网络安全防护与应急响应服务框架协议
- 2025年跨境贸易金融服务居间代理合作协议
- 餐饮业年度员工技能培训及服务质量保障协议
- 2025年度跨境电商物流解决方案全面合作协议
- 2025年文化产业园区项目知识产权质押贷款与作品使用权协议
- 2025年禽蛋产品配送合同更新及区域冷链物流安全保障条约
- 2025年企业园区全年巡逻守护与应急处理合同
- 2025年度新型环保车库建设项目监理合同
- 2025年大型商场清洁保养外包合同协议
- 2025年秋季新学期全体中层干部会议校长讲话:在挑战中谋突破于坚实处启新篇
- 2025年幼儿园保育员考试试题(附答案)
- 高中数学选修一(人教A版2019)课后习题答案解析
- 中国农业银行笔试题库(含答案)
- GA 1808-2022军工单位反恐怖防范要求
- GB/T 4745-2012纺织品防水性能的检测和评价沾水法
- 焊接工艺要求
- 全员安全生产责任制度
- 工作桌面pad相关gec3000通讯协议v2
- 正压式呼吸器使用与管理规范
- GB∕T 37004-2018 国家物品编码通用导则
评论
0/150
提交评论