当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

华东理工大学:《VB程序设计 Visual Basic Programming》课程教学资源(学习指导书)第6章 VB界面设计

资源类别:文库,文档格式:PDF,文档页数:12,文件大小:348.86KB,团购合买
点击下载完整版文档(PDF)

第6章VB界面设计 6.1基本要求 1.熟练掌握运用菜单编辑器建立菜单的方法: 2.掌握通用对话框的使用方法: 3.掌握窗体的显示与隐藏方法: 4.掌握在VB工程运用多重窗体的方法。 6.2知识点 1.通用对话框(CommonDialog) VB的通用对话框CommonDialog控件就是提供了基于Windows的标准对话框。 CommonDialog控件不是VB的内部控件,它是ActiveX控件。使用时选择“工程”菜单的 “部件”命令,来打开“部件”对话框。在其中选择“Microsoft Common Dialog Control6.0” 选项,将CommonDialog控件添加到工具箱。VB通用对话框可以打开的Windows标准对话 框界面有:“打开”对话框,“另存为”对话框,“颜色”对话框,“字体”对话框,“打印” 对话框和“帮助”对话框。在使用通用对话框控件打开标准对话框时,必须对它的一个Action 属性进行设置或调用该控件的Sow方法,那样才能真正地打开标准对话框中某一种类型的 对话框。 (1)打开对话框 当在程序中把Action属性值设置为1时或调用了ShowOpen方法,就可以打开通用对 话框的“打开”对话框。在“打开”对话框中,可以翻阅计算机的整个目录结构,查找所需 要的文件。如下图6-1所示。 打开 ②☒ 查找范围¢): □.学习指导书 习尔白心国 d vbbb 复件第6章B界面设计-3.doc tu601.bmp 目新建文本文档txt 我最近的文档 tu601.JPG @ Htu602.JPG 四第1章B根述-4.doc 桌面 四第2章-2.doc 第3章-2.doc 第4章-11.doc 我的文档 第5章-2.doe w第6章B界面设计-3.doc 回第6章B界面设计.doc 我的电脑 第7章B文件系统-2.doc 四第8章B数据库应用-6.doc 网上邻居 文件名): 打开Q) 文件类型亿) 取消 厂以只读方式打开®) 图6-1打开对话框 要真正实现文件的打开需要设置几个必要的属性: ①FileName:用于设置和得到用户所选的文件名(包括路径名),属性值为字符串

                 !"#           $%&'()*+,    -.#   $%/'  01$%23'  $%#4567 8 71%89:2;?567       8 5@2A   $%BCDEF# GH<=    -. IJKL7<=827MNO827PQ827R8 27<S8 T7UV8#$%<=-.42WX3YZ  [\]^_`abc$% !"  2defghij<=-.?kYlmn # op<= q r?s  [\t_`O 4ab* !" #$ 2&GH<= 7<=8#7<=8?2GHuvwxyzZ{|}~2€‚ ƒ„%#…†‡ % # ‡ % <= ƒhiˆ‰„%<=‚ƒ_`ŠZWƒ[\L ‹ &' L,_`TŒD5„%Žo‘’Žp2[\tOR#

②FileTitle:用于返回文件名,不包含路径。 ③InitDir:用于指定初始化目录,或返回用户选择的文件目录。 ④Filter:用于设置对话框的文件类型列表框中的过滤器。通过设定过滤器指定在文件 类型列表框中显示的文件类型。其格式为:文件说明「文件类型 ⑤FilterIndex:当指定一个以上的过滤器时,需使用该属性确定哪一个作为默认过滤器 显示,默认值为1。 (2)另存为对话框 当在程序中把Action属性值设置为2时或调用了ShowSave方法,就可以打开通用对话 框的“另存为”对话框。在“另存为”对话框中,可以翻阅计算机的整个目录结构,查找所 需要的信息。 另存为对话框常用属性基本上与“打开”对话框相似,有一个DefaultExt属性是“另存 为”对话框所特有的,它表示所存文件的默认扩展名。 (3)颜色对话框 当在程序中把Action属性值设置为3时或调用了ShowColor方法,就可以打开通用对 话框的“颜色”对话框。在“颜色”对话框的调色板中提供了基本颜色,还提供了用户的自 定义颜色,即用户可以自己调色。如图6-2。 颜色 ②☒ 基本领色B): 自定义颜色C) 厂厂厂■口口■■ ■■■■■■■ 规定自定义颜色)》 确定☐取消」 图6-2颜色对话框 颜色对话框的常用属性是Coo属性,当用户在调色板中选定颜色后,该颜色值赋给 Color属性。 (4)字体对话框 当在程序中把Action属性值设置为4时或调用了ShowFont方法,就可以打开通用对话 框的“字体”对话框。在“字体”对话框中,拥有可供用户选择的字体。如下图6-3

