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

华东理工大学:《VB程序设计 Visual Basic Programming》课程教学资源(学习指导书)第5章 VB常用标准控件

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

第5章VB常用标准控件 5.1基本要求 1.掌握VB标准控件的常用属性和方法: 2.掌握单选按钮、复选框、框架、列表框、组合框的常用属性、事件和方法: 3.掌握滚动条、计时器的常用属性、事件: 4.掌握图形控件的使用方法。 5.2知识点 1.控件及其常用属性 控件是包括在窗体对象内的对象,控件分为三类:内部控件(标准控件)、ActiveX控 件(动态控件)、可插入对象。控件的常用属性: (1)Name属性 VB每一个控件都有Name(名称)属性。Name属性在代码中用于标识窗体、控件或数 据访问对象的名称。 (2)Caption属性 用于确定对象的标题。对于窗体,该属性表示要显示在标题栏中的文本。当创建一个新 的对象时,其Caption属性与Name属性值相同,但它们是两个完全不同的属性 (3)BackColor属性和ForeColor属性 BackColor属性用来返回或设置控件的背景颜色。 ForeColor属性用来返回或设置在控件里显示文本时的前景颜色。 (4)Left、Top、Height和Width属性 Left和Top属性用于设置或返回控件的位置。 Height和Width属性用于设置或返回控件的大小。 (5)Enabled属性 该属性用来确定一个窗体或控件在工程被运行之后是否能够使用。如果某控件的该属性 值设置为True,则该控件有效,若为False则表示无效。 (6)Visible属性 该属性用来确定一个窗体或控件在工程被运行之后是否可见。如果某控件的该属性值设 置为True,则该控件是可见,若为False则表示该控件在工程运行时不可见。 (7)Font类属性 Name(字体名):决定在控件中显示的文本所用的字体。 Siz心(字号):决定在控件中显示的文本所用的字号大小。 Bold(粗体):决定在控件中显示的文本是否为粗体样式。 Italic(斜体):决定在控件中显示的文本是否为斜体样式 Strikethrough(删除线):决定在控件中显示的文本是否带有删除线。 Underline(下划线):决定在控件中显示的文本是否带有下划线。 2.单选按钮(OptionButton) 单选按钮用于建立一系列的选项供用户选择,一般情况是成组出现。单选选项中一次只

                 !"   #$% &     '()*+,-./-.012345/678   798:;?@A 7BC8 & *DEF GH+,IJ KLM-.BC& 78  GNO-.P&-G+,0Q RSTR*PUFVW&XYZ>?[ -.!0\   ]  ^_`0abc'd?efg` 78     hijIklmnop&  hijIkl*qTRVW!rnop& 7 8  ! " # !   GklIijsl&  ! " # ! GklIijtu& 78$%# Q hNO>?+,I*vwxyz{|'}~% &€‚Q ^kl2 &0ƒQA„0…2 ' ƒR†„& 7(8 ' % Q hNO>?+,I*vwxyz{|'}:‡&€‚Q ^k l2 &0ƒQ':‡0…2 ' ƒRQ*vwyz!g:‡& 7)8 4 7ˆ,B85‰O*FTRVWŠ ˆ,& * +7ˆ‹85‰O*FTRVWŠ ˆ‹tu& #7Œ,85‰O*FTRVW'}2Œ,Ž& ,  7,85‰O*FTRVW'}2,Ž *   !& !7‘’85‰O*FTRVW'}A‘’& -# 7•’85‰O*FTRVW'}A•’&      GZ>™ š›0>œž'Ÿ ¡&F>¢£

