当在设计一个应用程序时,Visual Basic允许程序员将许多控件 的MousePointer属性设计成12个预先定义好的鼠标光标之一。典型情 况是程序员希望改变一个控件的MousePointer属性,以告诉程序的用 户有某种类型的行为被进行了。例如,沙漏光标被用来指示一个消耗 时间的过程。另外,可以改变光标来仅仅通知用户他已经将鼠标的指 针指向了一个特殊的控件,如一个文件列表框。要做到这些,程序员 只需要简单地在Visual Basic程序中在适当时刻改变该控件的Mouse- Pointer属性即可。 然而,有些程序员或许会希望显示一个12个预定义形状中的光标 之外的光标。本文说明如何创建一个不同的鼠标指针(光标),包括 为一个没有MousePointer属性的控件创建光标。 改变光标(鼠标指针) 要在Visual Basic应用程序中将光标(鼠标指针)改变成个不同 的形状,可以添加代码来改变希望监视的控件的MouseMove和DragOver 事件。 MouseMove事件所包含的代码用于触发该控件的Drag方法。当鼠标 在被选中的控件上移动的时候,轮流显示新的鼠标指针。当鼠标指针离 开该控件时,则DragOver事件被触发。在Visual Basic程序中,可以 重新复位此Drag属性,以便以前的鼠标指针能够被再次显示出来。 样例程序 下面的程序实现当鼠标指针移动到一个文件列表框控件上时,将其 改变成不同的形状。 在Visual Basic中开始一个新的工程,采用缺省的方法建立Form1。 在Form1上添加一个文件列表框控件,采用缺省的方法建立File1。 将File1控件的DragIcon属性设置为所选择的.ICO文件。 将如下代码添加到File1的MouseMove事件中: Private Sub File1_MouseMove(ButtonAs Integer, Shift As Integer, X As Single, Y As Single) File1.Drag 1 'icon on End Sub 将如下代码添加到Form1的DragOver事件中: Private Sub Form_DragOver(Source As Control, X As Single, Y As Single, State As Integer) File1.Drag 0 'icon off End Sub 按下F5功能键执行此程序。得到的运行结果是:将鼠标指针移动到该 文件列表框控件上时,程序将把所选中的.ICO文件作为缺省的鼠标光标; 将鼠标指针离开该控件时,光标则会自动恢复为缺省的形状。