• &(L,„%Ž2/‘’# ™ ) L,š›œž{|2a56„%{|# Ÿ&L,_`„%mn ¡?¢£ #¢_›¢£ š›„% mn ¡?„%mn#>¤¥OL„%¦§¨„%mn © &) *Lqš›YZHª¢£ 42‚c[\«›¬YZ­O®¯¢£ 2®¯tO # opMNO q r?s  [\t_`O  4ab* !" ! 2&GH<= 7MNO8#7MNO8?2GHuvwxyzZ{|}~2€ ‚ƒ°±# MNO²[\+³ª7<=8´µ2KYZ +,* [\'7MN O8¶K23¡N„%®¯·¸Ž# opPQ q r?s  [\t_`O  4ab* !"    2&GH<= 7PQ8#7PQ8bQ¹?()*+³PQ2º()*» ›¼PQ2½GH»¾bQ#…‡ %# ‡ % PQ PQ²[\'   [\2qbQ¹?5›PQ¿2cPQtÀÁ   [\# opR q r?s  [\t_`O  4ab* !" &  2&GH<= 7R8#7R8?2ÂKG)56R#…†‡ %#

字体 ?☒ 字体) 字形) 大小) 常规 六号 确定 (CArial Unicode MS 常规 取消 中@Batang @BatangChe 粗体 小五 eDotum 粗斜体 六号■ QDotumnChe 孕@Gulim 示例 字符集⑧) 图6-3字体对话框 在使用“字体”对话框之前,必须设置Flags属性,见下表。假如没有设置Flags属性 值,则使用“字体”对话框时会显示错误提示。 属性 Flags值 说明 CdlCFScreenFonts 屏幕字体 CdlCFPrinterFonts 2 打印机字体 CdlCFBoth 3 两者皆有 cdlCFEffects 100 出现删除线、下划线、颜色元素 (5)打印对话框 当在程序中把Action属性值设置为5时或调用了ShowPrinter方法,就可以打开通用对 话框的“打印”对话框。如下图6-4

‡ % R 7R8ÃÄ2WX_` & [\2ņ¡#ƅÇK_` & [\ t2È7R84ÉÊË(# [\ & t ¦§  &! &  ÌÍR  &- &   <SyR  & "  ÎÏÐK  &, щÒÓÔՆÖÔÕPQ×Ø o.p<S q r?s  [\t_`O . 4ab* !" -  2&GH<= 7<S8#…†‡ %#

是打印 2☒ 常规 选择打印机 回 添加打印机 5D PDF hp Laser订t Creator 1010 Series Driver 状态: 准备就绪 首选项⑧) 位置: 名 备注: 查找打印机@). 厂打印到文件但) 页面范围 口全部L) 份数C) 日 C选定范围①) C当前页面0 C页码 打印®) 取消 图6-4打印对话框 打印对话框不能直接处理打印任务,它仅是一个供用户选择打印参数的界面,所选参数 存于各属性中,再由编程来处理打印任务。属性如下表所示。 属性 说明 Copies 指定打印份数 FromPage 打印起始页号 ToPage 打印终止页号 (6)帮助对话框 帮助对话框用于制作应用程序的联机帮助,它可将已创建的帮助文件取出,并与界面连 接起来,达到显示并检索帮助信息的目的。当在程序中把Action属性值设置为6时或调用 了ShowHelp方法,并且设定了HelpCommand、HelpFile属性值。如: CommonDialog1.HelpCommand=cdlHelpContents CommonDialog1.HelpFile ="c:\windows\system32\winabe.hlp" Me.CommonDialog1.Action=6 就可以打开通用对话框的帮助对话框。如下图6-5所示

‡ % <S <S/gÙÚÛÜ<SÝÞ23ß'YZ)56<SàáIJ25àá N,â[\?2ãä ;ÛÜ<SÝÞ#[\…†¡# [\ ¦§ $ š›<Såá & - <Sæçè ( - <Séêçè opUV UV,ë­ì ríyUV23GAîï UV„%ðÑ2ñIJò Úæ;2óDñôõUV°±{#q r?s  [\t_`O  4ab * !" /$ 2ñö_›* /$  Õ/$& [\t#…L  /$  0/$    /$&0123  34 3 5"$1    0 &GH<=UV#…†‡ %. #