能并且必须选择其中的一个选项。为了将单选按钮编成一个组,可以采用将单选按钮放入同 一个框架中、将单选按钮放入同一个图片框中或将单选按钮放在同一个窗体上。常用属性及 事件: (1)Caption属性 设置单选按钮边上的的文本标题。可以在按钮的右边显示,也可显示在按钮的左边,由 Alignment属性决定其显示位置。 (2)Alignment属性 设置单选按钮标题的显示位置: O一Left Justify:为默认值,其显示方式为单选按钮在左边,按钮的标题文字在右边: I一Right Justify:非默认值,显示方式为单选按钮在右边,其标题文字在左边。 (3)Style属性 设置单选按钮的样式是标准的还是图形的: O一Standard:单选按钮为标准形式,其标题上只能显示文字,不能显示图形。 1-Graphical:此时单选按钮为非标准形式,在其表面即可以显示文字,也可显示图形。 (4)Value属性 设置或返回单选按钮是否被选中: 当取值为Tue时,单选按钮的中间有一个黑色的实心点或显凹陷状,表示被选中: 当取值为False时,单选按钮的中央为一个空心的圆或显凸起形状,表示未被选中。 (5)常用事件有Click事件、DbIClick事件等。当单击单选按钮时发生Click事件,通 常不需要编写Click事件过程,因为当用户单击单选按钮时,会自动改变按钮的状态。 3.复选框(CheckBox) 复选框用来建立一系列供用户选择的选项,一般为成组出现。一次可以选择一个选项、 多个选项或一个也不选。常用属性、事件和方法: (I)复选框与单选按钮一样也有Caption、Alignment、Style、Value等重要属性,功能 与单选按钮类似,只有Value属性有所区别。复选框的Value属性决定复选框是否被选定, 有三个值: O一Unchecked为默认值,表示未选定,此时复选框按钮方框内为空或为凸起状。 1-Checked表示选定,此时复选框按钮方框内出现一个√或为凹陷状。 2一Grayed表示复选框不可使用,此时复选框为灰色。 (2)复选框的事件:Click和KeyPress事件。 (3)复选框的主要方法:SetFocus方法,将焦点移到指定的控件或窗体。 4.框架(Frame) 框架是一种容器控件,用框架可将一个窗体上的控件分成若干组。在框架容器内的控件 可以和框架一起显示、隐藏、移动和删除。在框架内建立新的控件对象的方法是,单击工具 箱上的控件对象,再在框架里面创建控件。若用双击工具箱控件对象的方法在框架上生成的 控件不属于框架内控件。框架常用属性、事件: (I)Caption属性:设置框架的标题名称。如果Caption属性为空字符,则框架为封闭 的矩形框。 (2)Enabled属性:默认值为True。若将框架的Enabled属性设为False,则程序运行 时该框架在窗体中的标题为灰色,并表示框架内所有控件均被屏蔽,不允许用户对其进行操

~¤¥¦§›\F>?&2¨©ªŸ>?0:«¬ ©­?F©­?#®FI©­*`>?+,¯& ° 5 78  kl±¯VWP&:«*²±TR0³:TR*´±0µ   ‰O\TRsl& 78   klPTRsl5 .¶ /&' 052·¸^0\TR Ž2*´±0PVˆ*²± ¶1 ! /&' 05¹·¸^0TR Ž2*²±0\PVˆ*´±& 78* 0 klŽ'º'#$5 .¶* ##52$Ž0\P¯£~TRVˆ0g~TR#$& ¶2! 5»!2¹$Ž0*\¼½:«TRVˆ0³:TR#$& 7 8& klIij'}xF5 X¾^2 & !0F¿A>?ÀpÁÂÃITÄÅÆ0RxF X¾^2 ' !0FÇ2>?ÈÂÉITÊË$Æ0RÌxF& 78 A   3%  Í&XÎ!ÏÐ   0Ñ gÒSªÓ   Ôw0Õ2X šÎ!0Ö×ØÙÆ9&     hZ>™ š›0>œ2Ÿ ¡&>¢:«›>? Ú?I>?³g&  5 78]>³A     * 0& ÍÛS 0Ü~ ]4Ý0£A & AŠÞß& & ‰O'}xO0 A3?^5 .¶- ! # 2·¸^0RÌO0»! /2ÈI2ÊËÆ& ¶! # RO0»! / ¡>?àI2ÄÅÆ& ¶20# Rg:% 0»!2áp& 785  405'' & 78âS 5*  &' 0©ãÃäåæOI+,&   '>çè"0 :©>?+,¯1Ÿ…é&*è"/ :« >ËTRêëä ‘&*/Z[-. '0Îvì í¯-.0î*q¼YZ&… ïÎvìí-. *¯ÐŸ g G/& 5 78  5klPBC&€   2Ȉð0ƒ2ñò ó$& 78$%# 5·¸^2 &&…© $%# k2 '0ƒwôyz !Q*+,FP2áp0¤R/ŠAõxö÷0gøù š-\úzû

