VB编程的必备技巧,第1张

VB编程的必备技巧,第2张

对于程序员来说,VB很容易上手,但是要深入灵活的掌握,还是需要一定的努力。在此,笔者介绍一些典型的编程技巧,希望对VB爱好者有所帮助。

1.如何创建自定义光标

1.设计应用程序时,Visual Basic允许程序员将许多控件的MousePointer属性设计为12个预定义鼠标光标之一。但是,有些程序员可能希望显示光标而不是预定义的形状。本文解释了如何创建不同的MousePointer(光标),包括为没有mouseporter属性的控件创建光标。

若要在Visual Basic应用程序中将光标(鼠标指针)更改为不同的形状,可以添加代码来更改要监视的控件的MouseMove和DragOver事件。

MouseMove事件包含用于触发控件的Drag方法的代码。当鼠标移动到选定的控件上时,新的鼠标指针会依次显示。当鼠标指针离开控件时,会触发DragOver事件。在Visual Basic程序中,可以重置此Drag属性,以便可以再次显示上一个鼠标指针。

2.下面的示例程序实现了当鼠标指针移动到文件列表框控件上时,它将变成不同的形状。

首先,使用默认方法构建Form1。在Form1上添加一个文件列表框控件,使用默认方法建立File1。将File1控件的DragIcon属性设置为selected。ICO文件。

将以下代码添加到File1的MouseMove事件中:

private Sub file 1-MouseMove(button As
Integer,Shift As Integer,X As Single,As Single)
file 1 . drag 1 ' ' icon on
end Sub
-将以下代码添加到Form1的DragOver事件中:
private subform-DragOver(source As control,
x as single,y as single,state As Integer)
file 1 . drag 0 ' icon off
end Sub
Press运行结果如下:当鼠标指针移动到文件列表框控件时,程序将使用所选的。ICO文件作为默认鼠标光标;当鼠标指针离开控件时,光标将自动恢复到默认形状。

2.如何在表单上点击鼠标右键生成弹出菜单?

众所周知,在Windows95/98/2000和很多流行软件窗口的桌面上,当我们点击鼠标右键时,会在鼠标当前位置弹出一个快捷菜单。是不是很多热爱编程的朋友也希望自己的程序里有类似的功能?其实不难。经过一番努力,笔者在VB中找到了一个通用的方法,供大家分享。

要实现上述功能,有两个步骤:

1.使用VB的菜单编辑器来编辑你想要弹出的菜单和子菜单。注意,菜单的Visible属性应该设置为:False。

2.在窗体(Form1)的MouseDown事件中写一个程序,模拟编辑过的菜单,假设菜单名为PopMenu,程序源代码如下:

private Sub Form-MouseDown
(Button As Integer,Shift As Integer,
X As Single,As Single)
if Button = vbrightbutton then
popmenu . visible = true
popmenu
end if
end Sub
以上方法是针对窗体的,我们也可以针对任何控件。用鼠标右键点击控件时,方法也很简单,只需将上述代码放入相应控件的MouseDown事件中即可。

3.如何动态确定表单上某个区域是否有控件?

在作者的一个小程序中,我想在表单的某个区域输出数据,这就要求这个区域不存在其他控件。那么,我如何知道表单的某个区域是否有控件呢?

为了判断表单的某个区域是否有控件,我们可以用下面的VB程序来实现:

Function GetControl(x1为Single,y1为Single,
x2为Single,y2为Single)作为Control
Dim Control为Control
For form 1
中的每个控件,其中Control
If(x1÷=。左)和(x2÷=。Left)和_
(y1÷=。Top)和(y2÷=。Top)或_
(x1÷=。左+宽)和(x2÷=。Left + Width)和_
(y1÷=。Top)和(y2÷=。Top)或_
(x1÷=。Left)和(x2÷= Left)和_
(y1÷=。Top + Height)和(y2÷=。Top + Height)或_
(x1 7; =。左+宽)和(x2÷=。Left + Width)和_
(y1÷=。Top + Height)和(y2÷=。Top + Height)然后
Set get Control = Control
Exit函数
End If End With
Next
Set Control = nothing
End函数
注意:(x1,y1)和(x2,y2)分别是所选矩形区域左上角和右下角的坐标值。
该程序通过计算窗体上所有控件的四个角的位置来确定控件是否与选定区域相交,并返回相交的控件。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VB编程的必备技巧

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情