◇“智能ABC”帮助 日▣☒ 文件)编辑)书签)选项0)帮助) 目录)索引)后退电)打印①) 全拼输入 如果您使用汉语拼音比较熟练,可以使用全拼给入法。 规则 按规范的汉语拼音输入,输入过程和书写汉语拼音的过程完全一致。 提示 。按词输入,司与词之间用空格或者标点隔开。如果您不会输词,可以 一直写下去,超过系统允许的字将个数时,系统将啊铃警告。 。注意隔音符号的使用。 例如: 图6-5帮助对话框 2.菜单编辑器 选择“工具”菜单的“菜单编辑器”命令,即可打开如图6-6所示的“菜单编辑器”窗 口。 菜单编辑器 ☒ 标题①): 确定 名称@): 取消 索引): 快捷键⑤): (None) 卫 帮助上下文ID):D 协调位置@):D-Hone 可 厂复选C) 厅有效但) V可见) 厂显示窗口列表代) 下一个四 插入) 册除) 图6-6菜单编辑器 (1)菜单控件属性区 标题:输入菜单标题及各菜单项的标题,也可以在菜单中创建分隔条。 名称:输入菜单控件的名字,该名字用于在程序代码中引用菜单控件。 索引:在创建菜单控件数组时作为索引。 快捷键:允许为每个命令选定快捷键。 复选:选择该项时,将一个复选框标志放置在菜单上(它只对子菜单项起作用)。 有效:设置菜单或菜单项当前有效。 可见:设置菜单或菜单项当前可见。 (2)编辑区 左、右箭头:用来产生和消除内缩符号,即产生或消除子菜单。 上、下箭头:每次单击都把选定的菜单项在同级菜单内向上、下移动一个位置

‡ %. UV   567E87 89:2½G<=…‡ % 7 8 ÷# ‡ %  op$%[\ø -ùLúû-ùüâ@-ù2ýGH?ï þ# ŽLúû$%ŽR2cŽR, r?$%# õLï $%á4­Oõ#  L O Z9:5› # 5L56c@42AYZ5-`ªo3@æ­p# KL_`a@qÄK# GÅL_`a@qÄGÅ# op ø ÕL;TÓ0è2½aÓ# ªÕ†L s5›@ 0!ªÕ†"#YZ$`#

下一个:将选定移动到下一行。 插入:在列表框的当前行上方插入新的菜单项。 删除:删除当前选定的菜单项。 (3)菜单控件列表框☒ ①列表框区是用来列出当前窗体的所有菜单控件 ②当在标题文本框中键入一个菜单项时,该项也会出现在菜单控件列表框中。 ③在列表框中选取一个已存在的菜单控件,则可以编辑该控件的属性。 ④菜单控件在列表框中的位置决定了该控件是菜单标题、菜单项、子菜单标题还是子 菜单项。 3.弹出菜单设计 弹出菜单是独立于窗体菜单而显示在窗体上的菜单,其显示的位置取决于单击鼠标时指 针的位置。创建弹出菜单分为两步: ①建立弹出菜单:使用菜单编辑器设计菜单,并设置弹出菜单的顶层菜单(主菜单项) 为可见或不可见。 ②设置弹出菜单显示方式:使用PopupMenu方法来显示弹出菜单。PopupMenu方法的 使用形式:[对象]PopupMenu菜单名,标志,x,y 标志:当标志为0时,弹出菜单的顶只能对鼠标左键起反应:当标志为1时,弹出菜单 的顶只能对鼠标左键和右键都起反应:当标志为2时PopupMenu方法只能用在MouseDown 事件过程。 4.多重窗体界面设计 ①添加窗体:创建一个新的窗体或把一个属于其他工程的窗体添加到当前工程中。同 一工程每个窗体的Name属性不能相同。 ②设置启动对象。 5.有关窗体的语句、方法 ①Load语句:把窗体装入内存。Load语句形式:Load窗体名称 ②Unload语句:从内存中删除指定的窗体。Unload语句形式:Unload窗体名称 ③Show方法:显示一个窗体,他兼有加载和显示窗体两种功能。 其形式:[窗体名称].Show模式] 其中:“模式”用来确定窗体的状态,有0和1两个值。若“模式”为1,表示窗体是 “模式型”(Modal)的,用户无法将鼠标移到其他窗口,也就是说,只有在关闭该窗体后 才能对其他窗口进行操作。若“模式”为l,表示窗体是“非模式型”(Modeless)的,可 以对其他窗口进行操作。“模式”的缺省值为0。“窗体名称”缺省时为当前窗口。 ④Hide方法:将窗体暂时隐藏起来,并没有从内存中删除。其形式为:[窗体名称].Hide 6.多文档界面的设计 开发多文档界面的一个应用程序至少需要两个窗体:一个MDI窗体和一个或若干个子 窗体。在不同窗体中共用的过程、变量应存放在标准模块中。 ①创建和设计MDI窗体 MDI窗体的默认名称为MDIForml,大部分的控件不能放置在MDI窗体中,在此窗体 中只能放置菜单、具有Alg属性的控件和具有不可见界面的控件。 ②创建MDI子窗体 先创建一个新窗体(或者打开一个存在的窗体),然后将它的MDIChild属性设置为True。 ③编写程序代码 建立了MDI父窗体、子窗体后,就可以根据要求编写程序代码,其过程与单一窗体相

