《教学课件第5章 常用控件.ppt》由会员分享,可在线阅读,更多相关《教学课件第5章 常用控件.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1第第5章章常用控件常用控件 2常用控件常用控件 n本章内容本章内容nVisual Basic 6.0工具箱中的大部分标准控件工具箱中的大部分标准控件 n鼠标操作鼠标操作n键盘操作键盘操作3学习目标学习目标 n掌握单选按钮、复选框、框架、图片框与图象掌握单选按钮、复选框、框架、图片框与图象框、滚动条、形状控件与线控件、定时器等常框、滚动条、形状控件与线控件、定时器等常用控件的主要属性、方法和事件用控件的主要属性、方法和事件n掌握键盘事件和鼠标事件的引发方式掌握键盘事件和鼠标事件的引发方式n能够在程序中熟练应用本章介绍的常用控件能够在程序中熟练应用本章介绍的常用控件n能够设计编写简单的动画程序和
2、含有键盘事件能够设计编写简单的动画程序和含有键盘事件和鼠标事件的程序和鼠标事件的程序n理解与鼠标拖放有关的属性、方法和事件,理理解与鼠标拖放有关的属性、方法和事件,理解鼠标的拖放操作解鼠标的拖放操作 45.1 单选按钮与复选框单选按钮与复选框 单选按钮单选按钮 n主要属性主要属性 nCaption属性属性 n单选按钮旁边显示的文本内容单选按钮旁边显示的文本内容 nAlignment属性属性 n0 :单选按钮的图标在的标题的左边,是默认值:单选按钮的图标在的标题的左边,是默认值n1 :单选按钮的图标在标题的右边:单选按钮的图标在标题的右边 nValue属性属性n逻辑型,是默认属性逻辑型,是默认属
3、性 True: 本单选按钮被选中本单选按钮被选中 False:本单选按钮未被选中:本单选按钮未被选中n可在程序中为可在程序中为Value属性赋值属性赋值 赋值为赋值为True,则该单选按钮被选中,并引发此单选按钮的,则该单选按钮被选中,并引发此单选按钮的Click事件,而原先曾被选中的单选按钮的事件,而原先曾被选中的单选按钮的Value属性自动被设置为属性自动被设置为False 赋值为赋值为False,则该单选按钮为未选中状态,但并没有任何单选,则该单选按钮为未选中状态,但并没有任何单选按钮的按钮的Value属性会自动被设置为属性会自动被设置为True 5单选按钮单选按钮n常用属性常用属性 n
4、Style属性属性n决定单选按钮的显示方式决定单选按钮的显示方式 0 :标准方式,是默认值:标准方式,是默认值 1 :图形方式,外观象一个按钮:图形方式,外观象一个按钮n常用事件常用事件 nClick事件事件 n用鼠标单击未被选中的单选按钮用鼠标单击未被选中的单选按钮 n在程序中把原本为在程序中把原本为Fales的的Value属性改为属性改为True 6单选按钮应用单选按钮应用n例例4-1 建立如图界面。程序运行时,如果用鼠标单击某建立如图界面。程序运行时,如果用鼠标单击某个单选按钮,则把文本框个单选按钮,则把文本框Text1中的文字改为相应的字体中的文字改为相应的字体 n程序代码程序代码nP
5、rivate Sub Option1_Click()n Text1.FontName = 宋体宋体nEnd SubnPrivate Sub Option2_Click()n Text1.FontName = 黑体黑体nEnd SubnPrivate Sub Option3_Click()n Text1.FontName = 隶书隶书nEnd Sub 7复选框复选框 n主要属性主要属性 nCaption、Alignment、Style属性与单选按钮相同属性与单选按钮相同 nValue属性属性n是默认属性是默认属性 n0 UnChecked:复选框未被选中:复选框未被选中n1 Checked:复选
6、框被选中:复选框被选中n2 Grayed:复选框的图标呈现灰色:复选框的图标呈现灰色n常用事件常用事件 nClick事件事件 n鼠标单击鼠标单击n通过赋值使复选框的通过赋值使复选框的Value属性的值发生变化属性的值发生变化 8复选框应用复选框应用n例例5-2 建立如图界面。程序运行时,选中若干个复选框,建立如图界面。程序运行时,选中若干个复选框,单击命令按钮,则把选中的复选框的标题作为爱好显示单击命令按钮,则把选中的复选框的标题作为爱好显示在文本框在文本框Text1中中 n程序代码程序代码nPrivate Sub Command1_Click()n Text1.Text = 我的爱好是我的爱
7、好是n If Check1.Value = 1 Thenn Text1.Text = Text1.Text & & Check1.Captionn End Ifn If Check2.Value = 1 Thenn Text1.Text = Text1.Text & & Check2.Captionn End Ifn If Check3.Value = 1 Thenn Text1.Text = Text1.Text & & Check3.Captionn End IfnEnd Sub 95.3 框架框架 n框架控件(框架控件(Frame)是个容器,主要用于对窗体上的)是个容器,主要用于对窗体上
8、的控件进行分组控件进行分组n框架中的控件不是框架的子控件,在引用这些控件的框架中的控件不是框架的子控件,在引用这些控件的名称时,在名称前不能添加框架的名称名称时,在名称前不能添加框架的名称 n框架作为一个整体,其内部控件也会随着框架一起移框架作为一个整体,其内部控件也会随着框架一起移动。控件的动。控件的Left、Top属性的值也是相对与框架左边属性的值也是相对与框架左边界和上边界的坐标界和上边界的坐标 n把控件按框架分组的操作把控件按框架分组的操作n先画出框架,再在框架内部画其他控件先画出框架,再在框架内部画其他控件 n选中控件后剪切,再选中框架,粘贴到框架中选中控件后剪切,再选中框架,粘贴到
9、框架中 n主要属性主要属性nCaption属性属性n框架左上角的标题文字,是默认属性框架左上角的标题文字,是默认属性 nEnabled、Visible属性属性n决定框架(包括其中的控件)是否可用和是否可见决定框架(包括其中的控件)是否可用和是否可见10框架应用框架应用n例例5-3建立如图所示的界面建立如图所示的界面n要求:程序运行时,在文本框中输入一段文字,要求:程序运行时,在文本框中输入一段文字,选中一种字体、颜色以及修饰方式后,单击选中一种字体、颜色以及修饰方式后,单击“确确定定”按钮,可以修改按钮,可以修改Text1文本框中文字的外观。文本框中文字的外观。“锁定锁定”框架中的复选框可以决
10、定左边框架中的复选框可以决定左边3组单选组单选按钮和复选框的状态是否可以改变按钮和复选框的状态是否可以改变 11Private Sub Command1_Click() If Option1 Then Text1.FontName = 黑体黑体 End If If Option2 Then Text1.FontName = 隶书隶书 End If If Option3 Then Text1.ForeColor = RGB(255, 0, 0) End If If Option4 Then Text1.ForeColor = RGB(0, 0, 255) End If If Check1.Val
11、ue = 1 Then Text1.FontUnderline = True Else Text1.FontUnderline = False End If If Check2.Value = 1 Then Text1.FontItalic = True Else Text1.FontItalic = False End IfEnd SubPrivate Sub Check3_Click() Frame1.Enabled = Not Frame1.EnabledEnd SubPrivate Sub Check4_Click() Frame2.Enabled = Not Frame2.Enabl
12、edEnd SubPrivate Sub Check5_Click() Frame3.Enabled = Not Frame3.EnabledEnd Sub125.3 图片框与图象框图片框与图象框图象框图象框 n主要属性主要属性 nPicture属性属性n确定图象框中显示的图形文件确定图象框中显示的图形文件n为图象框装载图形文件为图象框装载图形文件 在设计阶段利用属性窗口在设计阶段利用属性窗口 在程序运行时使用在程序运行时使用LoadPicture函数装入图形文件函数装入图形文件 .Picture = LoadPicture(“图形文件名图形文件名”) 把另一个图片框或图象框的把另一个图片框或
13、图象框的Picture属性赋值给图象框的属性赋值给图象框的Picture属性属性n在程序中删除图象框中的图象在程序中删除图象框中的图象 .Picture = LoadPicture(“”) .Picture = LoadPicture()13图象框图象框n主要属性主要属性nStretch属性属性n是逻辑型是逻辑型 n为为True,图象框尺寸变化时,图象的尺寸随之变化,图象框尺寸变化时,图象的尺寸随之变化n为为False,图象框尺寸变化时,图象的尺寸不变,图象框尺寸变化时,图象的尺寸不变 Stretch属性为属性为True的效果的效果Stretch属性为属性为False的效果的效果14图片框图片
14、框 n用途用途n可以与图象框一样用来显示图象可以与图象框一样用来显示图象n可以作为一个可以作为一个“容器容器”放置其他控件放置其他控件n放置其他控件的方法放置其他控件的方法 先画图片框,之后再在图片框中画其他控件先画图片框,之后再在图片框中画其他控件 n图片框的图片框的Enabled、Visible属性也决定图片框中控件属性也决定图片框中控件是否可用和是否可见是否可用和是否可见n可以用图片框的可以用图片框的Print方法在图片框中输出数据方法在图片框中输出数据 nPrint方法的使用与窗体相同方法的使用与窗体相同15图片框图片框n主要属性主要属性 nPicture属性属性n与图象框相同与图象框
15、相同nAutoSize属性属性n逻辑型逻辑型n为为True时,图片框的尺寸将随图象的尺寸变化时,图片框的尺寸将随图象的尺寸变化 装载不同尺寸图象时,图片框的尺寸将会不同装载不同尺寸图象时,图片框的尺寸将会不同n为为False时,图片框的尺寸不随图象的尺寸变化时,图片框的尺寸不随图象的尺寸变化 若图片框的尺寸小于图象的尺寸,则只显示图片框中所包若图片框的尺寸小于图象的尺寸,则只显示图片框中所包含的部分图象含的部分图象 16图片框应用图片框应用n例例5-4 在窗体上画一个名称为在窗体上画一个名称为Image1的图象框和的图象框和一个名称为一个名称为Picture1的图片框。程序运行时在图的图片框。
16、程序运行时在图象框中装载当前路径下的图形文件象框中装载当前路径下的图形文件pic40.jpg。每。每单击图象框一次,图象的高、宽各增加单击图象框一次,图象的高、宽各增加10%,并,并把图象的高、宽值显示在图片框中。下图是把图象的高、宽值显示在图片框中。下图是3次单次单击图象框后的显示结果击图象框后的显示结果 17程序代码程序代码Private Sub Form_Load() Image1.Picture = LoadPicture(pic40.jpg)End SubPrivate Sub Image1_Click() Image1.Width = Image1.Width * 1.1 Imag
17、e1.Height = Image1.Height * 1.1 Picture1.Print Image1.Width, Image1.HeightEnd Sub 185.4 滚动条滚动条 n主要属性主要属性nValue属性属性 n整型,表示滚动块的位置,是默认属性整型,表示滚动块的位置,是默认属性 n改变滚动块的位置改变滚动块的位置 程序中给程序中给Value属性赋值属性赋值 用鼠标使滚动块移动用鼠标使滚动块移动(会自动改变会自动改变Value属性的值属性的值 )nMax、Min属性属性 n整型,整型,Value属性可取的最大值、最小值属性可取的最大值、最小值 nSmallChange属性属
18、性 n单击滚动条两端的箭头一次使单击滚动条两端的箭头一次使Value增加或减少的值增加或减少的值nLargeChange属性属性n单击滚动块与箭头之间的空白区一次使单击滚动块与箭头之间的空白区一次使Value增加或减少增加或减少的值的值19滚动条滚动条20滚动条应用滚动条应用n例例5-5n建立如图建立如图5-8所示界面。要求程序运行时,改变滚动条滚动所示界面。要求程序运行时,改变滚动条滚动块的位置,可以改变图象的尺寸。图象的高和宽最多可改块的位置,可以改变图象的尺寸。图象的高和宽最多可改为原尺寸的为原尺寸的2倍倍 n分析分析 n滚动块的移动范围应与图象框尺寸的变化范围一致滚动块的移动范围应与图
19、象框尺寸的变化范围一致n滚动块移动后应立即改变图象的相关尺寸滚动块移动后应立即改变图象的相关尺寸n思路思路n利用滚动条的利用滚动条的Change事件过程改变图形框的相应尺寸事件过程改变图形框的相应尺寸n为保证程序刚开始运行时滚动块的位置与图象框的尺寸一为保证程序刚开始运行时滚动块的位置与图象框的尺寸一致,在窗体的致,在窗体的Load事件过程中做相应的属性设置,同时把事件过程中做相应的属性设置,同时把图象框的图象框的Stretch属性设置为属性设置为True n2个滚动条个滚动条HScroll1、VScroll1的的Min属性设置为属性设置为1 21程序代码程序代码Private Sub For
20、m_Load() HScroll1.Max = Image1.Width * 2 VScroll1.Max = Image1.Height * 2 HScroll1.Value = Image1.Width VScroll1.Value = Image1.Height Image1.Stretch = TrueEnd SubPrivate Sub HScroll1_Change() Image1.Width = HScroll1.ValueEnd SubPrivate Sub VScroll1_Change() Image1.Height = VScroll1.ValueEnd Sub225.
21、5 形状控件与线控件形状控件与线控件 n只有属性和方法,不响应任何事件只有属性和方法,不响应任何事件 n作用是在窗体上显示几何图形和直线作用是在窗体上显示几何图形和直线n形状控件形状控件 nShape属性决定其几何图形,是默认属性属性决定其几何图形,是默认属性 23线控件线控件n主要属性主要属性nX1、Y1属性属性n在设计阶段画直线时直线起点在容器中的横坐标在设计阶段画直线时直线起点在容器中的横坐标与纵坐标与纵坐标 nX2、Y2属性属性n在设计阶段画直线时直线终点在容器中的横坐标在设计阶段画直线时直线终点在容器中的横坐标与纵坐标与纵坐标n在程序中改变在程序中改变x1、y1、x2、y2属性的值可
22、以属性的值可以改变直线的方向改变直线的方向 245.6 定时器定时器 n主要作用是按设定的时间间隔产生主要作用是按设定的时间间隔产生Timer事件事件n利用定时器可以设计按时间间隔定时执行的程序利用定时器可以设计按时间间隔定时执行的程序n主要属性主要属性nEnabled属性属性n默认值是默认值是True。为。为False时,将不产生时,将不产生Timer事件事件nInterval属性属性n取值范围为取值范围为064767,单位是,单位是ms n表示产生两个表示产生两个Timer事件的时间间隔事件的时间间隔nInterval属性为属性为0时不产生时不产生Timer事件事件n事件事件nTimer事
23、件事件nEnabled属性为属性为True时,每隔时,每隔Interval属性设定的时间就属性设定的时间就产生一次产生一次Timer事件事件 25定时器应用定时器应用n例例5-6n设计程序,当单击设计程序,当单击“开始开始”按钮后,可以显示系统当前按钮后,可以显示系统当前时间,并且每秒更新时间一次时间,并且每秒更新时间一次n程序代码程序代码nPrivate Sub Command1_Click()n Timer1.Enabled = TruenEnd SubnPrivate Sub Form_Load()n Timer1.Interval = 1000n Timer1.Enabled = Fa
24、lsenEnd SubnPrivate Sub Timer1_Timer()n Label1.Caption = Time()nEnd Sub 26定时器应用定时器应用n例例5-7n设有设有100人参加一个活动,活动结束时,要随机抽取一个幸人参加一个活动,活动结束时,要随机抽取一个幸运者获得礼品,请设计一个随机抽取幸运者的程序运者获得礼品,请设计一个随机抽取幸运者的程序n分析分析 n为每个人编一个号码:为每个人编一个号码:1100,并在此范围内随机产生一,并在此范围内随机产生一个随机整数个随机整数 n显示随机抽取的过程,应快速切换并显示所产生的每个随显示随机抽取的过程,应快速切换并显示所产生的
25、每个随机数,当按下机数,当按下“确定确定”按钮时停止切换按钮时停止切换n思路思路 n定时器定时器Timer1的的Timer事件过程中产生一个事件过程中产生一个1100之间的之间的随机整数并显示在标签随机整数并显示在标签Label1上上 n定时器的定时器的Interval属性的值应足够小属性的值应足够小 27n程序代码程序代码nPrivate Sub Command1_Click()n Timer1.Enabled = TruenEnd SubnPrivate Sub Command2_Click()n Timer1.Enabled = False nEnd SubnPrivate Sub Fo
26、rm_Load()n Randomizen Timer1.Interval = 10n Timer1.Enabled = FalsenEnd SubnPrivate Sub Timer1_Timer()n Label1.Caption = Int(Rnd * 100 + 1)nEnd Sub 285.7 简单动画程序设计简单动画程序设计 n动画的形成动画的形成n按指定的时间间隔使图片移动按指定的时间间隔使图片移动n制作多个不同的图片,按指定的时间间隔依次显制作多个不同的图片,按指定的时间间隔依次显示这些图片示这些图片n动画的实现动画的实现n至少要有一个定时器控件至少要有一个定时器控件n在定时器
27、控件的在定时器控件的Timer事件过程中改变对象的位事件过程中改变对象的位置属性(置属性(Left、Top属性)或大小属性(属性)或大小属性(Width、height属性)属性) 29动画程序(一)动画程序(一)n例例5-8 设计一个航天飞机发射的动画程序设计一个航天飞机发射的动画程序n程序界面如图程序界面如图a所示,单击所示,单击“发射发射”按钮则航天飞按钮则航天飞机向上移动,同时喷出烟雾,如图机向上移动,同时喷出烟雾,如图b所示,当航天所示,当航天飞机飞进云中则消失飞机飞进云中则消失 (b)发射时界面)发射时界面(a)发射前界面)发射前界面30航天飞机发射的动画程序航天飞机发射的动画程序n
28、分析分析n在定时器的在定时器的Timer事件过程中改变航天飞机所事件过程中改变航天飞机所在图象框的在图象框的Top属性的值属性的值nPrivate Sub Timer1_Timer()n Image1.Top = Image1.Top - 100nEnd Subn当当Timer事件过程每次被调用时,就会使航天事件过程每次被调用时,就会使航天飞机移动飞机移动n为了产生更好的视觉效果,还要在为了产生更好的视觉效果,还要在Timer事件事件过程中增加一些代码过程中增加一些代码 31航天飞机发射的动画程序航天飞机发射的动画程序n思路思路n用用3个图象框分别装入航天飞机,云和烟雾的图象个图象框分别装入航
29、天飞机,云和烟雾的图象n烟雾图象框不显示烟雾图象框不显示n单击命令按钮时启动定时器,并显示烟雾单击命令按钮时启动定时器,并显示烟雾n在定时器的在定时器的Timer事件过程中计时(记录事件过程中计时(记录Timer事件事件过程被调用的次数)过程被调用的次数)n到一定时间则使烟雾隐藏到一定时间则使烟雾隐藏n在在Timer事件过程中改变航天飞机所在图象框的事件过程中改变航天飞机所在图象框的Top属性,产生向上移动的效果属性,产生向上移动的效果n到达云所在图象框的位置处,隐藏航天飞机所在的到达云所在图象框的位置处,隐藏航天飞机所在的图象框,并关闭定时器图象框,并关闭定时器 32航天飞机发射的动画程序航
30、天飞机发射的动画程序n界面设计界面设计控件种类控件种类名称名称用途用途部分属性初始值部分属性初始值定时器定时器Timer1计时计时Interval=300Enabled=False图象框图象框Image1航天飞机航天飞机图象框图象框Image2云云图象框图象框Image3烟雾烟雾Visible=False命令按钮命令按钮Command1发射按钮发射按钮Caption =“发射发射”33程序代码程序代码Dim tPrivate Sub Command1_Click() Image3.Visible = True 显示烟雾显示烟雾 Timer1.Enabled = True启动定时器启动定时器 C
31、ommand1.Enabled = False不允许再次使用不允许再次使用“发射发射”按钮按钮End SubPrivate Sub Timer1_Timer() t = t + 1记录本过程被调用的次数记录本过程被调用的次数 If t = 3 Then被调用被调用3次之后隐藏次之后隐藏Image3 Image3.Visible = False End If Image1.Top = Image1.Top 100 Image1向上移动向上移动 If Image1.Top + Image1.Height 50 Thenn Image1.Left = Image1.Left + 20n End If
32、nEnd Sub 39n程序代码(二)程序代码(二)Private Sub Timer1_Timer() t = t + 1 记录过程的调用次数记录过程的调用次数 If yellow.Visible And t = ytime Then 若黄灯亮且已到时若黄灯亮且已到时 t = 0 : yellow.Visible = False黄灯灭黄灯灭 If RedOrGreen Then 若此前是红灯亮若此前是红灯亮 green.Visible = True亮绿灯亮绿灯 Else red.Visible = True 若此前是绿灯亮则亮红灯若此前是绿灯亮则亮红灯 End If RedOrGreen =
33、 Not RedOrGreen RedOrGreen取反取反 ElseIf RedOrGreen And t = rtime Then 若红灯亮且已到时若红灯亮且已到时 t = 0 : red.Visible = False 红灯灭红灯灭 yellow.Visible = True 黄灯亮黄灯亮 ElseIf green.Visible And t = gtime Then 若绿灯亮且已到时若绿灯亮且已到时 t = 0 : green.Visible = False 绿灯灭绿灯灭 yellow.Visible = True 黄灯亮黄灯亮 End IfEnd Sub 40动画程序(三)动画程序(
34、三)n例例5-10 设计一个发射卫星,且卫星饶地球飞行的程设计一个发射卫星,且卫星饶地球飞行的程序,界面如图序,界面如图a所示所示n程序运行时,按下程序运行时,按下“发射发射”按钮后,航天飞机向上运动按钮后,航天飞机向上运动n到达圆形轨道时,航天飞机消失,卫星出现,并沿圆形到达圆形轨道时,航天飞机消失,卫星出现,并沿圆形轨道逆时针匀速运动,如图轨道逆时针匀速运动,如图b所示所示 (a)发射前的界面)发射前的界面(b)发射后的界面)发射后的界面41发射卫星程序发射卫星程序n分析分析n航天飞机到达轨道时,卫星出现,航天飞机消失航天飞机到达轨道时,卫星出现,航天飞机消失n可以使用同一个定时器控件,控
35、制航天飞机的移动和可以使用同一个定时器控件,控制航天飞机的移动和卫星的移动卫星的移动n为保证卫星的中心沿轨道均匀移动,每次移动的角度为保证卫星的中心沿轨道均匀移动,每次移动的角度应该相同应该相同n思路思路n事先把卫星所在的图象框放置在圆型轨道和航天飞机事先把卫星所在的图象框放置在圆型轨道和航天飞机上升路线的交叉点上,但不显示上升路线的交叉点上,但不显示n当航天飞机到达卫星轨道时,隐藏航天飞机,显示卫当航天飞机到达卫星轨道时,隐藏航天飞机,显示卫星,造成卫星被发射的效果星,造成卫星被发射的效果n当逻辑型变量当逻辑型变量flag=True时定时器控制航天飞机移动,时定时器控制航天飞机移动,为为Fa
36、lse时控制卫星飞行时控制卫星飞行n移动卫星时,利用圆的半径和移动的角度计算出卫星移动卫星时,利用圆的半径和移动的角度计算出卫星的位置坐标,再改变卫星图象框的位置属性的位置坐标,再改变卫星图象框的位置属性 42发射卫星程序发射卫星程序n界面设计界面设计控件种类控件种类名称名称用途用途部分属性初始值部分属性初始值定时器定时器Timer1控制航天飞机和卫星的运动控制航天飞机和卫星的运动Interval=100Enabled=False图象框图象框Image1地球地球图象框图象框Image2卫星卫星Visible=False图象框图象框Image3航天飞机航天飞机形状形状Shape1卫星轨道(圆)卫
37、星轨道(圆)Shape=3Width与与Height相等相等命令按钮命令按钮Command1发射按钮发射按钮43n程序代码(一)程序代码(一)Dim radius, x0, y0, angle, flag As BooleanConst pi = 3.14159Private Sub Command1_Click() Timer1.Enabled = TrueEnd SubPrivate Sub Form_Load() radius = Shape1.Height / 2 计算圆的半径计算圆的半径 x0 = Shape1.Left + radius 计算圆心坐标计算圆心坐标 y0 = Shap
38、e1.Top + radius flag = True 航天飞机飞行航天飞机飞行 angle = pi / 2 卫星初始位置在角度为卫星初始位置在角度为90度的地方度的地方End Sub 44n程序代码(二)程序代码(二)Private Sub Timer1_Timer() If flag Then 航天飞机运动航天飞机运动 If Image3.Top + Image3.Height / 2 = Shape1.Top Then flag = False改为卫星运动改为卫星运动 Image3.Visible = False隐藏航天飞机隐藏航天飞机 Image2.Visible = True显示卫
39、星显示卫星 Else Image3.Top = Image3.Top 20 航天飞机向上移动航天飞机向上移动 End If Else卫星运动卫星运动 angle = angle + pi / 36角度增加角度增加5度(每次逆时针移动度(每次逆时针移动5度)度) x = x0 + radius * Cos(angle)把角度转换为坐标把角度转换为坐标 y = y0 radius * Sin(angle) Image2.Left = x Image2.Width / 2 把卫星中心点移到坐标位置把卫星中心点移到坐标位置 Image2.Top = y Image2.Height / 2 End If
40、End Sub 45键盘事件键盘事件nKeyPress事件事件 n按下某个可以产生按下某个可以产生ASCII码的键盘键时引发码的键盘键时引发n事件过程事件过程 Private Sub _KeyPress(KeyAscii As Integer) End Sub n参数参数KeyAscii 按键的按键的ASCII码值码值 n在事件过程中可以修改参数在事件过程中可以修改参数KeyAscii的值,修改后的值将替的值,修改后的值将替换原来的值反映到控件上,其效果如同按了另一个按键换原来的值反映到控件上,其效果如同按了另一个按键 46KeyPress事件应用事件应用n例例5-11n编写程序,判别文本框中
41、的字符是小写字母,编写程序,判别文本框中的字符是小写字母,则都转换为大写字母。其他字符不变则都转换为大写字母。其他字符不变 n程序代码程序代码Private Sub Text1_KeyPress(KeyAscii As Integer) If Asc(a) = KeyAscii And KeyAscii = Asc(z) Then KeyAscii = Asc(UCase(Chr(KeyAscii) End IfEnd Sub 47KeyDown和和KeyUp事件事件n按下和松开某个键盘键时将分别引发该控件的按下和松开某个键盘键时将分别引发该控件的KeyDown事事件和件和KeyUp事件事件n
42、可以识别可以识别n功能键(功能键(F1F10键)键)n编辑键(箭头键、编辑键(箭头键、Home键、键、Insert键等)键等)n是否同时按下了转换键(是否同时按下了转换键(Shift、Ctrl、Alt键)键)n事件过程的首部事件过程的首部nPrivate Sub _KeyDown(KeyCode As Integer, _ Shift As Integer) nPrivate Sub _KeyUp(KeyCode As Integer, _ Shift As Integer) 48KeyDown和和KeyUp事件事件n参数的含义参数的含义 nKeyCode参数参数 键键KeyCode 参数的值
43、参数的值 字母键字母键该字母大写的该字母大写的ASCII码码数字键(大键盘)数字键(大键盘)该数字字符的该数字字符的ASCII码码数字键(小键盘)数字键(小键盘)该数字字符的该数字字符的ASCII码值码值+48空格、回车、空格、回车、Esc、Backspace该字符的该字符的ASCII码码F1F12键键符号常量符号常量vbKeyF1vbKeyF12左、右、上、下箭头键左、右、上、下箭头键符号常量符号常量vbKeyLeft、vbKeyRight、vbKeyUp、vbKeyDownnShift参数参数 n若同时按下了多个转换键,则等于相应转换键的数值之和若同时按下了多个转换键,则等于相应转换键的数
44、值之和 Shift参数参数的值的值符号常量符号常量含义含义1vbShiftMask按下了按下了Shift键键2vbCtrlMask按下了按下了Ctrl键键4vbAltMask按下了按下了Alt键键49键盘事件应用键盘事件应用n例例5-12n编写一个商品名称输入程序,界面如左图所示编写一个商品名称输入程序,界面如左图所示n程序运行时,在程序运行时,在Text1文本框中输入代码,按【文本框中输入代码,按【F1】键可显示】键可显示提示代码格式的对话框,如右图所示提示代码格式的对话框,如右图所示n按回车键则检查代码格式是否正确,若正确,焦点跳到按回车键则检查代码格式是否正确,若正确,焦点跳到Text2
45、文本框中去输入名称,若错误,弹出显示错误信息的对话框,文本框中去输入名称,若错误,弹出显示错误信息的对话框,焦点不离开焦点不离开Text1文本框文本框n按【按【Alt+F5】组合键则程序结束】组合键则程序结束 商品名称输入程序的界面商品名称输入程序的界面F1键弹出键弹出的提示对话框的提示对话框50n程序代码程序代码(一一)nPrivate Sub Text1_KeyPress(KeyAscii As Integer)n Dim ch As Stringn If KeyAscii = 13 Thenn ch = Left(Text1.Text, 1)截取第截取第1个字符个字符n If A ch
46、Or ch Z Thenn MsgBox 代码格式错误!代码格式错误! & Chr(13) _n & 按按F1键查看代码格式键查看代码格式, vbCriticaln Text1.SetFocusn Elsen Text2.SetFocusn End Ifn End IfnEnd Sub 51n程序代码程序代码(二二)Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF1 Then按下了按下了F1键键 MsgBox 代码的第代码的第1个字符必须是大写字母个字符必须是大写字母, , 提
47、示提示 End If If KeyCode = vbKeyF5 And Shift = vbAltMask Then End End IfEnd SubPrivate Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF5 And Shift = vbAltMask Then End End IfEnd Sub 52窗体的键盘事件窗体的键盘事件 n窗体在满足下面条件之一时,可以响应键盘事件窗体在满足下面条件之一时,可以响应键盘事件n窗体上没有可以获得焦点的控件窗体上没有可以获得焦点的控件n窗体的窗
48、体的KeyPreView属性被设置为属性被设置为True(默认为(默认为False)n例例5-13 编程使每按上、下、左、右箭头键一次,汽车可以向编程使每按上、下、左、右箭头键一次,汽车可以向相应方向移动一定距离相应方向移动一定距离(窗体上无可获得焦点的控件窗体上无可获得焦点的控件)n程序代码程序代码Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyLeft Image1.Left = Image1.Left - 50 Case vbKeyRight Imag
49、e1.Left = Image1.Left + 50 Case vbKeyUp Image1.Top = Image1.Top - 50 Case vbKeyDown Image1.Top = Image1.Top + 50 End SelectEnd Sub 53鼠标事件鼠标事件 nMouseDown、MouseUp、MouseMove事件事件 n分别在按下鼠标键、释放鼠标键和鼠标光标在控件分别在按下鼠标键、释放鼠标键和鼠标光标在控件上移动时引发上移动时引发 n事件过程首行事件过程首行 (以(以MouseUp为例为例) Private Sub _MouseUp(Button As Integ
50、er, _ Shift As Integer, X As Single, Y As Single) nShift参数参数 :与键盘事件过程中的同名参数相同:与键盘事件过程中的同名参数相同 nX、Y参数参数 :鼠标光标的当前位置相对与对象左上角的坐标:鼠标光标的当前位置相对与对象左上角的坐标 nButton参数参数 Button的值的值符号常量符号常量含义含义1vbLeftButton按下鼠标左键按下鼠标左键2vbRightButton按下鼠标右键按下鼠标右键4vbMiddleButton按下鼠标中间键按下鼠标中间键54鼠标事件应用鼠标事件应用n例例5-14n在窗体上画一个圆,程序运行时,鼠标右