中国高校课件下载中心 》 教学资源 》 大学文库

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

文档信息
资源类别:文库
文档格式:PDF
文档页数:12
文件大小:348.86KB
团购合买:点击进入团购
内容简介
华东理工大学:《VB程序设计》课程教学资源(学习指导)第6章 VB界面设计
刷新页面文档预览

第6章VB界面设计 61基本要求 1.熟练掌据运用菜单编辑器建立菜单的方法: 2.掌握通用对话框的使用方法: 3.掌握窗体的显示与隐藏方法: 4.掌握在VB工程运用多重窗体的方法。 62知识点 1.通用对话框(Common Dialog) VB的通用对话框CommonDialog控件就是提供了基于Windows的标准对话框 CommonDialog控件不是VB的内部控件,它是ActiveX控件。使用时选择“工程”菜单的 “部件”命令,米打开“部件”对话框。在其中选择“Microsoft Common Dialog Control6.0 选项,将CommonDialog控件添加到工具箱。VB通用对话框可以打开的Windows标准对话 框界面有:“打开”对话框,“另存为”对话框,“颜色”对话框,“字体”对话框,“打印” 对话柜和“帮助”对话框。在使用通用对话框控件打开标准对话框时,必须对它的 一个 属性进行设置或调用该控件的Show方法,那样才能真正地打开标准对话框中某一种类型的 对话框。 (1)打开对话框 当在程序中把Action属性值设置为1时或调用了Showopen方法,就可以打开通用对 话框的“打开”对话框。在“打开”对话框中,可以翻阅计算机的整个目录结构,查找所需 要的文件。如下图61所示 打理 ②☒ 查找范围@):白。学习指导书 白国, 桌面 4章-11.d 章B易 T-3.dec 用。 同上5 文件名图) 打开@) 文件类型①) 取消 厂以只读方式打开) 图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 用于设置对话框的文件类型列表框中的过 器 通过设定过滤器指定在文件 类型列表框中显示的文件类型。其格式为:文件说明1文件类 ⑤FilterIndex:当指定一一个以上的过滤器时,需使用该屈性确定哪一个作为默认过滤器 显示,默认值为1, (2)另存为对话框 当在程序中把Action属性值设置为2时或调用了ShowSave方法,就可以打开通用对话 框的“另存为”对话框。在“另存为”对话框中,可以翻阅计算机的整个目录结构,查找所 需要的信息。 另存为对话框常用属性基本上与“打开”对话框相似,有一个DefaultExt属性是“另存 为”对话框所特有的,它表示所存文件的默认扩展名。 (3)颜鱼对话框 当在程序中把 tion属性值设置为3时或调用了ShowColor方法,就可以打开通用对 话框的“颜色”对话框。在“颜色”对话框的调色板中提供了基本颜色,还提供了用户的自 定义颜色,即用户可以自己调色。如图6-2. 色 回☒ 自定义色 色 定☐取神 图62颜色对话框 颜色对话框的常用属性是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#…†‡ %#

字体 回冈 确定 icode MS 示例 字将集国) 图6-3字体对话框 在使用“字体”对话框之前,必须设置Flags属性,见下表。假如没有设置Flags属性 值,则使用“字体”对话框时会显示错误提示。 属性 Flags值 说明 CdlCFScreenFonts 屏幕字体 CdlCFPrinterFonts 2 打印机字体 CdICFBoth 3 两者皆有 100 出现删除线、下划线、颜色元素 (5)打印对话框 当在程序中把Action属性值设置为5时或调用了ShowPrinter方法,就可以打开通用对 话框的“打印”对话框。如下图64

‡ % 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☒ 常规 选择打印机 ”西四 准备就 首选项) 查找打印机).. 厂打印到文件正) 份激 因 打印心)☐取消 图64打印对话框 打印对话框不能直接处理打印任务,它仅是一个供用户选择打印参数的界面,所选参数 存于各属性中,再由编程来处理打印任务。属性如下表所示。 属性 说明 Copies 指定打印份数 FromPage 打印起始页号 ToPage 打印终止页号 (6)帮助对话框 帮助对话框用于制作应用程序的联机帮助,它可将已创建的帮助文件取出,并与界面连 接起来,达到显示并检索帮助信息的目的。当在程序中把Action属性值设置为6时或调用 了ShowHelp方法,并且设定了HelpCommand、HelpFile属性值。如: CommonDialogl HelpCommand cdlHelpContents CommonDialogl.HelpFile="c:windows\system32winabc.hlp" Me.CommonD alogl.Action 就可以打开通用对话框的帮助对话框。如下图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#…†‡ %. #