†YZLA5›"#D†Y^# %ûL ¡qÄ^ª%û&@# ÒÓLÒÓqÄ5›@# op$% ¡ø ‹  ¡ø'; ÑqāK$% • q-ù„³? ûYZ@42c@ýÉщ$% ¡?# ™  ¡?5ðYZîN$%2ÈGH c$%[\# Ÿ $% ¡?$`'›*c$%'-ùÕ@Õ-ùº' @#    (Ñ') ,*ª2>$`ð',+-4š ,$`#ï (ÑþOÎ-L ‹ (ÑL _w2ñ_`(Ñ./o0@p OGÅa/GÅ# • _`(Ñ¥L - $+$ + ;(Ñ#- $+$ +  1¥L 627- $+$ + Ž2-2*24 -Lq-O 42(Ñ.g+- æ3ìq-O 42(Ñ .g+- T æ3ìq-O  4 - $+$ + g  +  4%¢ #    ‹ BCLï YZ&asYZ[,>5 BCDqÄ ?# Y Z '  [\/g´# • _`6#2#   ‹ 8  78Ls9û0N#8  781¥L 8   Ž • 9   78L;0N?ÒӚ›#9   781¥L9    Ž ™ !"  LYZ25g# >1¥L6Ž7!" 6?¥7 >?L7?¥8;«›@A2K T ÎZt #B7?¥8O 2¡' 7?¥n8o p2CA+-"D>5÷2ý&'¦2KDEc¿ fg>5÷]^F­#B7?¥8O 2¡'7G?¥n8o p2G H>5÷]^F­#7?¥8HItO #7Ž8 HI4OqÄ÷# Ÿ / LAJ4æ;2ñÇK;0N?ÒÓ#>1¥OL6Ž7/    =K!„LIJYZì rMN‚ƒÎZLYZ ) TYZaBOZ #/?P¢ ÕQRìN-.?S?# ‹ ï T_w )  ) ®¯ŽO )&  2T1þ$%/g` ) ?2U ?g`ÕEK  [\$%TEK/GÅIJ$%# • ï )  Vï YZ&oaÏ¢ Y´

