Images应用程序中的事件
Image应用程序对事件的响应如下:
1.每一个Image控件的Click事件使Shape控件的Left属性与它自己的Left属性相同,并将图形移到Image的顶端。
2.调用PictureBox的Cls方法清除StatusBar的当前标题。
3.调用PictureBox的PRint方法在StatusBar上打印新标题。
Image控件Click事件的代码如下:
PrivateSubimgHeart_Click()
shpCard.Left=imgClub.LeftpicStatus.Cls
picStatus.Print"Selected:Club"
shpCard.Visible=True
EndSub
注意,Click事件代码中第一行利用=操作符为Shape控件的Left属性赋一个值(让它等于Image控件的Left属性)。下面两行调用方法,因而不需要操作符。在第三行中,值("Selected:Club")是Print方法的一个参数。
该应用代码中还有一行很重要;它在FormLoad事件中。
shpCard.Visible=False
将Shape控件的Visible属性设为False,Shape控件被隐藏起来直至单击第一幅Image。
在Image控件Click事件的最后一步将Visible属性设为True。
详细信息关于属性、方法和事件详细信息,请参阅第五章“编程基础”。
附加控件
VisualBasic工具箱还包含几个其它的标准控件。有些控件可用来处理外部数据库中的大量数据。有些控件可用来访问Windows文件系统。还有其它一些控件难以分类,但却十分有用。
在VisualBasic应用程序中还可使用ActiveX控件,以前称为自定义控件或OLE控件,用法与使用标准控件一样。VisualBasic的专业版和企业版中的若干ActiveX事件同样具有创建自定义控件的功能。可以想像,加上大量厂商制作的附加ActiveX控件,几乎可以完成任何工作。
详细信息关于使用ActiveX控件的详细信息,请参阅第四章“工程的管理”。
数据访问控件
现代商业中,大多数信息存放于一个或多个中央数据库中。VisualBasic提供了多种数据访问控件,可以访问多数流行的数据库,如Microsoftaccess和SQL服务器。
1.ADOData控件用来连接数据库。可把它看成是数据库与窗体中其它控件之间的一个管道线。Data控件的属性、方法和事件允许从应用程序内部定位和处理外部数据。
2.DataList控件与ListBox控件相似。DataList控件与ADOData控件一起使用时,它将自动被来自外部数据库某一字段的数据清单填充。
3.DataCombo控件如同DBList和TextBox的组合。TextBox区域内选中的文本可以编辑,变更出现在底层数据库中。
4.DataGrid控件显示在网格或表中的数据。与ADOData控件一起使用时,它显示来自于外部数据库多个字段的完全可编辑数据。
5.MicrosoftHierarchicalFlexGrid控件是唯一能显示数据的多个视图的控件。可把它看作网格和树或大纲控件的组合。运行时,用户可重新安排行和列以提供数据的不同视图。
详细信息关于Data控件的详细信息,请参阅第七章“使用VisualBasic的标准控件”。
文件系统控件
VisualBasic提供三个控件以增加应用程序中的文件处理能力。通常,这些控件在一起使用以查看驱动器、目录和文件。有一些特殊的属性和事件使它们相互联系。
DriveListBox控件看起来像ComboBox。它提供下拉式驱动器清单,用户可以从中作出选择。
DirListBox与ListBox控件相似,但它具有显示当前所选驱动器目录清单的内置能力。
FileListBox控件看起来像显示所选目录的文件名清单的ListBox。
注意这些控件主要是为在早期VisualBasic版本中创建的应用程序的向下兼容性而提供的。CommonDialog控件提供处理文件访问的简单方法。关于CommonDialog控件的详细信息,请参阅本章后面的“其它控件”。
其它控件
VisualBasic还提供了其它几个标准控件。每个控件都服务于唯一的目的。
Timer控件可以在应用中以重复时间间隔产生一个事件。这对不需要与用户交互的代码的执行非常有用。
OLE容器控件很容易为应用程序增加链接和嵌入等功能。通过OLE容器控件,可以提供对任何OLE——可用的应用程序(如MicrosoftExcel、Word和其它许多应用程序)的功能的访问,。
CommonDialog控件在应用程序中增加内置对话框,用来选择文件、颜色、字体和打印函数。
详细信息关于标准控件的附加信息,请参阅第七章“使用VisualBasic的标准控件”。
焦点概述
焦点是接收用户鼠标或键盘输入的能力。当对象具有焦点时,可接收用户的输入。在MicrosoftWindows界面,任一时刻可运行几个应用程序,但只有具有焦点的应用程序才有活动标题栏,才能接受用户输入。在有几个TextBox的VisualBasic窗体中,只有具有焦点的TextBox才显示由键盘输入的文本。
当对象得到或失去焦点时,会产生GotFocus或LostFocus事件。窗体和多数控件支持这些事件。
下列方法可以将焦点赋给对象。
运行时选择对象。
运行时用快捷键选择对象。
在代码中用SetFocus方法。
有些对象,它是否具有焦点是可以看出来的。例如,当命令按钮具有焦点时,标题周围的边框将突出显示(见图3.19)。
只有当对象的Enabled和Visible属性为True时,它才能接收焦点。Enabled属性允许对象响应由用户产生的事件,如键盘和鼠标事件。Visible属性决定了对象在屏幕上是否可见。
注意只有不包含任何可接收焦点的控件的窗体,才能接收焦点。
控件的Validate事件
控件也有一个Validate事件,在控件失去焦点前发生。然而,仅当即将接受焦点的控件的CausesValidation属性设置为True时该事件发生。在许多情况下,由于Validate事件发生在失去焦点之前,因此对数据验证来说它比LostFocus事件更适用。详细信息,请参阅第七章“使用VisualBasic标准控件”中的“通过限制焦点验证控件数据”。
不能接受焦点的控件
有些控件,例如轻量控件,不能接受焦点。轻量控件包含下面的控件:
Frame控件
Image控件
Label控件
Line控件
Shape控件
此外,运行时不可见的控件,如Timer控件,不能接受焦点。
新闻热点
疑难解答