欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    程序设计基础VB讲稿03窗体及常用控.ppt

    • 资源ID:6596227       资源大小:3.60MB        全文页数:241页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    程序设计基础VB讲稿03窗体及常用控.ppt

    Visual Basic程序设计,主讲:徐竞跃,第3章 窗体与常用控件,【内容提要】,3.1 通用属性3.2 窗体3.3 基本控件,【重点与难点】,掌握VB标准控件的通用属性;掌握VB窗体的属性、事件、方法;掌握基本控件的属性、事件、方法;深刻理解控件对象的属性、事件、方法的相互关系及使用。,控件对象,控件组成VB应用程序界面的主要部件,VB6.0提供了大量的控件。控件的操作主要包括:控件对象的建立控件的属性设置控件事件过程代码编制,控件对象,控件组成VB应用程序界面的主要部件,VB6.0提供了大量的控件,控件通常分为3种类型。1、标准控件标准控件也称为内部控件。VB启动后,标准控件就以图标的形式出现在工具箱中,既不能添加,也不能删除。2、ActiveX控件这类控件不在工具箱中,而是以“.OCX”文件类型形式存在。需要时,ActiveX控件可以添加到工具箱中,也可以从工具箱中移除。3、可插入对象设计者可将Word文档、Excel工作表、PPt幻灯片等作为一个控件类并以图标形式添加到工具箱中。,控件对象,在VB6.0中将ActiveX控件与可插入对象添加到工具箱的操作。,控件对象,工具箱中每种工具都用一个图形按钮来表示,除了第一个指针工具,其余都是控件类。,控件对象,控件对象,【对象的学习要点】对象的功能;对象的默认对象名;对象的常用属性;对象的默认属性;对象的常用事件;对象的常用方法。,控件对象的命名,每个控件对象都有“Name属性”,其属性值就是控件对象的唯一标识名称,VB系统为每个控件都指定了一个默认的名字。【例如】利用CommandButton工在窗体上创建的第一个命令按钮,默认名为Commandl,第二个命令按钮默认名为Command2。在简单程序中,常常使用对象的默认名字,但实际使用中,为了提高程序的可读性与可维护性,给控件起一个具有代表的名字是非常必要的。,控件对象的命名,【微软公司建议控件的命名规则】前缀+标识其中:“前缀”由微软公司建议,选择控件类中的三个字母组成;“标识”是该控件代表的含义,由用户自行命名。【例如】CmdEnd可表示一个用于结束程序的命令按钮。,控件对象的命名,控件对象的命名,控件对象的命名,【说明】在程序代码中使用的控件名必须与该控件Name属性值一致。若修改了某个控件的名字,序代码中只要涉及该控件的名字,都必须用修改的名字,否则会出现“缺少对象”错误。“前缀”由微软公司建议,可以不选用。最好在设计的界面同时修改控件名,VB系统会自动将事件过程中该控件的默认名换修改后的名字。若在一个控件的事件过程编写完后再修该控件的名字,只能由程序员自己动手修改。,3.1 通用属性,在VB中,每一个窗体或控件都有描述其各自特征的属性,不同的控件属性不完全相同。许多控件都有很多相同的属性,这部分属性称为“通用属性”。,1、Name名称属性,【属性功能】在程序代码中用于标识对象,所有对象都有该属性。【属性值修改】只能在属性窗口中修改,而在程序运行时是只读,称为只读属性。【属性值范围】中文词汇、英文词汇、阿拉伯数字和下划线_。【默认属性值】默认的对象名:类名+序号。【例如】Forml、Labell、Label2等。,Name属性,【注意】Name属性在外观界面上不显示出来,在应用程序代码中起个标志识别不同对象的作用。在同一窗体中,所有控件的Name属性是唯一的,不能同名;在同一工程中,窗体也不能同名。【问3-1-1】在不同窗体上,同类控件的Name属性是否能相同?在同一窗体上,控件与窗体的Name属性是否相同?【答3-1-1】可以相同,可以相同。,2、Caption标题属性,【属性功能】在对象的外观表面或标题栏上显示的文本,在外观界面上往往起提示和标志的作用。【属性值修改】在属性窗口和程序代码中下均可修改。【属性值范围】多数文本。【默认属性值】与Name的默认属性值相同。,Caption属性,【热键快捷方式的设置】Command Button(命令按钮)Label(标签)Frame(框架)Option Button(单选钮)CheckBox(复选框)的Caption属性中,属性值最后添加“字母”即可将该字母设置为对象的热键快捷方式,该字母将加下划线显示。,Caption属性,【例如】Command Button(Name属性为Commandl)的Caption属性设置为“帮助&Help”,则其显示结果如图所示。也可以用程序代码设置,语句为:Command1.Caption=”帮助&Help”,Caption属性,【问3-1-2】Caption属性和Name属性的区别。【答3-1-2】Caption属性的值显示在对的表面或标题栏中;而Name属性是用于每个对象的标志识别,在程序代码中标识对象。,3、Enabled有效性属性,【属性功能】决定对象是否响应程序用户或操作系统生成的事件,决定对象的有效性,在程序运行时才能看到效果。【属性值修改】在属性窗口和程序代码中均可修改。【属性值范围】为True时,表示对象可以响应事件;为False时,表示禁止响应事件,程序运行时控件对象呈暗淡色。【默认属性值】True,Enabled有效性,【例如】如果用代码实现,则用以下语句:Commandl.Enabled=True 将名为Commandl的控件设置为有效Command2.Enabled=False 将名为Command2的控件设置为无效,4、Visible可见性属性,【属性功能】设置窗体或控件对象运行时是否可见。在程序运行时才能看到效果。【属性值修改】在属性窗口和程序代码中均可修改。【属性值范围】为True,窗体或控件可见;为False,窗体或控件不显示,此时对象也不能响应事件。【默认属性值】True【例如】如果用代码实现,则用以下语句:Commandl.Visible=True 将名为Commandl的控件设置为可见Command2.Visible=False 将名为Command2的控件设置为不可见,5、Height、Width、Top 和Left属性,【属性功能】Top属性决定对象的顶部距其直接容器顶部的距离;Left属性决定对象的左边框距其直接容器的距离;Height、Width属性分别决定对象的高度和宽度。【属性值修改】在属性窗口和程序代码中均可修改。【属性值范围】整数数值,单位为twip,ltwip=1/20点=1/1440英寸=1/567厘米。【默认属性值】对象不同默认值也不一同。,平面坐标系,【容器对象的平面坐标系】在容器上VB自动提供了“默认坐标系统”(其他坐标系统的设置见第9章),容器的左上角为坐标原点(0,0)向右为相对于坐标原点的X坐标,向下相对于坐标原点的Y坐标。,6、Font字体属性,【属性功能】设置窗体或控件上显示文本的“字体”、“字形”和“大小”等。【属性值修改】在属性窗口中,选中Font属性的属性值出现字体对话框,然后进行设置。,Font属性,在代码窗口中,通过以下方式进行:FontName=“字体名”设置字体名称 FontSize=整数值 设置字体的大小 FontBold=True/False 设置为粗体或常规 FontItalic=True/False 设置为斜体或常规 FontUnderLine=True/False 设置为下划线或取消下划线 FontStrikethru=True/False 设置为加删除线或取消删除线,Font属性,【】Font属性的设置举例。在窗体上建立一个标签控件Label1,单击窗体,运行结果如图。(1)分析:(2)程序代码:,Font属性,Private Sub Form_Click()使Label1显示为“Visual Basic6.0程序设计”Label1.Caption=Visual Basic6.0程序设计Label1.FontName=隶书 设置Label1的字体为“隶书”Label1.FontSize=20 设置Label1的字体大小为20Label1.FontBold=True 设置Label1的字体为粗体Label1.FontItalic=True 设置Label1的字体为斜体 Label1.FontUnderline=True 设置Labe1l的字体加下划线End Sub,Font属性,【说明】对于不同的对象可以分别设置不同的Font属性。如果窗体中的所有控件设置相同的Font属性,可以在设计状态下,先将窗体的Font属性设置为所要求的,然后再以这种方式添加的控件,其Font属性与窗体所设置的Font属性相同。【问3-1-2】属性Font的属性值范围和默认属性值是什么?(学生自己摸索),7、ForeColor、BackColor属性,【属性功能】ForeColor和BackColor分别设置对象“前景色”和“背景色”的“颜色值”。【属性值修改】在属性窗口中修改,使用“调色板”和“系统”设置颜色。在代码窗口中修改:ForeColor=颜色值 BackColor=颜色值,ForeColor、BackColor属性,【属性值范围】颜色值的设置方法有4种(详见第9章)。此处只以最常用的RGB(r,g,b)函数来进行设置,参数r、g、b分别代表红、绿、蓝三种颜色分量,取值范围为0到255。【例如】Form1.BackColorr=RGB(200,0,0)将Forml的背景色设置为红色【默认属性值】BackColor为“按钮表面”,ForeColor为“按钮文本”。,3.2 窗体,【问3-2-1】什么是窗体?【答3-2-1】作为程序界面的设计平台,是VB中最基础的对象,是一种控件的容器,组成程序界面的控件都可放在的窗体上。【问3-2-2】什么是窗体文件?【答3-2-2】窗体本身、窗体上的控件、窗体包含的程序代码一起被存入窗体文件。一个窗体对应工程管理器一个组成模块,窗体文件的默认后缀为“.frm”。在新建工程后VB6.0 IDE会自动产生第一个窗体(默认的窗体名称为Forml),并以此作为创建应用程序的起点。,3.2.1 窗体的常用属性,1、MinButton、MaxButton属性【属性功能】MinButton和MaxButton分别决定窗体是否具有“最小化按钮”或“最大化按钮”。只能在程序运行时看到效果。【属性值修改】只能在属性窗口中修改。【属性值范围】为True时,窗体显示最小化按钮或最大化按钮;为False时,最小化按钮或最大化按钮显示为灰色,表示操作无效。【默认属性值】True,MinButton、MaxButton属性,【例如】如果想让最大化按钮显示为灰色,可用以下代码实现:Forml.MaxButton=False【说明】如果将MinButton和MaxButton均设置为False,则最小化按钮和最大化按钮均不会显示,只显示关闭按钮。,2、ControlBox属性,【属性功能】确定窗体上是否显示“三个控制按钮”(最大化、最小化、关闭按钮)和“控制菜单”。【属性值修改】只能在属性窗口中修改。【属性值范围】为True时,显示三个控制按钮和控制菜单;为False时,不显示三个控制按钮和控制菜单。【默认属性值】True【注意】ControlBox是三个控制按钮的总控制属性,而MinButton和MaxButton是两个调节属性。,3、BorderStyle属性,【属性功能】确定窗体或控件的边框类型。【属性值修改】只能在属性窗口中修改。【属性值范围】0None,无边框;1Fixed Single,有固定单边框,程序运行时窗体大小不能改变;2Sizeble,有可调整的边框;3Fixed Dialog,固定对话框,程序运行时窗口大小不能改变;4Fixed ToolWindow,固定工具窗口,大小不能改变;5Sizable ToolWindow,可变大小工具窗口。【默认属性值】为2,4、Picture属性,【属性功能】设置控件背景中显示的图形。【属性值修改】在属性窗口和程序代码中均可修改。直接在属性窗口中,选择Picture属性,通过选择文件或“粘贴”剪贴板中的图形,进行修改。,Picture属性,在程序代码中用函数LoadPicture将图像调入窗体作为背景。【语法格式】Picture=LoadPicture(”图像文件的完整路径名和文件名”)如果对象为当前窗体,则可省略为:Picture=LoadPicture(“图像文件的完整路径名和文件名”)【属性值范围】支持.BMP、.JPG、.GIF等多种格式的图形文件。【默认属性值】默认值为空,表示控件对象中无图形。,5、WindowState属性,【属性功能】窗体开始运行时的初始显示状态。【属性值修改】在属性窗口和程序代码中均可修改。【属性值范围】为0时,表示窗体为正常状态显示;为1时,表示窗体以最小化方式显示;为2时,表示以最大化方式显示。【默认属性值】为0。,6、AutoRedraw属性,【属性功能】自动重绘,控制对象上显示内容的重新绘制。【属性值修改】在属性窗口和程序代码中均可修改。【属性值范围】为True时,表示窗体可以自动重绘;为False时,表示窗体不能自动重绘。【默认属性值】False,7、Icon属性,【属性功能】用来设置窗体最小化时的图标。【属性值修改】在属性窗口和程序代码中均可修改,修改方法同Picture属性相同。【属性值范围】支持的“.ICO”格式的图标文件。【默认属性值】为空,表示窗体中无最小化图标。,3.2.2 常用窗体事件,1、Click事件单击窗体或控件,触发Click单击事件。2、DblClick事件双击窗体或控件,触发DblClick双击事件。【注意】“双击鼠标操作”实际上连续触发两个事件:第一次点击时产生Click事件,第二次点击时产生DblClick事件。Click和DblClick事件并不区分鼠标左右中按键。,常用窗体事件,3、Load装载事件应用程序运行启动窗体时,将窗体读入内存(加载窗体),自动触发Load事件,此时窗体为不活动窗体。Load事件一般用于在运行程序时对属性和变量进行初始化。4、Unload卸载事件关闭窗口时才触发。把窗体从内存中删除(即卸载窗体)。【】改变窗体属性举例。程序运行开始时,窗体中有一背景图,每单击窗体一次,窗体便缩小为当前窗体的1/3。,常用窗体事件,(1)设置窗体背景图像可选择前面介绍的两种方法中的任意一种,而本例选用的是第2种方法,所以程序代码为:,Private Sub Form_Load()Form1.Picture=LoadPicture(“d:aaa.jpg”)End Sub,常用窗体事件,(2)缩小窗体单击窗体,故选择Form_Click()事件。窗体缩小1/3,本质上就是每次使窗体的Width和Height属性的值减少1/3,即为当前窗体的Width和Height属性值的2/3,程序代码如下:,Private Sub Form_Click()Form1.width=Form1.Width*2/3Form1.Height=Form1.Height*2/3End Sub,常用窗体事件,5、Activate活动事件发生在Load事件之后,当窗体变为活动窗体时,自动触发Activate活动事件,此后才能响应用户在界面上的交互操作。6、Deactivate非活动事件发生在Upload事件之前,当窗体变为不活动窗体时,自动触发Deactivated非活动事件。7、Resize大小事件如果窗体大小发生了改变的操作,自动触发Resize事件。【注意】程序运行时,改变窗体大小的方法有两个,第一种通过程序代码修改窗体的Height和Width属性,第二种是程序用户使用鼠标拖动窗体边缘。,常用窗体事件,【】窗体事件的触发举例。程序代码如下,当运行程序,单击窗体,双击窗体后的结果如图所示。,Private Sub Form_Activate()Print“触发Form_Activate事件”显示提示信息”触发Form_Activate事件”End Sub,Private Sub Form_Click()Print“触发Form_Click事件”显示提示信息”触发Form_Click事件”End Sub,常用窗体事件,Private Sub Form_Dblclick()Print“触发Form_Dblclick事件”显示提示信息”触发Form_DblClick事件”End Sub,Private Sub Form_Load()Form1.ShowPrint“触发Form_Load 事件”显示提示信息”触发Form_ Load事件”End Sub,常用窗体事件,【注意】Load事件和Activate事件由VB系统自动触发;而Click事件和DblClick事件,由用户触发。,3.2.3 鼠标事件,程序用户的鼠标操作所触发的能被各种对象识别的事件,称为鼠标事件。重要的鼠标事件除了Click和DblClick以外,当鼠标指针停留在窗体或控件上时还可以触发如下事件:MouseDown:当按下任意一个鼠标按键时被触发;MouseUp:当释放任意一个鼠标按键时被触发;MouseMove:当鼠标指针移动时被触发。,1、鼠标事件过程,Private Sub 对象名_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As single)End Sub,Private Sub 对象名_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As single)End Sub,Private Sub 对象名_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As single)End Sub,2、事件过程参数,鼠标的MouseDown,MouseUp和MouseMove三种事件过程触发时,由操作系统向应用程序给出这4个参数的参数值。当进入相应的事件过程时,可根据这4个参数的参数值判断鼠标操作的按键状态。(1)Button参数【参数功能】在按下或释放鼠标按键时,给出哪个按键的被操作。,Button参数,用Button参数的低三位bit分别表示鼠标的三个按键的状态,bit 0对应左按键,bit l对应右按键,bit 2对应中间按键。当某一按键被操作,相应的位被置1,否则为0。,Button参数,【参数值】可用十进制的1、2、4或三个VB常量的VbLeftButton、VbRightButton、VbMiddleButton表示鼠标左、右、中按键的触发状态。【注意】如果鼠标只有一个按钮,则只有左按钮;若有两按钮,则只有左、右按钮。MouseDown和MouseUp这两个鼠标事件不能检测出两个按钮同时按下的情况。,Shift参数,(2)Shift参数【参数功能】在按下或释放鼠标按键的同时,给出同一时间键盘的Shift、Ctrl和Alt键的状态。用Shift参数的低三位bit分别表示键盘的Shift、Ctrl和Alt这三个按键的状态,bit 0对应Shift键,bit 1对应Ctrl键,bit 2对应Alt键。,Shift参数,【参数值】可用十进制的17或七个VB常量表示键盘Shift、Ctrl和Alt键的触发状态。,X和Y参数,(3)X,Y参数给出鼠标指针在窗体或控件中的当前位置。通过X和Y参数返回一个指定鼠标指针当前位置的数,以使用该对象的坐标系统的刻度为单位。【注意】同一位置X、Y参数值根据窗体坐标系统和控件坐标系统的变化而不同。,【例3.2.3】鼠标事件举例,在窗体上,按下鼠标键,窗体的背景色变为绿色,并显示“按下鼠标键,触发MouseDown事件”;松开鼠标键,窗体的背景色变为红色,并显示“松开鼠标键,触发MouseUp事件”。(1)选择事件过程。由于是在窗体上按下鼠标键,就改变背景色显示信息,所以选择操作对象为窗体,选择的操作为MouseDown。由此,选择Form_MouseDown事件过程。同理,由于是在窗体上松开鼠标键,就改变背景色显示信息,所以选择的操作对象为窗体,选择的操作为MouseUp。由此选择Form_MouseUp事件过程。(2)程序代码:,鼠标事件举例,Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As single,Y As single)BackColor=RGB(0,220,0)设置背景色为绿色 Print“按下鼠标键,触发MouseDown事件”显示提示信息End Sub,Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As single,Y As single)BackColor=RGB(220,0,0)设置背景色为红色Print“松开鼠标键,触发MouseUp事件”显示提示信息End Sub,鼠标事件举例,【说明】上例中,只要按下鼠标键(无论是左键还是右键),均会改变窗体的背景和显示信息。如果将上例的要求变为:在窗体上,按下鼠标左键,窗体的背景色变为绿色,并显示“按下鼠标左键,触发MouseDown事件”;松开鼠标左键,窗体的背景色变为红色,并显示“松开鼠标左键,触发MouseUp事件”。,鼠标事件举例,Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As single,Y As single)If Button=1 Then 用Button参数来判断是否按下鼠标的左键BackColor=RGB(0,220,0)设置背景色为绿色Print“按下鼠标键,触发MouseDown事件”显示提示信息 End IfEnd Sub,鼠标事件举例,Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As single,Y As single)If Button=1 Then 用Button参数来判断是否松开鼠标的左键BackColor=RGB(220,0,0)设置背景色为红色Print“松开鼠标键,触发MouseUp事件”显示提示信息 End IfEnd Sub,鼠标事件,【思考3-2-1】当窗体上的控件Visible属性为False时,单击控件原位置时窗体响应Click事件还是控件响应Click事件。【答3-2-1】响应窗体Click事件。【思考题3-2-2】当鼠标单击或双击时,MouseDown、MouseUp、Click、DblClick事件触发的顺序?【答3-2-2】鼠标单击时,依次触发MouseDown、MouseUp、Click事件;鼠标双击时,依次触发MouseDown、MouseUp、Click、DblClick、MouseUP事件。,3、对象鼠标光标的形状,鼠标光标的形状通过当前鼠标所在位置处的对象的MousePointer属性来设置。支持MousePointer属性的对象:复选框、组合框、命令按钮、目录列表框、驱动器列表框、文件列表框、窗体、框架、图像、标签、列表框、滚动条、文本框、屏幕等。,鼠标光标的形状,【注意】当鼠标光标移动到该对象上时,将以MousePointer属性中设置相应的形状显示;MousePointer属性值若为99,则使用自定义图标作为鼠标形状显示。【MouseIcon属性】设置自定义的鼠标图标,图标文件的类型为.ico或.cur。【注意】该属性必须在MousePointer属性为99时有效;在VB6.0的安装路径下的Graphics目录下有一个图标库。,3.2.4 键盘事件,当选中窗体或控件(即具有焦点)后,键盘操作触发的事件有:KeyDown:程序用户按下任意一个键盘按键时被触发;KeyUp:程序用户释放任意一个键盘按键时被触发;KeyPress:程序用户按下并释放任意一个ASCII码键盘按键后被触发。,1、KeyDown和KeyUp事件过程,【事件过程语法格式】,Private Sub 对象名_KeyUp(KeyCode As Integer,Shift As Integer)End Sub,Private Sub 对象名_KeyDown(KeyCode As Integer,Shift As Integer)End Sub,KeyDown和KeyUp,【参数说明】KeyDown和KeyUp事件过程均给出了所操作的键盘按键键号KeyCode;如未按键,返回的键号值为0。键号KeyCode是键盘上每个按键的物理位置编号,不区分上、下档键,即输入“A”与“a”时的键号值相同。【例如】A键的键号值均为65,B键的键号值均为66,以此类推,Z键的键号值均为90;0键的键号值均为48,1键的键号值均为49,以此类推,9键的键号值均为57。,KeyDown和KeyUp,键号KeyCode可用VB常量表示:vbKey+按键上的字符。例如,vbKeyShift,vbKeyA,vbKeyFl等。Shift参数与鼠标事件中Shift参数的一致。,2、KeyPress事件,【事件过程语法格式】【参数说明】参数KeyAscii返回按键的ASCII码。可用Chr()函数将KeyAscii参数转化为字符:Chr(KeyAscii)回车Enter键的ASCII码为13,也等同于VB常量vbCrLf。,Private Sub 对象名_KeyPress(KeyAscii As Integer)End Sub,KeyPress事件,操作的按键是具有ASCII码的标准ANSI字符编码时,才触发KeyPress事件。KeyPress事件只识别ASCII码键和Enter、Tab、Backspace键。其他功能键、编辑键,及特殊的组合键时不被触发。【问3-2-3】:操作一个ASCII码按键时,Keypress、KeyDown、KeyUp事件如何触发?【答3-2-3】:先触发KeyDown,再触发KeyPress,最后触发KeyUp。,【例3.2.4】KeyPress事件举例。,运行程序时,按下某个字符键,在窗体上显示KeyAscii值和对应的按下的键名。(1)分析选择Form_Activate事件,用Print方法显示表头。KeyAscii参数返回按键的ASCII码,所以用Chr()函数将按键的ASCII码转换成对应键的字符表式。(2)程序代码:,KeyPress事件举例,Private Sub Form_Activate()Print“KeyAscii值”,“按下的键名”显示表头 End Sub,Private Sub Form_KeyPress(KeyAscii As Integer)Print KeyAscii,Chr(KeyAscii)显示键名和KeyAscii的值End Sub,3、KeyPreview属性,【属性功能】窗体上有焦点控件时,是否允许窗体预先响应键盘事件,然后控件再响应该键盘事件。该属性让一个键盘事件触发两个键盘事件过程。【属性值修改】在属性窗口和程序代码中均可修改。【属性值范围】为True时,允许窗体优先响应键盘事件,然后再触发控件键盘事件并把KeyAscii或KeyCode参数传递给控件事件过程;为False时,不允许窗体优先响应键盘事件。【默认属性值】False,KeyPreview属性,【属性与键盘事件的关系】在KeyPreview属性值为False时,当程序用户对当前具有控件焦点的控件进行键盘操作时,控件的三种键盘事件被触发,但窗体的三种键盘事件不会被触发。而当为True时,应用程序会优先让窗体的三种键盘事件响应程序用户的键盘操作,并允许在窗体的键盘事件过程中对KeyAscii或KeyCode参数进行处理,紧接着再让具有焦点的控件响应这个键盘操作并接收处理后的KeyAscii或KeyCode参数。,KeyPreview属性,KeyPreview属性,【注意】:如果窗体的KeyPress事件过程中将KeyAscii参数修改为0,则不会再去响应焦点控件的KeyPress事件过程。【例如】假定KeyPreview属性为True,并有下列两个事件过程:,Private Sub Form_KeyPress(KeyAscii As Integer)KeyAscii=KeyAscii+1End Sub,KeyPreview属性,当用户在键盘上输入小写字符“a”时,文本框Text1接收到字符“c”。如果KeyPreview属性为False,则只执行文本框的KeyPress事件过程,文本框接收到字符“b”。利用这个特性可以对输入的数据进行验证、限制和修改。,Private Sub Text1_KeyPress(KeyAscii As Integer)KeyAscii=KeyAscii+1End Sub,KeyPreview属性,【例如】如果在窗体的如下KeyPress事件过程中将所有的字符都改成大写,则窗体上的所有控件接收到的都是大写字符。【注意】学习对象事件过程,要了解和体会事件什么时候被触发,相关事件的触发次序如何。,Private Sub Form_KeyPress(KeyAscii As Integer)If KeyAscii=Asc(“a”)And KeyAscii=Asc(“z”)ThenKeyAscii=KeyAscii+Asc(“A”)-Asc(“a”)End IfEnd Sub,3.2.6 常用窗体方法,1、Print输出方法【Print方法语法格式】Print【表达式列表】【功能】将列表中每一个表达式结果按设定格式输出到对象上。【适用对象】Form窗体、PictureBox控件、Printer和Debug。,Print方法,【表达式列表】由一个或多个表达式组成,表达式之间用“;”(分号)或“,”(逗号)隔开。【输出格式设定】对于同一对象上的输出格式设定如下:如果列表的各个表达式之间用逗号分隔时,每个表达式结果的输出占14个字符位置,称为分区格式(标准格式,即表达式结果对齐输出);如果用分号分隔时,每个表达式结果的输出之间无空格,称为紧凑格式,即表达式结果不对齐输出。如果表达式结果是数值,在尾部自动加一个空格输出,头部自动加一个符号位(正数为空格)输出。,Print方法,如果列表的最后一个表达式后面有分号,则下一个Print方法的输出不换行,并按紧凑格式输出;如果列表的最后一个表达式后面有逗号,则下一个Print方法的输出不换行,并按分区格式输出。如果列表的最后一个表达式后面没有任何符号,则下一个Print方法换行输出;如果Print后面没有任何的表达式和符号,则下一个Print方法换行输出。,Print方法,Tab(n)指定该函数后面的表达式结果从本行的第n个字符位置开始输出,可以实现定位输出。如果第n个字符位置已有字符存在,则自动换行在下一行的第n个字符位置开始输出。Spc(n)该函数用来输出n个空格。Format(表达式【,格式字符串】)使表达式的结果按“格式字符串”指定的格式输出。,Print方法,【例3.2.5】Print方法举例,Private Sub Form_Click()Print 1;-2,”A”;”B”显示第一行,”BB后无任何符号,光标移到下一行Print“CCC”;Print“DDD”,”CCC”后为分号,”DDD”按紧凑格式输出Print“EEEE”,”FFFFF”“DDD”后为逗号,”EEE”按分区格式输出Print Print后无输出项,光标移到下一行,从而产生一个空行Print“GGGG”;Print”GGGG”后为分号,本行的Print语句应按紧凑格式输出,但由于本行的Print方法后无输出项,所以光标移到”GGGG”的下一行,Print方法举例,Print”HHH”Print Tab(4);”微软”从第4个位置开始显示“微软”Print Spc(6);”程序设计”空6个空格,从第7个位置开始显示“程序设计”,一个汉字占2个字符的位置Print Format(20.3456,”+#.#”)显示”+”号,少于#的个数,显示不变,多于#的个数,做四合五入Print Format(20.3456,”000.00”)少于0的个数,用0补充,多于0的个数四舍五入Print Format(Now,”yyyy/mm/dd hh:mm:ss”)End Sub,Print方法举例,Private Sub Form_Load()Form1.ShowForm1.AutoRedraw=TrueEnd Sub,Print方法,【问3-2-6-1】为什么在“FFFFF”与“GGGG”之间有一个空行?为什么在“GGGG”与“HHH”之间无空行?为什么“程序设计“的显示在“软”字一半的位置?(学生自己摸索答案)【注意】Print方法的当前输出位置是由对象的当前坐标属性CurrentX和CurrentY决定的,起始输出位置默为对象的左上角(0,0);Print方法在Form_Load事件过程中无效,因为窗体的AutoRedraw属性默认为False,若在Print方法之前将AutoRedraw属性设置为True,则变成有效。,2、Cls方法,【Cls方法语法格式】Cls【功能】清除对象上用Print方法输出的文本和用绘图方法(在第9章介绍)绘制的图形,同时将当前输出位置坐标移到原点(0,0)位置。【适用对象】Form窗体和Picturebox图片框。,Cls方法,【说明】不能清除对象的Picture属性中的图像。Cls方法使用后,对象的当前坐标属性CurrentX和CurrentY均变为0。清除Picture属性中的图像可用以下语句之一来实现:Picture=LoadPicture(“”)Picture=LoadPicture()Picture=LoadPicture Picture=Nothing,3、Move方法,【Move方法语法格式】Move Left,Top,Width,Height【功能】移动窗体或控件。【适用对象】窗体及除计时器Timer和菜单Menu以外的所有控件。【参数】Left和Top参数来指定移动目的位置的坐标,同时也可用Width和Height参数修改对象大小。四个参数中,Left为必要参数,不能少;Top、Width、Height为可选参数,若缺省,系统采用默认值。,【例3.2.6】Move方法示例,在屏幕上移动窗体,程序运行时,每单击窗体一次,窗体向下移动200Twip。(1)移动窗体由于只向下移动,因此只需修改Top参数的值,Forml.Top+200代表向下移动,如果是向上移动,则用Forml.Top200。(2)选择事件驱动过程单击窗体后,窗体才移动,故对象应选择Form,事件应选择Click(),所以事件驱动过程就应选择Form_Click()。(3)界面设计窗体如果处于最大化,则窗体就无法在屏幕上移动,所以将Forml的MaxButton属性设置为False。(4)程序代码,Move方法示例,【注意】如果要改变某一参数,该参数之前的参数不能省略,其后参数则可省略。窗体移动时的坐标原点是屏幕的左上角。属性ScaleWidth、ScaleHeight是窗体的相对宽度和高度,即扣除窗体的边框和标题栏的长度。窗体如果处于最大化,则窗体就无法在屏幕上移动。,Private Sub Form_Click()单击窗体后,窗体才移动,故选择Form_Click()Form1.Move Form1.Left,Form1.Top+200 或者Form1.Top=Form1.Top+200End Sub,3.3 基本控件,【控件】是在图形用户界面上输入信息、输出信息、启动事件过程等交互操作的图形对象。【VB6.0控件分为三类】固有控件也称为标准控件,在工具箱中显示且不可删除;扩展控件(ActiveX)保存在.OCX类型的文件中,使用时先将其放入工具箱,然后和固有控件一样使用;可插入对象

    注意事项

    本文(程序设计基础VB讲稿03窗体及常用控.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开