同。 ④加载MDI窗体与子窗体 在MDI应用程序中,由于加载子窗体时,其父窗体(MDI窗体)会自动加载并显示。 当子窗体被设置为默认的启动窗体时,程序运行后子窗体和MDI窗体两者都会加载。而加 载MDI窗体时,其子窗体并不会随着MDI窗体的加载而自动加载,因此当设置MDI窗体 为启动窗体时,程序运行后只有MDI窗体被加载,若要加载子窗体则应使用Sow方法。 7.MDI的属性、事件 (I)MdiChild属性:设置一个窗体是否被作为MDI子窗体在一个MDI窗体内部显示。 (2)ScrollBars属性:设置一个MDI窗体是否有水平滚动条或垂直滚动条。 (3)WindowState属性 该属性可以取三种值:若取值为0(默认值)表示正常显示窗体:取值为1表示最小化, 即将窗体缩小为一个图标:取值为2表示最大化,即将窗体充满屏幕,在MDI应用程序中 子窗体将充满MDI父窗体。 (4)Arrange方法:用于重排MDI窗口中的子窗体或图标。格式为: MDI窗体.Arrange方式 其中:“MDI窗体”是需要重新排列的MDI窗体名字,在该窗体内有子窗体或图标:“方 式”指定重排MDI窗体中子窗体或图标的方式。 (5)QueryUnload事件 在一个窗体或应用程序关闭之前触发该事件。 当MDI窗体被卸载时,QueryUnload事件首先为MDI窗体调用,然后再为每一个打开 的子窗体调用。由于QueryUnload事件在窗体卸载之前被调用,因此可以在事件过程中编写 代码,使得用户能够在窗体卸载前保存那些被修改的窗体。 6.3疑难解析 1.在工程中添加现有窗体时发生加载错误 在使用“工程”菜单中的“添加窗体”命令添加一个现存的窗体时经常发生加载错误, 绝大多数是因为窗体名称冲突的缘故。例如,假定当前打开了一个含有名称为Fol的工 程,如果想把属于另一个工程的Foml窗体装入则肯定会出错。 其实窗体名和窗体文件名可以使用不同的名称,不一定非要相同,但是为了不造成混乱, 二者的名称最好一致。在一个工程中,可以有两个窗体文件名相同的窗体(须在不同的文件 夹中),但是绝对不能同时出现两个窗体名相同的窗体。 2.装入多窗体程序时出现对象不存在的错误 对于单窗体程序的加载,通常可以通过.vbp文件,有时也可以直接单击.fm窗体文件。 但对于多窗体程序的加载必须通过.vbp文件,它把属于该工程的所有文件(包括m文件 和.bas文件)装入内存。如果通过单击多窗体程序中某一窗体文件,只能加载该窗体文件, 其他文件不能自动装入内存,程序运行时将出现对象不存在的错误。 此外,对于多窗体程序的编辑,当变化了窗体数量后,必须重新保存工程文件,否则, 工程文件不包括新增的窗体文件。 对于记录在工程文件中的窗体文件和模块文件,必须注意所在的目录位置。在复制多窗 体程序对应的文件时不要遗漏,否则,在下次加载时会产生对象不存在的错误。 3.多窗体调用时出现对象不存在的错误 当用Sow方法调用其他窗体时,被调用的窗体必须用窗体对象名,而不是窗体文件名。 否则,会产生实时错误424,要求对象

# Ÿ C= )   ) ì r?2ä,C=42>Yo) pÉ»#C=ñ# q]_`O®¯6#42 r^¿T ) ÎÏÉC=#*C = ) 42>ñ/É^_ ) C=*»#C=2`Uq_` )  O6#42 r^¿K ) ]C=2BƒC=Èì !"  #    !" op " [\L_`YZ'a]­O ) YZ ) 01# op!   [\L_`YZ ) 'aKbcd#aeÙd## op  ! [\ c[\GHðfltLBðtO o®¯tp¡i²ðtO ¡ghž2 ½AhOYZ‡-ðtO  ¡gTž2½AijÌÍ2 ) ì r? Aij ) Y# op  L,"k ) ÷?a‡-#¤¥OL )   ¥ >?L7) 8'‚ƒ"&k  ) ŽR2c0Ka‡-7 ¥8š›"k ) ?a‡-¥# o.p:+49   4% YZaì rDEÃÄlKc4%# q ) ]m=42:+49   4%nVO ) b2W¿ãO YZˆŽT„%ŽGH/Ž2/Y›Gƒ´2~'O*/€‚2 ƒÏŽg„Y…#YZ ?2GHKÎZ„%Ž´oX/„% †?p2~'u/g4щÎZŽ´#  01%2* )345#./ , rC=2²GH¢5$ „%2K4ýGHÙÚ „%# ~,! rC=WX¢5$ „%23s[,c K„%o „% T5 „%p9û0N#…{¢! r?kY„%2gC=c„%2 >5„%/g»#9û0N2 r^4Aщ2/NÊË# U‡2,! r 2qQž*áR¿2WX"&pN „%2aÈ2  „%/&ˆ„%# ,‰| „%?„%T?S„%2WXŠ‹{|$`#ë!  rì„%4/ƒŒ2aÈ2†C=4É2/NÊË#  6* )345#./ q !"  b>542]bWX2Ž2*/'„%Ž# aÈ2Ɉ4ÊË 2ƒ\2#