作。 (3)Visible属性:默认值为True。若将框架的Visible属性设为False,则在程序运行 时该框架及其内部的控件全部被隐藏,用户不可见。 (4)常用事件:Click和DblClick事件。 5.列表框(List Box) 列表框用于从其列表项中选择一个或多个选项,但不能直接在列表框中修改列表项的内 容。列表框常用属性、事件和方法: (1)List属性:它是一个字符串数组,用来设置列表框中列表项的内容。List数组的 下标是从0开始的,也就是说第一个列表项为List(O)、第二个列表项为List(1)依次类推,最 后一项为List(Listcount-.l) (2)Listcount属性:用于记录列表框中列表项的数目,即记录List数组已有的元素数 目,Listcount-1表示List数组的最大下标。该属性不允许用户直接进行修改,它是由系统根 据列表项的增减自动修改的。 (3)Listindex属性:用于记录当前选择的列表项的下标(索引值)。列表框中第一项的 下标为0,第二项的下标为1,随后的项依此类推,如果没有选中任何列表项,则此属性值 为-1。该属性不能在属性窗口中设置。 (4)Selected属性:该属性也是一个数组,它的各个元素分别与列表中的列表项相对 应,其功能为记录列表项是否被选择。当它的某个元素的值为Tu时,表示与此元素相对 应的列表项已经被选择:而它的某个元素的值为Flse时,表示与此元素相对应的列表项没 有被选择。该属性不能在属性窗口中设置。 (5)Sorted属性:该属性决定在程序运行期间列表框的列表项是否按顺序排列显示。 如果Sorted为True,则列表项按字母顺序排列显示:如果Sorted为False,则列表项按加入 的先后顺序排列。该属性只能在属性窗口中设置。 (6)Txt属性:用于得到当前被选中的列表项的正文。程序设计时在属性窗口中不能 设置此属性。 (7)MultiSelect属性:用于确定是否能在列表框中进行复选以及如何进行复选。 0一None:不允许复选。 1一Simple:简单复选。鼠标单击或按下空格键,在列表中选中或取消选中项。 2一Extended:扩展复选。按下Shif并单击鼠标或按下Shit以及一个箭头键,将在 以前选中项的基础上扩展选择到当前选中项。按下C!并单击鼠标,在列表中选中或取消 选中项。 (8)Style属性:用于设置控件外观。 0一标准形式1一复选框形式 (9)列表框的常用事件包括Click、DbIClick、GotFocus、LostFocus等事件。 列表框方法 (10)Additem方法:用于在列表框中加入新的项目 格式:[对象].AddItem item[,index] 其中:对象为列表框的名字,Item为所要添加到列表框中的表达式,如果为字符常量, 则要括在双引号中:idex规定新项目要插入到什么地方,若省略则添加到列表框的未尾。 (1l)Clear方法:用于清除列表框中列表项的全部内容,格式:[对象].Clear

ü& 78 ' % 5·¸^2 &&…©  ' % k2 '0ƒ*wôyz !Q°\/6f6xêë0 šg:‡& 7 8 5  3%  &       Gý\F›>?IÚ?0ag~þ*FØ/ è&  5 78 ' 5b'>?ˆðJ0 hklF/è& ' J 'ý . 0³'>?2  ' 6.7 ?2  ' 67 ¢4 0 |>2  ' 6 ' & 87 78 ' & 5 G FJ0½   ' JAJ 0 ' & 8 R  ' J t&Q gøù šþúzØ0b'µ K×Ø& 78 ' #9 5 G Xr›7^8&F> 2 .0 2 0| »4 0€AF0ƒ» ^ 28&Q g~* +Fkl& 7 8* # 5Q ³'>?J0b?1ß]F_- 0\Ü~2 '}x›&Xb‚?^2 & !0R]»_-  x›!b‚?^2 ' !0R]»_- Ax›&Q g~* +Fkl& 78* # 5Q ‰O*wôyz"¿'}#ô$TR& € * # 2 &0ƒˆ%#ô$TR€ * # 2 '0ƒ&?12-0©* «rF34¯/0›åXrF&   ¤Î+0*FFI¾. F& 7;8* 0 5 Gkl56& .7$Ž 7$Ž 7 ##,  =? #9> \F5-.2Bˆ0,  2ŠS8&åF9Ž0€2ˆð:0 ƒS)*ï‹F #9 ;O[S; 0…?@ƒ8&åÌA& 78 5 GB‘Ff6/è0,Ž5=-.>

(I2)Removeltem方法:用于在列表框中删除项目。格式:[对象].Removeltem Index 其中:Index为我们要删除项目的序号,从0开始,但必须小于ListCount-一l。 6.组合框 组合框是组合了文本框和列表框的特性而形成的一种控件,其大部分的属性与列表框 同。组合框在列表框中列出可供用户选择的选项,当用户选定某项后,该项内容自动装入文 本框中。组合框有三种不同的风格,即下拉式组合框、简单组合框和下拉式列表框,使用那 种形式的组合框由Stye属性决定。 组合框的常用属性、事件及方法: (1)Style属性:用于确定组合框的类型和显示方式: 0:为下拉组合框 1:为简单组合框 2:为下拉列表框 (2)Txt属性:用来记录用户选中的列表框项目或者从文本框输入的文本。 (3)组合框的常用事件及方法 当Style为0时,能接受Click和Change事件 当Style为1时,能接受DblClick、Click和Change事件 当Style为2时,只能接受Click事件 7.计时器(Timer) 计时器控件通过Timer事件,可以有规律地隔一段时间执行一次事件过程代码。计时 器的常用属性、事件: (I)Interval属性:这个属性可以设定Timer事件触发的时间间隔,其时间间隔以毫秒 为单位,取值范围为0~65535毫秒。一般设为1000毫秒,这样可以每秒种触发一次Timr事 件。 (2)Enabled属性:计时器的Enabled属性也是较常用的属性,该属性决定计时器控 件是否能对时间的推移做出响应。若将Enabled设置为False,此时计时器控件无效,即Timer 事件不会触发:当Enabled设置为True时,计时器控件有效。 (3)Timer事件:Timer事件的触发时间是从Interval属性的设置值开始,以后每隔这 样一个时间段,就触发一次Timer事件。需要说明的是当Interval属性值为0时,计时器无 效。 8.滚动条 滚动条用于提供简便的定位,模拟当前所在的位置,作为输入设备,或者速度、数量的 指示器来使用。 VB中的滚动条可分为水平滚动条(HScrollBox)和垂直滚动条(VScrollBox)两种。 滚动条两端各有一个滚动箭头,中间拥有一个可滑动的滑块。 常用属性、事件: (1)Value属性:记录滑块在滚动条内当前位置的值。 (2)Max和Min属性:用来设置滚动条Value值的最大值和最小值。水平滚动条的滑 块在最左端表示最小值Min,由左往右移动时,Value值随之递增,到最右端是最大值Max。 垂直滚动条的滑块在最上端表示最小值Min,由上向下移动Value值随之递增,到最下端为

