收藏 分销(赏)

VB教程用户界面设计.ppt

上传人:人****来 文档编号:14693427 上传时间:2026-10-30 格式:PPT 页数:69 大小:1.08MB 下载积分:10 金币
下载 相关
VB教程用户界面设计.ppt_第1页
第1页 / 共69页
VB教程用户界面设计.ppt_第2页
第2页 / 共69页


点击查看更多>>
资源描述
,第,10,章 用户界面设计,*,单击此处编辑母版标题样式,VB教程用户界面设计,10.1,菜单设计,Windows,环境下的应用程序一般为用户提供三种菜单:,窗体控制菜单,、,下拉菜单与快捷菜单,。,一,.,启动菜单编辑器:,有三种方法,:,1,单击工具栏菜单图标,2,工具,/,菜单编辑器,(CTRL+E),3,窗体上快捷菜单,菜单编辑器,菜单编辑器操作界面如右所示。,10.1.1,菜单编辑器,菜单编辑器介绍:,1.,标题,(Caption),:,2.,名称,(Name),:,3.,快捷键,(Shortcut),:,4.,下一个,(Next),:,5.,和按钮,6.,插入,(Insert),按钮:,7.,删除,(Delete),按钮:,8,和按钮:,10.,复选,(Checked),检查框:,10.,有效,(Enabled),检查框:,11.,显示窗口列表,(Window List),检查框:,菜单的主要属性,1.,标题,(Caption),:在窗口上显示,例如:输入,&File,,显示为:,F,ile,,热键:,Alt+F,2.,名称,(Name),:,菜单项的名称,分界符也应有名称。,3.,快捷键,(Shortcut),:,下拉列表框,4,下一个,(Next),:,设置下一个菜单项。,5.,和按钮:,“”下一级菜单项;“”上一级菜单项。,6.,插入,(Insert),按钮:,插入菜单项,7.,删除,(Delete),按钮:,删除菜单项,8.,和按钮:,改变菜单项位置。,10.,复选,(Checked),检查框:,菜单项为选定项。,10.,有效,(Enabled),检查框:,True,:菜单项可选;,False,:不可选。,11.,显示窗口列表,(Window List),检查框:,1,设计下拉菜单,2,设计子菜单或改变子菜单级别,3,为菜单项分组 菜单名用减号“,-”,4,为菜单项指定访问键和快捷键,与命令按钮设置访问键相同。,5,为菜单项加上复选标记,6,禁止使用菜单项,在程序代码中可以通过程序代码:,菜单名,.Enabled=False,7,菜单项的增减,菜单设计的常用的几项操作:,10.1.2,下拉式菜单,10.1,菜单设计,在下拉式菜单中,一般只需要对下拉菜单的最低级菜单项编写单击事件代码,如果对一个有下级菜单的菜单项编写了单击事件,则在执行下一级菜单时,该菜单程序将先执行。,在下拉式菜单中,一般有一个主菜单,称为菜单栏。每个菜单栏包括一个或多个选择项,称为菜单标题。,菜单控件(对象)只有一个事件,单击事件(,Click(),),一,.,设计下拉式菜单的步骤:,(1),新建一个窗体,并设计用户界面。,(2),利用菜单编辑器设计各菜单项。,(3),编写每个菜单项的事件过程。,(4),运行调试各菜单命令。,二、下拉式菜单设计举例,【,例,10.1,】,设计菜单程序,通过菜单控制标签中文字的字体,字型等,程序运行界面如图,10.3,所示。当用户选择某一菜单项时执行相应的命令功能。,图,10.3,程序运行界面,设计步骤如下:,1.,界面设计,在窗体上添加一个,Frame1,和,Label1,,用于显示文字信息。启动菜单编辑器,所要建立的菜单中各菜单项的属性设置如表,10.1,所示,菜单编辑器中各项设置如图,10.4,所示,对每一个菜单项输入标题、名称和选择相应的快捷键。,标题,(Caption),名称,(Name),索引值,说,明,字体,字体,主菜单项,1,.,宋体,songti,子菜单,11,快捷键,Ctrl+S,.,楷体,kaiti,子菜单,12,快捷键,Ctrl+K,.,黑体,heiti,子菜单,13,快捷键,Ctrl+H,字型,字型,主菜单项,2,.,粗体(,&B,),fontstyle,0,子菜单,21,热键,B,.,斜体(,&I,),fontstyle,1,子菜单,22,热键,I,.,下划线(,&U,),fontstyle,2,子菜单,23,热键,U,表,10.1,菜单项属性设置,(,2,)编写菜单项代码,Private Sub Form_Load(),Label1.FontSize=16,Label1.Caption=,长亭外古道边,+Chr(13)+Chr(10)+,芳草碧连天,+Chr(13)+Chr(10)+,问君此去几时来,+Chr(13)+Chr(10)+,来时莫徘徊,End Sub,Private Sub songti_Click(),Label1.FontName=,宋体,End Sub,Private Sub heiti_Click(),Label1.FontName=,黑体,End Sub,Private Sub kaiti_Click(),Label1.FontName=,楷体,_GB2312,End Sub,Private Sub fontstyle_Click(Index As Integer),fontstyle(Index).Checked=Not fontstyle(Index).Checked,Select Case Index,Case 0,Label1.FontBold=fontstyle(Index).Checked,Case 1,Label1.FontItalic=fontstyle(Index).Checked,Case 2,Label1.FontUnderline=fontstyle(Index).Checked,End Select,End Sub,字型下拉菜单代码如下:,弹出式菜单是独立于菜单栏显示在窗体或指定控件上的浮动菜单,菜单的显示位置与鼠标当前位置有关。实现步骤如下:,1.,在菜单编辑器中建立该菜单。,2.,设置其顶层菜单项(主菜单项)的,Visible,属性为,False,(不可见)。,3.,在窗体或控件的,MouseUp,或,MouseDown,事件中调用,PopupMenu,方法显示该菜单。,PopupMenu,的使用方法为:,PopupMenu,flags,x,y,Boldcommand,10.1.3,弹出式菜单,其中:,关键字,“,PopupMenu,”,可以前置窗体名称,但不可前置其他控件名称。,是指通过菜单编辑器设计的、至少有一个子菜单项的菜单名称(,Name,)。,Flags,参数为常数,用来定义显示位置与行为,其取值见表,10.2,位置常数,值,描述,vbPopupMenuLeftAlign,0,缺省值。弹出式菜单的左边定位于,x,。,vbPopupMenuCenterAlign,4,弹出式菜单以,x,为居中心。,vbPopupMenuRightAlign,8,弹出式菜单的右边定位于,x,。,行为常数,值,描述,vbPopupMenuLeftButton,0,缺省值。,仅当使用鼠标右键单击时,,弹出式菜单中的项目才响应鼠标单击。,vbPopupMenuRightButton,2,弹出式菜单中的项目可接受左、右键单击。,10.1.3,弹出式,菜单设计,表,10.2 flags,参数值表,Boldcommand,参数设置菜单项可以粗体显示。,一般的弹出式菜单是在右击时弹出,所以,PopupMenu,方法一般是放在对象的,MouseDown,事件过程中,根据按下的是鼠标左键还是右键来决定是否弹出菜单。,例,10.2,】,为,【,例,10.1,】,添加一个标签的弹出式菜单,该菜单包含有“,10,”、“,12,”和“,14,”,3,个菜单项,如图,10.5,所示。单击相应的菜单项后可以改变标签中文字的字体大小。,弹出式式菜单设计举例,图,10.5,弹出式菜单,Private Sub Label1_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single),If Button=2 Then,按下鼠标右键,Form1.PopupMenu fsize,4 Or 2,End If,End sub,Private Sub size_Click(Index As Integer),Select Case Index,Case 0,Label1.fontsize=10,Case 1,Label1.fontsize=12,Case 2,Label1.fontsize=14,End Select,End sub,用“菜单编辑器”对话框创建好的菜单,在程序运行过程中并非就一成不变。用户可以根据实际运行情况动态地调整和控制菜单的使用,给菜单增加一些灵活性。如当某菜单项执行的操作不适合当前环境时,可以暂时使其失效或将其隐藏起来。当需要时也可以添加或删除某菜单项。,隐藏或显示菜单项并不能真正地改变菜单的数量,要使菜单项真正地、动态地增减(从内存中),则必须使用菜单控件数组实现。运行时通过,Load,语句增加新的菜单控件,使用,UnLoad,语句将其删除。,10.1.4,动态菜单,Load,控件数组名,(,index,),Unload,控件数组名,(,index,),10.1.4,动态菜单,【,例,10.3,】,设计如下程序,当文本框中没有任何文字时,“字体大小”菜单中的各项均变为灰色显示,表示当前不可用;当用户在文本框中输入了文字后选择某菜单项后,可将文字大小设为对应值并在当前菜单项的前面加一个“”,如图,10.6,(,a,)、图,10.6,(,b,)所示。如果用户选择了“,14,”菜单项,则“,10,”菜单项将隐藏,并且添加菜单项“,16,”,其功能与其他菜单项相同,当用户重新选择了“,12,”菜单项时,“,16,”菜单项将被删除,并恢复菜单项“,10,”的可见性,即文字字号最大值为,16,,最小为,10,,菜单中只能同时存在三个选项,如图,10.6,(,c,)、图,10.6,(,d,)所示。,图,10.6,动态修改菜单示例,(,b,),(,c,),(,d,),(,a,),10.2,通用对话框,工程,/,部件,选定控件标签,选定,Microsoft CommDialog Control 6.0,CommonDialog,控件不是标准控件,是一种,ActiveX,控件,位于,Microsoft Common Dialog Control 6.0,部件中。,确定,通用对话框图标,10.2.1,通用对话框的基本属性和方法,CommonDialog,控件的基本属性,(,1,),Action,属性,:,该属性决定打开何种类型的标准对话框,其取值如表,10.4,所示。该属性不能在属性窗口中设置,只能在程序中赋值。,表,10.4,打开通用对话框的方法与,Action,属性设置,类型,Action,属性,方法,无对话框,0,“,打开”对话框,1,ShowOpen,“,另存为”对话框,2,ShowSave,“,颜色”对话框,3,ShowColor,“,字体”对话框,4,ShowFont,“,打印”对话框,5,ShowPrinter,“,帮助”对话框,6,ShowHelp,(,2,),Name,属性,:,CommonDialog,控件的名称属性。,(,3,),CancelError,属性,:多数对话框都有“取消”按钮,用于向应用程序表示用户想取消当前操作。,CancelError,属性的作用是向应用程序报告用户取消当前的操作,通过一个错误报告给应用程序。如果该属性设置为,True,,在程序的运行阶段,用户选择“取消”操作时,出现错误提示。默认是,False,,不出现错误提示。对话框打开后,为了防止用户没有输入任何信息便使用取消操作,则可用此属性设置出错警告。,(,4,),Flags,属性:,用于设置对话框外观及工作方式。对于每种对话框都有许多不同的设置值。在通用对话框的使用过程中,每种对话框都有自己的特殊属性。,CommonDialog,控件的属性可以在属性窗口中设置,也可在其“属性页”对话框中设置。在窗体中的,CommonDialog,控件上右击,在弹出的快捷菜单中选择“属性”命令,打开“属性页”对话框,该对话框中有五个选项卡,分别可对不同类型的标准对话框设置属性。,FilterIndex,DefaultExt,DialogTiltle,FileName,InitDir,Filter,在设计时,可以通过属性窗口设置通用对话框的属性设置控件属性,也可以使用通用对话框的属性页设置相关属性。,2,CommonDialog,控件的方法,在程序中要使用,CommonDialog,控件的标准对话框,除了使用,CommonDialog,控件的,Action,属性设置对话框的类型外,还可以使用,CommonDialog,控件的方法。这些方法,如表,10.4,所示。,例如:,CommonDialog1.Action=1,或者,CommonDialog1.ShowOpen,10.2.2 “,打开”,对话框,CancelError,:返回或设置一个值,该值指示当单击“取消”按钮时是否出错。,DefaultExt,:用于设置或返回对话框默认的文件扩展名。该属性值是一个文件扩展名字符串,如“,*.txt,”、“,*.doc,”等。当保存一个没有指定扩展名的文件时,系统自动添加默认扩展名。,DialogTitle,:返回或设置对话框的标题。,Filename,:返回或设置用户所选择的文件的完整路径和文件名称。,FileTitle,:返回用户选择文件的文件名称,包括扩展名,但不包括路径。,使用通用对话框控件的,ShowOpen,方法,或将,Action,属性赋值为,1,,可以在运行时显示,“,打开,”,对话框。需要设置以下属性:,6.,Filter,:设置或返回在对话框的文件类型列表框中所显示文件类型。该属性值可以是一组元素或用“,|,”符号分开的分别表示不同类型文件的多组元素组成。例如,如果要在“文件类型”列表框中显示下列三种文件类型以供用户选择。,WORD,文档,(*.DOC),扩展名为,DOC,的,Word,文件,文本文件,(*.TXT),扩展名为,TXT,的文本文件,All Files(*.*),所有文件,那么,Filter,属性就应该设为:,WORD,文档,(*.doc)|*.doc|,文本文件,(*.txt)|*.txt|,所有文件,|*.*,7.FilterIndex,:返回或设置“打开”或“另存为”对话框中一个默认的过滤器。,8.InitDir,:返回或设置“打开”对话框中的初始目录。,9.MaxFileSize,:返回或设置使用,CommonDialog,控件时,被打开的文件名的最大尺寸。,10.2.2 “,打开”,对话框,上述属性若在程序中设置,都必须放在使用,Action,属性或,ShowOPen,和,ShowSave,方法调用的“打开”或“另存为,”,对话框语句之前。否则起不到其功能,【,例,10.4,】,编写一个简单的文本文件编辑程序,如图,10.9,所示,文件的内容显示在上面的文本框中。从左到右共,6,个命令按钮依次按约定命名。下面列出了,Command1,事件过程的程序代码,其他的事件过程在以后的各节中分别给出。,10.2.2 “,打开”,对话框,图,10.9,通用对话框示例,程序运行时,当,CommonDialog,控件的,Action,属性为,2,或者调用,ShowSave,方法时,系统就会弹出“另存为”对话框,它为用户在存储文件时提供了一个标准的用户界面。实际上“另存为”对话框和“打开”对话框涉及的属性基本一样,独有一个属性,DefaultExt,,表示默认扩展名。,10.2.3 “,另存为”,对话框,【,例,10.5,】,为例,10.4,中的“另存为,”命令按钮,(Command2),编写事件过程,把文本框(,Text1,)中的内容写入一个文本文件。,颜色对话框是当,Action,值为,3,时或者调用,ShowColor,方法时,系统就会弹出“颜色”对话框,为用户提供了颜色选择器,如右图。,重要属性,Color,:,用来返回或设置选定的颜色。,10.2.4“,颜色”对话框,【,例,10.6,】,为例,10.4,中的“颜色,”命令按钮,(Command3),编写事件过程,用“颜色”对话框设置文本框的前景颜色。,“颜色”按钮的单击事件过程如下:,Private Sub Command3_Click(),CommonDialog1.Action=3,Text1.ForeColor=CommonDialog1.Color,End Sub,10.2.5“,字体”对话框,字体对话框是,Action,为,4,时,的通用对话框,如下图所示,提供用户选择字体、字号及字体样式等。,字体对话框重要的属性有:,Color,FontName,FontSize,FontBold FontItalic,FontStrikethru,FontUnderline,Max,等,.,FontName,FontBold,、,FontItalic,FontSize,FontStrikethru,FontUnderline,Color,Min,、,Max,Flags,属性:,设置所显示的字体类型,,数据类型为,Long,。,注意,在显示,“,字体,”,对话框前,必须先将,Flags,属性设置为,cdlCFScreenFonts,,,cdlCFPrinterFonts,,或,cd,lCFBoth,。否则,会发生字体不存在的错误。,“字体”对话框的,Flags,属性设置值,系统常数,值,说明,cdlCFScreenFonts,&H1,显示屏幕字体,cdlCFPrinterFonts,&H2,显示打印机字体,cdlCFBoth,&H3,显示打印机和屏幕字体,cdlCFEffects,&H100,在“字体”对话框中显示删除线和下划线以及,颜色,组合框,10.2.5“,字体”对话框,【,例,10.7,】,为例,10.4,中的“字体,”命令按钮,(Command4),编写事件过程,设置文本框的字体。,“字体”按钮的单击事件过程如下:,Private Sub Command4_Click(),CommonDialog1.Flags=cdlCFScreenFonts Or cdlCFEffects,CommonDialog1.Max=100,CommonDialog1.Min=1,CommonDialog1.ShowFont CommonDialog1.Action=4,Text1.FontName=CommonDialog1.FontName,Text1.FontSize=CommonDialog1.FontSize,Text1.FontBold=CommonDialog1.FontBold,Text1.FontItalic=CommonDialog1.FontItalic,Text1.FontStrikethru=CommonDialog1.FontStrikethru,Text1.FontUnderline=CommonDialog1.FontUnderline,Text1.ForeColor=CommonDialog1.Color,End Sub,程序运行时,当,CommonDialog,控件的,Action,属性为,5,或者调用,ShowPrinter,方法时,系统就会弹出“打印”对话框,它是一个设置选择打印参数的界面,如图,10.12,所示。,10.2.6,“打印”,对话框,图,10.12,“,打印,”,对话框,重要属性:,Copies,:返回或设置需要打印的份数。,Max,、,Min,:返回或设置打印范围允许的最大和最小值。,FromPage,、,ToPage,:返回或设置起始页号和终止页号。当,cdlPDPageNums,标志被设置时才有效。,【,例,10.8,】,为例,10.4,中的“打印,”命令按钮,(Command5),编写事件过程,用“打印”对话框打印文本框(,Text1,)中的内容。,“打印”按钮的单击事件过程如下:,Private Sub Command5_Click(),Dim i As Integer,CommonDialog1.ShowPrinter CommonDialog1.Action=5,For i=1 To CommonDialog1.Copies,Printer.Print Text1.Text,Next i,Printer.EndDoc ,结束打印,End Sub,10.2.7,“帮助”对话框,程序运行时,当,CommonDialog,控件的,Action,属性为,6,或者调用,ShowHelp,方法时,系统就会弹出“帮助”对话框,它可以为用户制作应用程序的联机帮助。“帮助”对话框本身不能建立应用程序的帮助文件,它只能将已建好的帮助文件从磁盘中提取出来,并与界面建立连接,从而达到显示并检索帮助信息的目的。使用,ShowHelp,方法前,必须将,CommonDialog,控件的,HelpFile,和,HelpCommand,属性设置为与其相应的一个常数或值,否则,,Winhlp32.exe,就不能显示帮助文件。,对于“帮助”对话框,有以下几个重要属性:,HelpCommand,:,返回或设置需要的联机帮助的类型。具体设置请参阅,VB,帮助系统,HelpFile,:,确定,Microsoft Windows Help,文件的路径和文件名,应用程序使用这个文件显示,Help,或联机文档。,HelpKey,:,返回或设置标识请求的帮助主题的关键字。,HelpContext,:,该属性与,HelpCommand,属性一起使用(设置,HelpCommand,=,cdlHelpContext,),返回或设置请求的帮助主题的上下文,ID,以指定要显示的帮助主题。,【,例,10.9,】,为例,10.4,中的“帮助,”命令按钮,(Command6),编写事件过程,通过“帮助”对话框来显示记事本程序的帮助文件。,“帮助”按钮的单击事件过程如下:,Private Sub Command6_Click(),CommonDialog1.HelpCommand=cdlHelpContents,CommonDialog1.HelpFile=c:windowshelpnotepad.hlp,CommonDialog1.ShowHelp,End Sub,工具栏的制作有两种方法:,1.,是使用命令按钮和图形框来手工制作,2.,使用,ToolBar,控件和,ImageList,控件来制作。,前一种方法比较繁琐,较少使用。后一种方法较容易,在,VB,中常用后一种方法。,ToolBar,控件和,ImageList,控件并没有在工具箱里,属于,ActiveX,控件,需要为工程加载“,Microsoft Windows Common Controls 6.0,”控件。加载成功后控件工具栏如图,10.13,所示。,10.3,工具栏,ImageList,图,10.13,添加控件成功后的工具箱,ToolBar,ImageList,控件不单独使用,专门为其它控件提供图像库,.,使用方法如下:,在窗体中添加一个,ImageList,控件。其大小固定,运行时不可见。,右击,ImageList,控件,选择“属性”,打开“属性页,”,对话框,如图所示。,选择“图像”选项卡,单击“插入图片”按钮,逐个向,ImageList,控件中加入图片;如果需要删除多余的图片,选中后点击“删除图片,”,按钮。,10.3.1 ImageList,控件,使用,ToolBar,控件具体创建一个工具栏,首先在窗体中添加一个,ToolBar,控件,设置,ToolBar,控件的,Align,属性以控制工具栏在窗体中的位置。右击选择“属性”,打开“属性页,”,对话框。,10.3.2 ToolBar,控件,1.,设置,ToolBar,控件中的按钮,点击“按钮”选项卡,如图所示。,单击“插入按钮”和“删除按钮”,可以增加或减少工具栏中的按钮;每个按钮需要使用,ImageList,控件中的哪个图片作为外观显示,在“图像”中进行设置;“关键字”用于在程序代码中引用该按钮。,“标题”与“描述”文本框中是在按钮上显示的文字及按钮的说明信息。,在“值”下拉列表中可以设置按钮的状态:,0-tbrUnpressed,为弹起状态,1-tbrPressed,为按下状态。,图,10.15,“,属性页,”,中,“,按钮,”,选项卡,0-tbrDefault:,普通(默认的)按钮。,1-tbrCheck,:复选框按钮。具有按下、放开两种状态。,2-tbrButtonGroup,:单选按钮,3-tbrSeparator,:分隔符。表示将不同组或不同类的按钮分开,如单选按钮。,4-tbrPlaceholder:,占位符。,5-thrDropdown:,下拉式按钮。可以建立下拉式菜单。,10.3.2 ToolBar,控件,图,10.15,“,属性页,”,中,“,按钮,”,选项卡,在“样式”下拉列表中可以设置按钮的行为特点,并且将影响按钮的功能。具有六种类型:,2.,设置,ToolBar,控件的通用属性,和,ImageList,控件建立关联。,打开“通用”选项卡,在图像列表选项中选择图像列表控件名,ImageList1,,这样就建立了工具栏控件与图像列表控件的关联。,在程序运行时,下述代码也可建立工具栏控件与图像列表控件的关联:,Private Sub Form_Load(),Toolbar1.ImageList=ImageList1,End Sub,一旦工具栏控件与图像列表控件建立了关联,,ToolBar,控件“属性页”对话框的“按钮”选项卡中的“图像”选项即变为有效。只需在其中输入图像库中图像的索引号即可将对应的图片添加到按钮上。,10.3.2 ToolBar,控件,3.,响应,ToolBar,控件事件,ToolBar,控件常用的事件有两个:,ButtonClick,和,ButtonMenuClick,。前者对按钮样式为,0-2,,后者对样式为,5,的菜单按钮。,(,1,)用索引,Index,确定按钮 (,2,)用关键字,Key,确定按钮,Private Sub Toolbar1_ButtonClick(Byval Button As ComctlLib.Button),Select Case Button,.Index,Case,1,FileNewProc,Case,2,FileOpenProc,End Select,End Sub,注意:第,1,个按钮的,Index,值为,1,。用,Index,还是用,Key,根据实际需要,,Key,可读性好,可维护性好。,Select Case Button,.Key,Case,TNew,FileNewProc,Case,TOpen,FileOpenProc,.,【,例,10.9,】,创建如图所示的窗体,并编写程序代码实现工具栏上各按钮的功能。,图,10.16,例,10.9,界面设计,设计步骤如下:,1.,设计界面,首先在窗体上添加一个文本框,设置其,Multiline,属性为,True,,,ScrollBars,属性为,2,,添加,ImageList,控件,该控件包含有图所示的六个图形。添加,ToolBar,控件,在按钮选项卡中逐个添加按钮。各按钮属性设置如表,10.6,所示。,索引,关键字,样式,图像索引,1,B,1-,tbrCheck,1,2,I,1-,tbrCheck,2,3,U,1-,tbrCheck,3,4,3-tbrSeparator,0,5,lt,2-tbrButtonGroup,4,6,ct,2-tbrButtonGroup,5,7,rt,2-tbrButtonGroup,6,图,10.16,例,10.9,界面设计,2.,编写程序代码,Private Sub Form_Load(),Toolbar1.ImageList=ImageList1,End Sub,Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button),Select Case Button.Key,Case B,Text1.FontBold=Not Text1.FontBold,Case I,Text1.FontItalic=Not Text1.FontItalic,Case U,Text1.FontUnderline=Not Text1.FontUnderline,Case lt,Text1.Alignment=0,Case ct,Text1.Alignment=2,Case rt,Text1.Alignment=1,End Select,End Sub,10.4.1,键盘事件,在,Visual Basic,中,提供,KeyPress,、,KeyDown,、,KeyUp,三种键盘事件,窗体和接受键盘输入的控件都识别这三种事件。,KeyPress,按下对应某,ASCII,字符的键。,KeyDown,按下键盘的任意键。,KeyUp,释放键盘的任意键,只有获得焦点的对象才能够接受键盘事件。,1.,KeyPress,事件,在按下与,ASCII,字符对应的键时将触发,KeyPress,事件。,10.4,键盘和鼠标事件,KeyPress,事件过程的语法格式是:,Sub Object_KeyPress(KeyAscii As Integer),其中:,Object,是指窗体或控件对象名,,KeyAscii,参数返回对应于,ASCII,字符代码的整型数值。,例如,如果希望将文本框中的所有字符都强制转换为大写字符,则可在输入时使用此事件转换大小写:,Private Sub Text1_KeyPress(KeyAscii As Integer),KeyAscii=Asc(Ucase(Chr(KeyAscii),End Sub,10.4,键盘和鼠标事件,KeyPress,事件只识别,Enter,、,Tab,和,Backspace,键。不能够检测其它功能键、编辑键和定位键。,【,例,10.10,】,设计一个应用程序,在窗体中建立一个文本框和一个标签,在文本框中限定只能输入英文字母、空格和,BackSpace,键,当从键盘向文本框输入英文字符时,将其转换成大写字母并显示在标签中。程序运行结果如图所示。,10.4,键盘和鼠标事件,图,10.17,例,10.10,运行结果,Private Sub Text1_KeyPress(KeyAscii As Integer),Dim char As String,Select Case KeyAscii,Case 65 To 90,97 To 122,32,char=UCase(Chr(KeyAscii),Label1.Caption=Label1.Caption&char,Case 8,Label1.Caption=Left(Label1.Caption,Len(Label1.Caption)-1),Case Else,KeyAscii=0,End Select,End Sub,2.KeyDown,和,KeyUp,事件,当一个对象具有焦点时按下(,KeyDown,),或松开,(KeyUp),一个键时发生。它们报告键盘本身准确的物理状态:按下键,(KeyDown),及松开键,(KeyUp),。,KeyDown,和,KeyUp,事件能够检测其它功能键、编辑键和定位键。,KeyUp,和,KeyDown,事件过程的语法格式如下:,Sub Object_KeyDown(KeyCode As Integer,Shift As Integer),Sub Object_KeyUp(KeyCode As Integer,Shift As Integer),说明:,(,1,),KeyCode,参数值是用户所操作的键的扫描代码,它告诉事件过程用户所操作的物理键,例如,不管键盘处于小写状态还是大写状态,用户在键盘上按下“,A,”健,,KeyCode,参数值相同。对于有上档字符和下档字符的键,其,KeyCode,也是相同的,为下档字符的,ASCII,码。,keycode,参数通过,ASCII,值或键代码常数来识别键。字母键的键代码与此字母的大写字符的,ASCII,值相同。所以,“A”,和,“a”,的,keycode,都是由,Asc(“A”),返回的数值。,表,10.7 Keycode,和,KeyAscii,值,2.KeyDown,和,KeyUp,事件,KeyUp,和,KeyDown,事件过程的语法格式如下:,Sub Object_KeyDown(KeyCode As Integer,Shift As Integer),Sub Object_KeyUp(KeyCode As Integer,Shift As Integer),说明:,(,2,),Shift,参数是一个整数,表示键盘事件发生时,Shift,、,Ctrl,和,Alt,键的状态。,Shift,是一个位域参数,由若干位组成,每个位的信息指出某一种状态是打开(用,1,表示)还是关闭(用,0,表示)。其中最右侧三位用来表示,Shift,、,Ctrl,和,Alt,键的状态,相应二进制位为,0,时表示未按下对应键,为,1,时表示按下了对应键。,Alt,键,Ctrl,键,Shift,键,第,3,位,第,2,位,第,1,位,例如:下例是用,Shift,参数判断是否按下了字母的大写形式。,Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer),If KeyCode=vbKeyA And Shift=1 Then,MsgBox You pressed the uppercase A key.,End if,End Sub,表,10.8 Shift,参数的值,二进制值,十进制值,系统常数,意义,001,1,vbShiftMask,按,Shift,键,010,2,vbCtrlMask,按,Ctrl,键,100,4,vbAltMask,按,Alt,键,011,3,vbShiftMask+vbCtrlMask,按,Shift,键和,Ctrl,键,101,5,vbShiftMask+vbAltMask,按,Shift,键和,Alt,键,110,6,vbCtrlMask+vbAltMask,按,Ctrl,键和,Alt,键,111,7,vbCtrlMask+vbAltMask+vbShiftMask,按,Shift,、,Ctrl,和,Alt,键,【,例,10.12,】,设计一个程序,当按下,Alt+F5,组合键时终止程序的运行。,先把窗体的,KeyPreview,设置为,True,,再编写如下的程序:,Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer),按下,Alt,键时,,Shift,的值为,4,If(KeyCode=vbKeyF5)And(Shift,vbAltMask)Then End,End Sub,10.4,键盘和鼠标事件,注意:,KeyAscii,是获取键的,Ascii,值,就是说你按下主键区的数字和按下数字键区的数字返回的是同一个,Ascii,值,同一个字母大、小写的,KeyAscii,是不同的。,KeyCode,值返回的相当于每个键的标号,每个键都有一个不同的,KeyCode,值,因而通过,KeyCode,值可以判断光标键、回车键等键是否按下,可用于程序的特殊控制。,10.4,键盘和鼠标事件,大多数控件能够识别鼠标的,MouseMove,、,MouseDown,和,MouseUp,事件,通过响应这些鼠标事件,能在应用程序对鼠标位置及状态的变化作出响应操作。,MouseMove,每当鼠标指针移动到屏幕新位置时发生,MouseDown,按下任意鼠标键按钮时发生,MouseUp,释放任意鼠标键按钮时发生,10.4.2,鼠标事件,MouseMove,、,Mouse
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服