4.在窗体加载过程中使用SetFocus方法出现“无效的过程调用或参数”错误 焦点只能移动可视的窗体或控件上。在窗体的Load事件完成前窗体或窗体上的控件是 不可视的,所以不能在Form Load事件中把焦点移到正在加载的窗体上,也不能在Load事 件内使用SetFocus方法将焦点移到窗体上的控件。此外,也不能把焦点移到Enabled或Visible 属性被设置为False的窗体或控件。如果己在设计时将Enabled或Visible属性设置为False, 必须在使用SetFocus方法前将Enabled或Visible属性设置为True。 5.与窗体有关的事件 在首次用Lod语句将窗体(假定该窗体在内存中还没有创建)调入内存之时依次发生 nitialize和Load事件。Initialize是在窗体创建时发生的事件。在窗体的整个生命周期中, Initialize事件只触发一次。用户可以将一个窗体装入内存或从内存中删除很多次,但窗体的 建立只有一次。也就是说,在用Load语句将窗体装入内存时会触发Load事件,但并不一 定触发Initialize事件。 在窗体从内存中卸载时依次发生QueryUnload和Unload事件。QueryUnload事件可提 供造成窗体卸载的原因,即是单击“关闭”按钮,或是程序中执行Unload语句,或在应用 程序中关闭,或者是在Windows中的关闭。如果在QueryUnload事件中把QueryUnload的 参数Cancel设置为True,就会忽略Unload语句,从而不卸载窗体。所以QueryUnload提供 了取消关闭窗体的机会,同时也允许在需要时从代码中关闭窗体。 如果使用End语句来结束程序,窗体不会接收到QueryUnload事件。 而窗体Activate事件仅当窗体成为活动窗口时才发生,窗体必须可见。 6.在程序中对通用对话框的属性设置不起作用 在程序中对通用对话框的属性设置必须注意语句的先后顺序,属性设置语句必须放在打 开对话框语句前,否则在程序中对通用对话框的属性设置在本次使用中不起作用。例如,下 面的程序代码由于先打开对话框,再进行属性设置。在第一次执行本段代码时,无法过滤文 件,ShowOpen语句后面的属性设置语句对下一次执行ShowOpen有效。 CommonDialog1.ShowOpen CommonDialog1.FileName ="*.bmp" CommonDialogl.InitDir ="c:\windows" CommonDialog1.Filter="图片(*.bmp)川*.bmpl所有文件(*.*)川*.*" CommonDialog1.FilterIndex 1 7.设置通用对话框的CancelError属性为True发生错误 当通用对话框的CancelError属性设置为True时,无论何时选择“取消”按钮,均产生 32755(cdlCancel)号错误。 VB通过系统对象Er来记录程序运行期间所发生的错误。Err对象的Number属性记录 错误号,Description属性保存有关错误的说明。例如,当在CancelError属性为True的通用 对话框中选择“取消”按钮时,产生一个错误,Err.Number被设置为32755,Description属 性被设置为“选择‘取消’”。如果不对错误进行处理,VB将显示出错消息并停止程序运行。 为防止由于错误造成停止程序运行的问题,可以使用On Error语句捕获错误,然后根据捕 获的错误进行处理。常用On Error语句的形式有: On Error Resume Next'忽略发生错误的命令行,执行下一句命令 On Error GoTo语句标号'当发生错误时转向执行标号所指定的命令行 对于捕获到的错误号,可用分支语句处理。 下面的程序说明当在颜色对话框内选取“取消”按钮时,CommonDialog1.ShowColor 语句产生32755号错误。On Error语句在捕获到错误后,转向执行标号ErrorHandler所指定

 #(-7%&8    )9:;7%6?./ Žg"#Ga$%ª# 8  4%‘€Äaª$%' /G2H/g &  ;8  4%?sŽ"DiC=ª2ý/g 8  4 %0!& +AŽ"Dª$%#U‡2ý/gsŽ"D, 5a5 [\]_`O & a$%#…{î_w4A , 5 a 5 [\_`O &2 WX !& + ÄA , 5 a 5 [\_`O (+#  @!" n 8  78Aoƛc0N?ºÇKï pbû0NÃ4’K ) =5 $?@=5 $@K„%>==?@==1    &) *0  A   !! !  D "! +,./ q  ,  [\_`O (+ 42C£¤4567ð82¥ A..o  pèÊË#  ¢¦§2 , ;‰| r^¨KÊË#, 2 '+ 5 [\‰| ÊËè2$ [\pNKDÊ˦§#z…2q  ,  [\O (+  ?567ð842YZÊË2,'+ 5 ]_`O A..2$ [ \]_`O756©ðª8#…{/ÊË]^ÛÜ2 AÑʱñ«ê r^# O¬êä,ÊË€«ê r^­ù2GH #  ,  78®¯ÊË2W¿Z[® ¯ÊË]^ÛÜ#² # ,  781¥KL # ,  B+ '*   Cš›KÊË9:^2™^†Y89: # , D (  78-è CqKÊË4°!™^-聚›9:^ ,®¯DÊËè2Gþ±78ÛÜ# †J r¦§qPQ05ð7ð842  !"    78 A.. èÊË## ,  78®¯DÊË¿2°!™^-è , /  š›