781,  5 G*F‘&,Ž5=-.>1, ,#9 \F5,#9 2CcS‘ô‹0ý . 0a¦§uG  ' & 7&   '¨VW D !$Ÿ>ç0\t61 ] `&*F :™ š›0X šO‚|0Q/è×EN>O!¿Pz>¢ÔwDE& ! " 5 78,  5Q? :«kO   RÏ!¿¿N0\!¿¿N«ST 2s0¾^UV2 .@( ST&>œk2 ... ST0Q:«=TçRÏ>¢    & 78$%# 5 !" $%# ³'W  0Q ‰O !" '}~-!¿ äX Y&…© $%# kl2 '0»! !"†„0½   gÖRÏX $%# kl2 & !0 !"A„& 78  5  RÏ!¿'ý ,  kl^0«|=NQ >?!¿O0RÏ>¢   &ÒSZ'X ,  ^2 . !0 !"† „& "   G[™*\Os0]^XrŠ*sl0ü2K?120F¿fA>?:ggh&  5 78& 5 gh*/Xrsl^& 78:9 :  5 hkl & ^ t^ u^&bcg h* ´eR u^ : 0µ´i²ä!0& ^{j0å ²e' t^ :9& dþgh* ¯eR u^ : 0µ¯kä & ^{j0å e2

最大值Max。 (3)LargeChange属性:设置每当鼠标在滚动条内单击时,滑块增(减)的Value属性 值。 (4)SmallChange属性:设置每当鼠标单击滚动条两端的箭头时,滑块增(减)的Value 属性值。 (S)Change事件:该事件在滑块进行滚动或通过代码改变Value属性值时发生。 (6)Scroll事件:当在滚动条内拖动滑块时触发该事件。 9.图片框(PictureBox) 图片框用于显示图片,它可以从文件中装入并显示Bmp(位图文件)、Icon(图标文件)、 PEG和GF几种格式的文件。图片框也可作为其它控件的容器。 图片框的常用属性: (I)Picture属性:用于设置在图片框中要显示图像的文件名。 (2)AutoSize属性:用于设置图片框的大小是否可以随图像的大小而自动调整。 当取值为Flse时,图片框保持原始尺寸,不能自动改变大小来适应其中的图形,当图 形比图片框大,超出的部分将被截去。 当取值为Tue时,图片框将根据图形大小自动调整尺寸与显示的图片匹配。 (3)AIig属性:用于设置图片框在窗体中的显示方式,共有5个选择值: 0一None(默认值),表示无特殊显示。 1一Align Top,表示图片框停靠在窗体上端并与窗体一样宽。 2一Align Bottom,表示图片框停靠在窗体底部并与窗体一样宽。 3一Align Left,表示图片框停靠在窗体左端并与窗体一样高。 4一Align Right,表示图片框停靠在窗体右端并与窗体一样高。 (4)LoadPicture函数 在图片中显示的图像不仅可以由图片框的Picture属性决定,还可以在代码中通过 LoadPicture函数进行设置,其格式为:对象名.Picture=LoadPicture(“图形文件名”) 10.图像框(Image) 图像框控件也用于显示图像,它支持的文件格式和图片框相同。 图像框和图片框的区别在于:图像框比图片框占用较少的内存,所以显示速度更快:图 像框不能作为“容器”控件:图片框可以通过Prit方法接收文本,而图像框不支持这一功 能。 图像框的常用属性: (1)Picture属性:用于设置在图像框中要显示图像的文件名。 (2)Stretch属性:用于拉伸位图和图标,使其适应图像框的大小。 当取值为Flse时,可以自动调整图像框大小以适应图像。 当取值为Tue时,可以缩放图像来适应图像框的大小。 11.画线工具(Line) 画线工具是图形控件,它可以画水平线、垂直线或者对角线。在设计时,可以使用画线 工具在窗体或图形框上绘制所需的线。画线的操作步骤如下: ①单击工具箱中的画线工具:

t^ :9& 78 !  5kl=X+*/Î!0gh78 & ^& 7 8*!  5kl=X+Îde12!0gh78 & ^& 78!  5Q*ghúzIÑÔDEØÙ & ^!ÏÐ& 7(8*  5X*/lgh!RÏQ& # $    #® GTR#®0b:«ýVFE& 7   0R#®€*+,‚6¤]+,>& 7   0R#®€*+,´e¤]+,>ƒ& 7  1 ! 0R#®€*+,²e¤]+,>ƒ& 7 8#5 & „J *#®FTR#ng…:«µ#® 5 & ‰O0º:«*DEFÑÔ #5 & „Júzkl0\,Ž25-.B5 &A#5 &6†#$VB‡7 % &' #n³ GTR#n0bˆrV,Ž #®_`& #n #®Þß*G5#nw#®‰ WŠ/‹0Š«TR`aŒ# ng~ü2†è"‡#®:«ÑÔ 5  ŽVW0!#ngˆrQ>Ü ~& #n 5 785 & 5 Gkl*#nFSTR#nVB& 78*  ! 5 GGs# #0%\v#ntu& X¾^2 ' !0:«×op#ntu«v#n& X¾^2 & !0:«­#nhv#ntu&   !"  ‘’vì'#$0b:«‘bc’dþ’IJ-’’&*k !0:«% ‘’ vì*+,I#$¯ŠÒ’&‘’ûü•€5 ÎvìíF‘’vì

②移动鼠标到要画线的起始位置: ③按下鼠标左键并拖曳鼠标到要画线的结束处,放开鼠标左键。 12.形状工具(Shape) 形状工具可以用来画矩形、正方形、椭圆、圆形、圆角矩形或者圆角正方形。这些图形 的几何特性取决于形状工具的Shape属性值: O一Rectangle矩形 1一Square正方形 2一Oval椭圆 3 Circle圆 4一Rounded Rectangle圆角矩形 5一Rounded Square圆角正方形 5.3疑难解析 1.遗漏对象名称 在VB程序设计时,初学者常犯的一个错误是遗漏对象的名称,特别是在使用列表框时。 例如,如果要引用列表框(Listl)中当前选定的项目,Listl.List(ListIndex)是错误的。即使 当前焦点在Listl上,VB也不是认为ListIndex是List1的属性,而是一个变量。所以正确 的引用方式是:Listl.List(list1.ListIndex)。 2.列表框的Columns属性 列表框的Columns属性决定列表框是水平还是垂直滚动以及如何显示列中的项目。如 果水平滚动,则Columns属性决定显示多少列,下表是一个水平滚动两列显示的列表框。 列数 属性 0(默认值) 项目安排在一列中,且列表框竖直滚动 1-n 项目安排在多个列中,先填第一列,再填第二列,… 列表框水平滚动并显示指定数目的列 在程序运行期间,该属性是只读的,也就是说,在程序运行时不能将多列列表框变为单 列列表框或将单列列表框变为多列列表框。 3.Animation控件播放动画 Animation控件用于播放动画的方法是Play。要重复播放指定次数的动画,正确的语句 格式应为:对象.Play n,常见错误是使用For语句循环。下面的程序代码不能重复播放n次, 用户感觉到似乎只播放1次。 For i=1 To n Animation1.Play i Next i 4.MouseDown、MouseUp和Click事件发生的次序 当用户在窗体或控件上按下鼠标按钮时MouseDown事件被触发,MouseDown事件肯 定发生在MouseUp和Click事件之前。但是,MouseUp和Click事件发生的次序与单击的对 象有关

ä+åS‘’Ësl ™ +´-¤lš+åS‘’›œ0­+´-&  #$!"(  $Ævì:« h‘ó$) $žÉÉ$ɒó$IJɒ) $&QŸ#$ mD ¾‰G$Ævì *! ^5 .¶1   ó$ ¶*B& ) $ ¶C žÉ ¶   É ¶1&##1   ɒó$ ¶1&##*B& ɒ) $    %&'()* *  wôk !0 ¡J¢>?£¤'¥¦-.BC0Dß'*% !& §€0€S 7 ' 8FXrO0 '  ' 6 ' ,#97'£¤&½% XrãÃ*  ' ¯0 ³g'¸2  ' ,#9 '  '  0!'>?Ù:&Š«)N  Ž'5 '  ' 6 '  ' ,#97&  +  )   &' ‰O'bcº'dþ«°€TRF&€ bc0ƒ &' ‰OTRڊ0'>?bcdTR& J .7·¸^8 ¨$*>F0¥©þ @ ¨$*Ú?F0'ª>0îª 0« bc¤TRæOJ *wôyz"¿0Q '£¬0³'0*wôyz!g~©ÚÙ2 I©Ù2Ú& *   ,-     G­­‘ ' 50&SÛ­­æO¢J‘0)N®¯ ,Ž25-. 500‡£¤'%  ®¯°±&¼wôDEg~Û­­  ¢0 š²³åÝ´£­­ ¢&    A       50   9  + , -.+ . / )  012+34 X š*+,I¯+! :&'3D xRÏ0:&'3D µ OÏÐ* :&'-   {r&a'0:&'-   ÏТô]Î- .A¶&

当用户在标签、文本框或窗体上做单击时,其事件顺序为:①MouseDown事件,② MouseUp事件,③Click事件。 当用户在命令按钮上做单击时,其事件顺序为:①MouseDown事件,②Click事件,③ MouseUp事件。 当用户在标签或文本框做双击时,其事件顺序为:①MouseDown事件,②MouseUp事 件,③Click事件,④DbIClick事件。 5.Form Load事件内无法用绘图方法在窗体或PictureBox控件上输出图形 VB忽略在不可见对象上使用的图形方法。在Form Load事件过程中窗体是不可见的, 当窗体为AutoRedraw属性设置为False时,Form Load事件中图形方法在窗体上不产生输 出。同样,在Form Load事件过程中PictureBox控件也不可见,如果用图形方法向PictureBox 控件输出也将被忽略。有两种方法可解决此问题。 方法一,将绘图程序代码放在其他事件内。通常在Pait事件中完成绘图,当对象在显 示、位移、改变大小和使用Refresh方法时,都会发生Paint事件。 方法二,将对象的AutoRedraw属性设置为True时,在该对象上任何以图形方法绘制的 图形都将在内存中建立一个备份,在改变对象大小或重新显示的情况下,将自动从备份中调 出图形产生重画过程。例如,要在Form Load事件中使用绘图方法在PictureBox控件上输 出图形,则应设置PictureBox.AutoRedraw为True,而不是窗体的AutoRedraw为True。当 窗体的Form_Load事件完成后,PictureBox将产生重画过程,从备份中调出图形。 AutoRedraw属性设置为True时,Paint事件将不起作用。与方法一相比,方法二将使用 更多的内存。 6.VB坐标系中旋转正向 在VB坐标系中,逆时针方面为正,各绘图方法都参照此坐标系。计算对象的坐标点时 务必注意这一点。 7.如何清除已绘制的线条 Line控件在窗体上移动时,原位置上不会留下图形痕迹。如果用Line方法来代替Line 控件,则每次在新位置上画直线前,需要清除原来位置上的线条。清除原来位置上的线条, 可将DrawMode属性设置为Xor模式,在原位置上重画一次直线,即可清除原来的线条。 8.如何判定对象是否越出窗体的边界 当对象在窗体上移动时,对象是否越出窗体的上边界或左边界,不能用对象的Top<0 或对象的Left<0来判断,对象的Top<0(Left<0)仅表示该控件对象的上(左)边界越出窗 体的上(左)边界,而要使整个控件越出窗体的上(左)边界,还需要加上控件的高度(宽 度)。 9.位块传送产生“无效的过程调用”错误的原因 PaintPicture方法中位块传送的最小宽(高)度为8Twip单位,如果所取区域小于下限 数,将产生“无效的过程调用”错误。可在程序中加入“On Error Resume Next'”错误处理 语句,忽略错误。 PaintPicture方法中的操作模式只能用于位图类型图像。当传递其他图像类型时将一个 值给该参数会造成“无效的过程调用或参数”错误。这是设计的原因。要避免这个错误,对 于除位图外的图像,将操作模式参数置为空

X š*·VWI+,¯XÎ!0\#ô25:&'3D 0 :&'- 0™  & X š*¸¹¯XÎ!0\#ô25:&'3D 0  0™ :&'- & X š*·IVWXïÎ!0\#ô25:&'3D 0:&'-  0™  0º3%  &  / 0 0567897:;?@#  »@*g:‡-.¯% #$ &* E# ÔwF+,'g:‡0 X+,2 & 1#D kl2 ' !0E# F#$ *+,¯g¼ÐK  &`0* E# ÔwF 5 &9 ³g:‡0€ #$ k 5 &9 K ³©x»@&Adç :½‰»MP& >0©#wôDE­*\¾/&Ñ* 5  FeŸ#0X-.*T RsäØÙtu % 1'! !0@ÖÏÐ 5  &  0©-. & 1#D kl2 & !0*Q-.¯«#$  #$@©*/‹FZ>?_¿0*ØÙ-.tuIÛ[TRž0©×ý_¿Fo  #$¼ÐۑÔw&§€0S* E# F% # * 5 &9 ¯K  #$0ƒkl 5 &9 & 1#D 2 &0!g'+, & 1#D 2 &&X +, E# eŸ|05 &9 ©¼ÐۑÔw0ý_¿Fo #$& & 1#D kl2 & !05  ©gËü &] >_w0  ©% ŒÚ/‹&  ABCDEFGH *  ÀF0Á! ¼2)0# @ÃÄ»À& Å-.ÀÃ! ƦÇÈQ>Ã&  IJKLM8N+    *+,¯ä!0ssl¯gÖÉ#$ÊË&€   hDÌ   0ƒ=¢*[sl¯‘þ’r0ÒSB‘shsl¯’&B‘shsl¯’0 :© 3D:# kl2  ]Ž0*ssl¯Û‘>¢þ’0½:B‘sh’& " IJOP'(QRS@;? ^ÖQÃJÖן††„Ôwo IÃJ‡£¤&Q'k sÕ&SØÙQ?£¤0- G‘s#5#n0©ûü]ŽÃJl2È&

10.PaintPicture方法处理动画时无动感 如果使用PaintPicture方法处理动画,由于处理时间较长,可能看不到动感效果。为了 能形成动感,需要在该方法使用后立即调用DoEvents方法,将控制权交给Windows,再返 回程序,此时可刷新图形对象内的画面。 5.4典型例题 例5-1编程实现将学生学过的单词在列表框中显示出来。用户界面如下图5-1所示,要 求界面控件属性设置用代码实现,并实现(1)单击“增加单词”按钮,将文本框Txtl.Text 中的单词添加到列表框中并更新列表框中的单词数显示:(2)单击“删除单词”按钮,别除 列表框中被选中的项并更新列表框中的单词数显示:(3)单击“全部清除”按钮,删除列表 框的全部选择项并更新列表框中的单词数显示:(4)单击“退出”按钮,结束程序。 6单词记录本 -▣x 请输入单词 stuent 增加单词 单词数 册除单词 单词表: apple park 全部清除 people 退出 图5-1例5-1程序界面 解答: (1)新建工程,在窗体上添加3个标签框,2个文本框,1个列表框,4个命令按钮。 (2)为窗体的装载事件,编写事件过程,参照上图设置相关属性。 Private Sub Form Load() Labell.Caption="请输入单词" Label2.Caption="单词数" Command1.Caption="增加单词" Command2.Caption="删除单词" Command.3.Caption="全部清除" Command4.Caption="退出" List1.AddItem"china" List1.AddItem "child" List1.AddItem"apple" List1.AddItem "park" List1.AddItem"people" Textl.Text="m Text2.Text=Str(List1.ListCount)

%$  $   97ef6g €% 5  5 & Õ‘0µGÕ!¿WÚ0:~Ûg岄&2¨ ~$Ÿ²0ÒS*Q % |½o 3$ ' 0©ÜÝÖ " #D'0îi jwô0»!:Þ[#$-./‘¼&    § 8 ªwÁ¡©¡Ð¡Ôß*FTR h& šÎ¼€# 8 ŠR0S àμ kl DEÁ¡0¤Á¡78Ά&߇0©VW 9 9 Fß8&åF¤Œ[FßJTR78Ά‘߇0‘ FxF¤Œ[FßJTR78Άf6B‘‡0‘ f6›¤Œ[FßJTR7 8Ά᠇0›œwô& # 8 § 8 wôμ ½â5 78[Zvw0*+,¯8&  ?·0 ?VW0 ?0 ?¸¹& 782+,Eã0ªÓÔw0Ãį#kl_¶ & 5  *&%E#67   % AGäK<ßG   % AGßJG   # AG&ßG   # AG‘ßG   # AGf6B‘G   #  AGá G    ' ##, G ! G    ' ##, G ! #G    ' ##, GG    ' ##, GG    ' ##, GG   9 9 AGG   9 9 A* 6 '  ' & 7

End Sub (3)为“增加单词”按钮编写单击事件过程,将文本框Textl.Text中的单词添加到列 表框中并更新列表框中的单词数显示: Private Sub Command1 Click() List1.AddItem Text1.Text Text2.Text=List1.ListCount End Sub (4)为“删除单词”按钮编写单击事件过程,删除列表框中被选中的项并更新列表框 中的单词数显示: Private Sub Command2 Click() List1.Removeltem List1.ListIndex Text2.Text List1.ListCount End Sub (5)为“全部清除”按钮编写单击事件过程,删除列表框的全部选择项并更新列表框 中的单词数显示: Private Sub Command3 Click( List1.Clear Text2.Text=0 End Sub (4)为“退出”按钮编写单击事件过程,结束程序运行。 Private Sub Command4_Click() End End Sub 例5-2己知某椭圆轨道的长轴为2500、短轴为1500,且轨道中心坐标为(3000,2000), 现要求在窗体上绘制一背景为黑色的图片框picDispRot(6000x4000),显示一个半径为200 的球体(红色)在己知的椭圆轨道上运行的动画。 动 ox 开始 停止 图5-2例5-2程序界面 提示:可利用定时器进行编程,必须在Form Load中对图片框、定时器等进行初始化, 设定动画频率为0.01秒,通过点击“开始”命令按钮(cmdStart)进行动画显示,点击“停

$#*&% 782†&߇ªÓÎÔw0©VW 9 9 Fß8&å F¤Œ[FßJTR 5  *&%#E 67    ' ##, 9 9   9 9 A '  ' & $#*&% 7 82†‘߇ªÓÎÔw0‘FxF¤Œ[ FßJTR 5  *&%#E 67    ' 1,  '  ' ,#9   9 9 A '  ' & $#*&% 782†f6B‘‡ªÓÎÔw0‘f6›¤Œ[ FßJTR 5  *&%#E 67    '  9 9 A. $#*&% 7 82†á ‡ªÓÎÔw0›œwôyz& 5  *&%# E 67   $# $#*&% § 8 傞ÉæçÚè2 ..éè2 ..0¥æçFÂÀ27...0...80 ¡Sà*+,¯>mn2Àp#®  3 '1 7(...9 ...80TR>?êë2 .. ì,7íp8*åžÉæç¯yz‘& # 8 § 8 wôμ [R5:î O!"úzªw0¦§* E# F-#®O!"Íúz ï0 kO‘ðñ2 .. T0ÑÔÃΆ‡¸¹7 #*  8úz‘TR0ÃΆ

止”命令按钮(cmdStop)使用小球运动停止。 解答: (1)新建工程,在窗体上添加1个图片框,2个命令按钮。 (2)在窗体的通用声明部分定义若干窗体组变量。 Dim X As Double,Y As Double,XO As Double,YO As Double Dim a As Double,b As Double,up As Boolean (3)为窗体的装载事件,编写事件过程,设置相关属性,给相关变量赋初值。 Private Sub Form_Load() Timer1.Interval 10 Timer1.Enabled=False up=False X0=3000 '椭圆轨道的中心坐标 Y0=2000 a=2500 b=a*0.6 X=-a picDispRot.BackColor=RGB(0,0,0) End Sub (4)为窗体的激活事件,编写事件过程,画椭圆轨道,画红色小球。 Private Sub Form_Activate() picDispRot.Circle(X0,YO),a,RGB(255,255,0),,,0.6 Y=b*b-X*X*b*b/a/a Y=Sqr(Y) picDispRot.Circle (X0+X,Y0+Y),200,RGB(255,0,0) End Sub (5)为计时器Timer事件,编写事件过程,实现小球运动动画。 Private Sub Timer1 Timer() picDispRot.Cls picDispRot.Circle (XO,Y0),a,RGB(255,255,0),,,0.6 Y=b*b-X*X*b*b/a/a Y=Sqr(Y) If X=-a Then up False If X=a Then up True If up Then X=X-50:picDispRot.Circle (X0+X,Y0+Y),200,RGB(255,0,0) Else X=X+50:picDispRot.Circle (X0+X,Y0-Y),200,RGB(255,0,0) End If End Sub (6)为“开始”按钮的单击事件编写代码,控制动画开始

ò‡¸¹7 #* 8% uìyò& ½â5 78[Zvw0*+,¯8& ?#®0 ?¸¹& 78*+,Ñ óZ61Oô…é+,Ù:& 3  '3&%?H '3&%?. '3&%?H. '3&% 3  '3&%?% '3&%?& ' 782+,Eã0ªÓÔw0kl_¶ 0Ö_¶Ù:õ ^& 5  *&%E#67    , A.    $%#A'   &A'   .A... IžÉæçFÂÀ   H.A...   A..   %AJ.(   A8    3 '1  A126.?.?.7 $#*&% 7 82+,ö÷0ªÓÔw0‘žÉæç0‘ípuì& 5  *&%E  67    3 '1   6.?H.7??126??.7???.(   HA%J%8JJ%J%KK   HA*B6H7    3 '1   6.L?H.LH7?..?126?.?.7 $#*&% 782 !"   0ªÓÔw0Á¡uìy‘& 5  *&% E 67    3 '1 '    3 '1   6.?H.7??126??.7???.(   HA%J%8JJ%J%KK   HA*B6H7   ,A8!&A'   ,A!&A&   ,&! A8.M 3 '1   6.L?H.LH7?..?126?.?.7   $'     AL.M 3 '1   6.L?H.8H7?..?126?.?.7   $#, $#*&% 7(82†‡ÎªÓDE0‘&

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

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

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