石回区 Q)帮助 用汉洁拼音比较装,可以使用全拼输入法 花的汉语拼音输入,输入过程和书写汉语拼音的过程完全一致。 生园现幸清兵开新国· ·注意得音符号的使用。 例如 图6-5帮助对话相 2.莱单编辑器 选择“工具”菜单的“菜单编辑器”命令,即可打开如图66所示的“菜单编辑器”窗 . 菜单编辑器 标要): 确定 名称): 取消 索引0《):■ 快建键S): 「0eone] 帮助上下文D0: 协调位置@) 0-None 厂选) 口有效 可见) 厂显示宽口列 ←+++」下一个回插入)除 图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,表示窗体是 “模式型”(Moal)的,用户无法将鼠标移到其他窗口,也就是说,只有在关闭该窗体后 才能对其他窗口进行操作。若“模式”为l,表示窗体是“非模式型”(Modeless)的,可 以对其他窗口进行操 “式”的缺省值为0。 体名称” 缺省时为当前窗口 ④Hide方法:将窗体暂时隐藏起来,并没有从内存中副除。其形式为:[窗体名称Hidc 6.多文档界面的设计 开发多文档界面的一个应用程序至少需要两个窗体:一个MDI窗体和一个或若干个子 窗体。在不同窗体中共用的过程、变量应存放在标准模块中。 ①创律和设计MD引窗体 MDI窗体的默认名称为MDIF ,大部分的控件不能放置在MDI窗体中,在此窗体 中只能放置菜单、具有Ag属性的控件和具有不可见界面的控件 ②创建MDI子窗体 先创建一个新窗体(或者打开一个存在的窗体),然后将它的MDIChild属性设置为Tue. ③编写程序代码 建立了MD父窗体、子窗体后,就可以根据要求编写程序代码,其过程与单一窗体相

†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´

同。 ④加拔DI窗体与子窗体 在MDI应用程序中,由于加载子窗体时,其父窗体(MDI窗体)会自动加载并显示 当子窗体被设置为默认的启动窗体时,程序运行后子窗体和MDI窗体两者都会加载。而从 载MDI窗体时,其子窗体并不会随着MDI窗体的加载而自动加载,因此当设置MDI窗体 为启动窗体时,程序运行后只有MDI窗体被加载,若要加载子窗体则应使用Show方法。 7.MDI的属性、事件 (1)MdiChild屈性:设置一个窗体是否被作为MD引子窗体在一个MD引窗体内部显示 (2)ScrollBars属性:设置一个MDI窗体是否有水平滚动条或垂直滚动条。 (3)Win State 属性 该屈性可以取三种值:若取值为0(默认值)表示正常显示窗体:取值为1表示最小化, 即将窗体缩小为一个图标:取值为2表示最大化,即将窗体充满屏幕,在DI应用程序中 子窗体将充满MDI父窗体 (4)Arrange方法:用于重排MDI窗口中的子窗体或图标。格式为: MDl窗体.Arrang 其中:“MDI窗体 ”是需要重新排列的MDI窗体名字,在该窗体内有子窗体或图标:“方 式”指定重排MDI窗体中子窗体或图标的方式。 (5)ouervunload事件 在一个窗体或应用程序关闭之前触发该事件 当MDI窗体被卸载时,QueryUnload事件首先为MDI窗体调用,然后再为每一个打开 的子窗体调用。由于QueryUnload事件在窗体卸载之前被调用,因此可以在事件过程中编写 代码,使得用户能够在窗体卸载前保存那些被修改的窗体。 6.3疑难解析 L.在工程中添加现有窗体时发生加载错误 在使用“工程”菜单中的“添加窗体”命令添加一个现存的窗体时经常发生加载错误 绝大多数是因为窗体名称冲突的缘故。例如,假定当前打开了一个含有名称为Fom1的工 程,如果想把屈于另一个工程的F。m1窗体装入则背定会出错 其实窗体名和窗体文件名可以使用不同的名称,不 定非要相同,但是为了不造成混乱 二者的名称最好一致。在 工程中,可以有两个窗体文件名相同的窗体(须在不同的文件 夹中),但是绝对不能同时出现两个窗体名相同的窗体。 2.装入多窗体程序时出现对象不存在的错误 对于单窗体程序的加载,通常可以通过.vb文件,有时也可以直接单击.丘m窗体文件。 但对于多窗体程序的加截必苑通过yD文件,它把屈于该工程的所有文件(包括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方法出现“无效的过程调用或参数”错误 焦点只能移动可视的窗体或控件上。在窗体的L0d事件完成前窗体或窗体上的控件是 不可视的,所以不能在Form_Load事件中把焦点移到正在加载的窗体上,也不能在Load事 件内使用SetFocus方法将焦点移到窗体上的控件。此外,也不能把焦点移到Enabled或Visible 属性被设置为False的窗体或控件,如果己在设计时将Enabled或Visible屈性设置为False 必须在使用SetFocus方法前将Enabled或Visible属性设置为Tnue 5.与窗体有关的事件 在首次用L0ad语句将窗体(假定该窗体在内存中还没有创建)调入内存之时依次发生 Initialize和Load事件。Initialize是在窗体创建时发生的事件。在窗体的整个生命周期中, Initializ心事件只触发一次。用户可以将一个窗体装入内存或从内存中别除很多次,但窗体的 速立贝有一次。也县说,在用L0ad语句将窗体转入内存时会触发L0ad事件,但并不 定触发Initialize事件。 在窗体从内存中卸载时依次发生QueryUnload和Unload事件。QueryUnload事件可 供造成窗体卸载的原因,即是单击“关闭”按钮,或是程序中执行Unload语句,或在应用 程序中关闭,或者是在Windows中的关闭。如果在QueryUnload事件中把QueryUnload的 参数Cancel设置为True,就会忽略Unload语句,从而不卸载窗体。所以QueryUnload提供 ”取消关闭窗体的知 ,同时也允许在需要时从代码中关闭窗体。 如果使用End语句来结束程序 ,窗体不会接收到QueryUnload事件 而窗体Activate事件仅当窗体成为活动窗口时才发生,窗体必须可见 6。在程序中对通用对话框的属性设置不起作用 在程序中对通用对话框的属性设置必须注意语句的先后顺序,属性设置语句必须放在打 开对话框语句前,否则在程序中对诵用对话框的属性设置在本次使用中不起作用。例如,下 面的程序代码由于先打开对话框,再进行属性设置。在第一次执行本段代码时,无法过滤文 件,ShowOpen语句后面的 性设置语句对下 次执行ShowOpen有效 CommonDialog1.ShowOpen CommonDialogl.FileName ="*.bmp CommonDialogl InitDir ="c\windows CommonDialog1.Filter="图片(,bmp.bmpl所有文件(t.◆y.*" 7.设置通用对话框的CancelError属性为True发生错误 当通用对话框的CancelError属性设置为Tuc时,无论何时选择“取消”按钮,均产生 32755(cdlCancel)号错误。 VB通过系统对象Er来记录程序运行期间所发生的错误。Er对象的Number属性记录 然框由基展选保在有关错送的说明如在Cc居性力e的通用 产生一个错误,Err.Number被设置为3 性被设置为“选择‘取消'”。如果不对错误进行处理,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°!™^-è , /  š›

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

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 属性为 ,如果其Visible属性不设置为 创建的菜 项不显示。另外,样本菜单项在莱单系统中的位置决定了新菜单项出现的位置。 11.在制作工具栏时ToolBar控件无法装入图像 ToolBar控件装入的图像米自与它关联的ImageList控件,必须先将图像添加到ImageList 控件中,然后,在ToolBar控件的“图像列表”下拉式列表框中设置与之关联的ImageList 控件,并为ToolBar控件中各工具按钮选择对应的图像/标。 12.在制作工具栏时无法对mageList控件进行编辑 若要对ImageList控件进行增加、除图像,必须先在ToolBar控件的“图像列表”下 拉式列表框设置“无”,也就是与ImageList控件切断联系,否则VB提示无法对ImageList 控件进行编辑。 13.当改变子窗体的属性后不能自动显示该子窗体 MDI窗体有AutoShowChildren属性,决定是否自动显示子窗体。如果它被设置为Tnue, 则当改变子窗体的属性后,会自动显示该子窗体:如果AutoShowChildren属性被设置为 False,则改变子窗体的属性后,必须用Show方法把该子窗体显示出来 6.4典型例题 例6」编写一个简单的文本文件编辑器。要求具有打开、复制、粘贴、保存、退出功 能。用户界面如下图6-8所示。单击“剪切”菜单(mnuCut),将文本框Textl.text中选定 的内容剪切到剪 单击 “复制”莱单(mnuCopy) 将文本框Textl.t.et中选定的内容复 制到剪贴板:单击“粘贴”莱单(mnuPaste),将剪贴板中的内容粘贴到文本框中当前插入 点处:单击“打开”菜单(mnuOpen),打开“打开”对话框,输入要打开的文本文件名后 单击确定按钮后,文件在Texl中打开。单击“保存”菜单(mnuSave),打开“保存文件 对话框,Text1.text中的内容以指定的路径及文件名保存。单击“退出”菜单(mnuExit). 结束程序。 S简易文本新行器 回☒ 剪切复制贴打开保存退 图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ñÆ

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