的命令行。在标签Labell上显示“放弃操作”,并忽略产生错误的那一行命令与标号之间的 所有语句。 Private Sub Commandl Click() On Error GoTo ErrorHandler 错误捕获语句 CommonDialog1.CancelError=True '使选取“取消”按钮时能对出错做出响应 CommonDialog1.ShowColor Text1.ForeColor=CommonDialogl.Color'设置颜色 Exit Sub 无错误时正常退出本过程 以下为错误处理的语句 ErrorHandler: IfEr.Number=32755 Then Labell.Caption="放弃操作 End Sub 8.在使用CommonDialog控件控制字体选择时出现下图6-7所示错误 这是由于没有设置CommonDialog控件的Flags属性,或属性值不正确。通常设置该值 为&H103,表示屏幕字体、打印机字体两者皆有之,并在字体对话框中出现删除线、下划线、 颜色等元素。注意数字前的符号&H,表示十六进制。 字体 襟氨餐蓊蓄德打开“字体”文件夹以便安装宇体。 确定 图6-7字体提示框 9.窗体菜单名、顶层菜单与菜单项的区别 通常出现在菜单栏上的菜单对象叫做菜单名,菜单名以下拉列表形式包含的内容为菜单 项。菜单项可以包括菜单命令、分隔条和子菜单标题。当菜单名没有菜单项时称为“顶层菜 单”,可直接对应一个应用程序。菜单名、顶层菜单与菜单项都是在菜单编辑器中定义,它 们的区别在于: (1)菜单名、顶层菜单不能定义快捷键,而菜单项可以有快捷键。 (2)当菜单包含有热键字母(菜单标题中“&”后的字母)时,按At+热键字母可选 择窗体顶部菜单栏中的菜单项,当子菜单打开时,按热键字母选择子菜单中的菜单项。如果 子菜单没有打开时,按热键字母无法选择其中的菜单项。 (3)尽管所有的菜单项都能响应Cick事件,但是菜单栏中的菜单名通常不需要编写 事件过程。 10.动态菜单创建后不显示 创建动态菜单必须结合菜单项数组,样本菜单项的属性设置如下表所示: Name Caption Index Visible 必需的 可以没有 0 False 表中Index为0,表示样本菜单项是数组的第一个元素,其下标为0。样本菜单项的Name 属性是必需的,它作为数组的名称。Visible可以设为True,如果设为False表示初始时该菜 单项不可见

9:^#-² 85 ª7³F­82ñš›ÊËdY^9:-èè K78# -!+5  ; E>?   # , D ( , /             CÊË®¯78      , 0(+      C5ð7ð84gÑʴѵì    !"      (*&   0    C_`PQ   ,*!+5                            CCÊË4i²¶Ñ³¢   CH†OÊËÛÜ78 , / 2   ),'+ 50A..(" 85 $ 01³F­1 , !+5 # #8    E"EFGHI* )JK $ LM./ ·'ä,ÇK_`   $% & [\2a[\t/i«#²_`ct OF/ 2¡ÌÍRÕ?@# opÃāK@gµì E 4%2~'»?Ž²/‚ƒ X 4%¢ # & TUVWX4YM ï #AWX}Å@á2e³@[\_`…†¡L '  $ ) * 5 W‚ GHÇK & ¡? ) * O 2¡e³@'á YZ×Ø2>†-O #e³@ '  [\'W‚23­OáŽ#5 GH_O (+2…{_O & ¡œ4c @/GÅ#

