—1—VB常用控件的事件详解在Windows操作系统上,VisualBasic作为一门计算机语言,功能非常强大,而且简单易学。VisualBasic提供可视化设计工具,编程人员可利用VisualBasic提供的控件轻松的“画”出应用程序的友好界面,因此容易入门,入门以后就有能力进一步学习难度更大的编程语言。VisualBasic作为编程人员的首选程序设计语言,有如下特点:1、VisualBasic是开发Windows应用程序的强有力的工具,使用了最先进的程序设计思想,能轻而易举的开发出符合Windows规范和风格的应用程序;2、VisualBasic在科学计算、多媒体软件开发、网络应用等方面都有强大的功能,尤其在数据库开发方面,提供了许多控件,便于连接、查询和显示查询结果,现在很多管理软件,包括一些大型软件,都是利用VisualBasic开发的;3、VisualBasic改变了传统的程序的机制,采用“事件驱动”方式,用户操作产生不同的事件,程序根据这些事件去分别执行不同的子程序。编程人员可以分别编写出这样一些子程序,因此使编程难度大大下降。在VisualBasic语言中,控件是用户界面的基本要素,是进行可视化程序设计的重要基础,它不仅关系到界面是否友好,还直接关系到程序的运行速度以及整个程序的好坏。每个控件都具有它的属性、方法和事件,设计窗体就必须很好的掌握控件的事件和应用方法。控件具有很多相同的事件,各个控件也有其特有的一些事件。VisualBasic中的控件分为两种,即标准控件(或内部控件)和ActiveX控件。内部控件是工具箱中的“常驻”控件,始终出现在工具箱里,而ActiveX控件是扩展名为.ocx的文件(在Windows\System文件夹里),它是根据变成需要添加到工具箱里的。在一般情况下,工具箱里只有标准控件,为了把ActiveX控件添加到工具箱里,可—2—按以下步骤执行:(1)在菜单里选择“工程-部件”,弹出“部件”对话框;(2)在对话框中选择“控件”选项卡,显示ActiveX控件列表;(3)在列表框中找到需要添加的控件名称,单击控件名称左侧的复选框;(4)使用同样的方法选择需要添加的其它控件;(5)单击“确定”按钮,即可将所选ActiveX控件添加到工具箱里。第一章、标准控件的事件1.01窗体(Form)的事件1.02文本框控件(Text)的事件1.03标签控件(Label)的事件1.04框架控件(Frame)的事件1.05命令按钮控件(CommandButton)的事件1.06复选钮控件(Check)的事件1.07单选钮控件(Option)的事件1.08组合框控件(Combo)的事件1.09列表框控件(List)的事件1.10滚动条控件(HScrollBar和VScrollBar)的事件1.11定时器控件(Timer)的事件1.12文件列表框控件(File)的事件1.13目录列表框控件(Dir)的事件1.14驱动器列表框控件(Drive)的事件1.15图片框控件(Picture)的事件1.16图象控件(Image)的事件1.17数据控件(Data)的事件1.18OLE容器控件(OLE)的事件1.19菜单控件的事件第二章、ActiveX控件的属性2.01ActiveMoviel控件的事件2.02Adodc控件的事件2.03Animation控件的事件2.04CoolBar控件的事件2.05数据组合框(DataCombo)控件的事件2.06数据型电子表格(DataGrid)控件的事件2.07数据列表(DataList)控件的事件2.08DTPicker控件的事件2.09平面滚动条(FlatScrollBar)控件的2.10图像组合框(ImageCombo)控件的事件—3—事件2.11Inet控件的事件2.12列表视图(ListView)控件的事件2.13MaskEdBox控件的事件2.14多媒体(MMControl)控件的事件2.15月视图(MonthView)控件的事件2.16图表(MSChard)控件的事件2.17MSComm控件的事件2.18电子表格(MSFlexGrid)控件的事件2.19层次型电子表格(MSHFlexGrid)控件的事件2.20MSRDC控件的事件2.21进度栏(ProgressBar)控件的事件2.22RichTextBox控件的事件2.23滑动块(Slider)控件的事件2.24选项卡(SSTab)控件的事件2.25状态栏(StatuaBar)控件的事件2.26SysInfo控件的事件2.27选项卡(TabStrip)控件的事件2.28工具栏(ToolBar)控件2.29树状视图(TreeView)控件2.30UpDown控件2.31Winsock控件第一章、标准控件的事件1.01、窗体(Form)的事件事件名称事件处理过程原形及说明Activate(激活)当窗体变为活动窗体时发生此事件,此事件比Load事件发生得晚,事件处理过程原形PrivateSubForm_Activate()EndSub此事件常用于激活窗体后对窗体进行初始化,比Load事件功能强。Click(单击)当用户单击窗体时发生此事件,事件处理过程原形PrivateSubForm_Click()EndSubDblClick(双击)当用户双击窗体时发生此事件,事件处理过程原形PrivateSubForm_DblClick()—4—EndSubDeactivatePrivateSubForm_Deactivate()EndSubDragDrop当完成一个完整的拖放动作或使用Drag方法时,发生此事件,事件处理过程原形PrivateSubForm_DragDrop(SourceAsControl,XAsSingle,YAsSingle)EndSub形参的意义:Source正在被拖动的控件。X、Y是一个指定当前鼠标指针在目标窗体或控件中水平(X)和垂直(Y)位置的数字。DragOver当用户进行拖放操作时发生此事件,事件处理过程原形PrivateSubForm_DragOver(SourceAsControl,XAsSingle,YAsSingle,StateAsInteger)EndSub形参的意义:Source正在被拖动的控件。X、Y是一个指定当前鼠标指针在目标窗体或控件中水平(X)和垂直(Y)位置的数字。GotFocus(获得焦点)当获得焦点时发生此事件,事件处理过程原形PrivateSubForm_GotFocus()EndSubInitialize当应用程序创建Form、MDIForm、User控件、PropertyPage或类的实例时发生。事件处理过程原形PrivateSubForm_Initialize()EndSubKeyDown(按下键)当窗体上没有能获得焦点的控件(如文本框控件)时,用户按下键盘上某个键时发生此事件,事件处理过程原形PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)—5—EndSub形参的意义:KeyCode按键的编码Shift转换键,意义如下:0没有转换键按下1Shift键按下2Ctrl键按下3Alt键按下当多个转换键同时按下时,应把几个键对应的数值相加KeyPress(敲击键)当窗体上没有能获得焦点的控件(如文本框控件)时,用户敲击键盘上某个键时发生此事件,事件处理过程原形PrivateSubForm_KeyPress(KeyAsciiAsInteger)EndSub形参的意义:KeyAscii按键Ascii码若改变KeyAscii参数,相当于按下了不同的键,若置此参数为0,则取消按键。KeyUp(释放键)当窗体上没有能获得焦点的控件(如文本框控件)时,用户按下键盘上某个键后释放时发生此事件,事件处理过程原形PrivateSubForm_KeyUp(KeyCodeAsInteger,ShiftAsInteger)EndSub形参的意义请参阅KeyDown事件LinkClose此事件在一个DDE对话结束时发生此事件,事件处理过程原形PrivateSubForm_LinkClose()EndSubLinkError当一个DDE对话过程中出现错误时,发生此事件。事件处理过程原形PrivateSubForm_LinkError(LinkErrAsInteger)EndSub形参的意义:—6—LinkErr是一个与DDE有关错误的错误号,返回值如下所述返回值描述1另一个应用程序按错误的格式已经请求过数据。在VisualBasic试图找出另一种应用程序识别的格式时,这种错误可能连续出现几次6当发送端窗体上的LinkMode属性设置为0(无)之后,接收端应用程序试图继续DDE对话7所有源链接都在使用中(每个源最多有128个链接)8对目标控件来说:一个自动链接或LinkRequest方法更新控件中的数据失败对源窗体来说:目标试图将数据放置到一个控件中去,并且失败11无足够的内存给DDE使用LinkExecute当一个DDE对话中的命令字符串由一个接收端应用程序发出时发生此事件。事件处理过程原形PrivateSubForm_LinkExecute(CmdStrAsString,CancelAsInteger)EndSub形参的意义:cmdstr由目标应用程序所发出的命令字符串表达式cancel是一个整数,告诉目标该命令字符串是否被接受。将cancel设置为0是通知目标该命令字符串被接受。将cancel设置为任何一个非零的值通知目标该命令字符串被拒绝(缺省值被设置为-1,指示的是cancel)LinkOpen当一个DDE对话正在启动时发生此事件。事件处理过程原形PrivateSubForm_LinkOpen(CancelAsInteger)EndSub形参的意义:Cancel是一个整数,它用来确定该DDE对话是否建立。让cancel设置为0(缺省值)可建立该对话。将cancel设置为任何非零值则拒绝对话Load(装载)窗体装入时发生此事件,事件处理过程原形PrivateSubForm_Load()EndSub—7—此事件常用于窗体装入后对窗体进行初始化,但有局限性,有些程序须在Activate事件中才能完成LostFocus(丢失焦点)当丢失焦点时发生此事件,事件处理过程原形PrivateSubForm_LostFocus()EndSubMouseDown(按下鼠标)当鼠标在窗体上,用户按下鼠标键时发生此事件,事件处理过程原形PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)EndSub形参的意义:Button标识按下哪个鼠标键:1、按下鼠标左键2、按下鼠标右键3、按下鼠标左右两键Shift键的意义请参阅KeyDown事件X、Y按下鼠标键时的坐标MouseMove(鼠标移动)当鼠标在窗体上移动时发生此事件,事件处理过程原形PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)EndSub形参的意义:X、Y鼠标移动过程中的瞬时坐标其它各参数的意义请参阅MouseDown事件MouseUp(释放鼠标)当鼠标在窗体上,用户释放鼠标键时发生此事件,事件处理过程原形PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)EndSub形参的意义:X、Y鼠标移动释放时的瞬时坐标—8—其它各参数的意义请参阅MouseDown事件OLECompleteDrag当源部件被放到目标部件时发生此事件,并通知源部件拖放操作被执行或取消。事件处理过程原形PrivateSubForm_OLECompleteDrag(EffectAsLong)EndSub形参的意义:Eff