在程序中用Load语句创建菜单项,用Unload清除菜单项。动态创建的菜单项继承了除 了Index之外的绝大部分属性,所以要对Caption属性设置菜单标题。另外,使用Load语句 建立的菜单项对象的Visible属性为False,如果其Visible属性不设置为True,创建的菜单 项不显示。另外,样本菜单项在菜单系统中的位置决定了新菜单项出现的位置。 11.在制作工具栏时ToolBar控件无法装入图像 ToolBar控件装入的图像来自与它关联的ImageList控件,必须先将图像添加到ImageList 控件中,然后,在ToolBar控件的“图像列表”下拉式列表框中设置与之关联的ImageList 控件,并为ToolBar控件中各工具按钮选择对应的图像/标。 12.在制作工具栏时无法对ImageList控件进行编辑 若要对ImageList控件进行增加、删除图像,必须先在ToolBar控件的“图像列表”下 拉式列表框设置“无”,也就是与ImageList控件切断联系,否则VB提示无法对ImageList 控件进行编辑。 13.当改变子窗体的属性后不能自动显示该子窗体 MDI窗体有AutoShowChildren属性,决定是否自动显示子窗体。如果它被设置为True, 则当改变子窗体的属性后,会自动显示该子窗体:如果AutoShowChildren属性被设置为 False,则改变子窗体的属性后,必须用Show方法把该子窗体显示出来。 6.4典型例题 例6-1编写一个简单的文本文件编辑器。要求具有打开、复制、粘贴、保存、退出功 能。用户界面如下图6-8所示。单击“剪切”菜单(mnuCut),将文本框Textl.text中选定 的内容剪切到剪贴板:单击“复制”菜单(mnuCopy),将文本框Textl..text中选定的内容复 制到剪贴板:单击“粘贴”菜单(mnuPaste),将剪贴板中的内容粘贴到文本框中当前插入 点处:单击“打开”菜单(mnuOpen),打开“打开”对话框,输入要打开的文本文件名后, 单击确定按钮后,文件在Textl中打开。单击“保存”菜单(mnuSave),打开“保存文件” 对话框,Textl.text中的内容以指定的路径及文件名保存。单击“退出”菜单(mnuExit), 结束程序。 。简易文本编指器 ▣x 剪切复制粘贴打开保存退出 abcdsfdssfdewrewr 图6-8例6-1程序界面 解答: (1)新建工程,修改窗体的标题为“简易文本编辑器”。 (2)在窗体上右击鼠标,打开菜单编辑器,创建“剪切”、“复制”、“粘贴”、“打开”、 “保存”、“退出”6个菜单。 (3)在窗体上添加一个文本框,调整其大小如上图所示。 (4)编写“剪切”菜单的单击事件过程,实现将文本框中的文本传送到剪帖板,并清

 r? 8  78ï @2 9   ÆÓ@##Aï @ÇÈ*Ó * ) * ÇuT1þ[\2Hƒ $ [\_`-ù#M‡2 8  78 @2 5 [\O &2…{> 5 [\/_`O (+2ï  @/#M‡2e³@¦§?$`'›*&@щ$`#  #FC$Z[* " ! E":01K\ (   $%9û‡É;»3Dí ) 8$%2WXVA‡ÉBCD ) 8 $%?2W¿2 (   $%7‡É ¡8†½¥ ¡?_`ÃDí ) 8 $%2ñO (   $%?âE56ì‡ÉH-#  #FC$Z[*:  '  E"]^ Bƒ ) 8 $%]^ˆCÕÒӇÉ2WXV (   $%7‡É ¡8† ½¥ ¡_`7C82ý&' ) 8 $%ÊËí¦2aÈ  (C ) 8 $%]^ #  _`ab X4cdTYMeb ) K + !"  " [\2'›'a»##…{3]_`O (+2 ÈqsQ[\¿2É»#c…{ + !"  " [\]_`O &2ÈsQ[\¿2WX !"  scÑ;#   z % XYZÌ„³„% #ƒ\EK g#IJ…†‡ %I #7ÏÊ8o + +p2A„³ (** ?5› 0¾ÏÊDÏι7ë8o + $4p2A„³ (** ?5›0¾ ëDÏι7ÍÎ8o +-p2AÏι?0¾ÍÎD„³?qÄ%û Û7Th…ª‡# op X7ÏÊ84%¢ 2ˆ‰A„³?„³ÓÔDÏÕ¹2ñÆ

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共12页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有