利用Visual Basic 6.0设计屏幕保护程序 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
http://www.sina.com.cn 2004年09月21日 07:57 天极yesky | ||||||||||||
文/务实
Windows操作平台设有一个屏幕的保护措施,即屏幕保护功能。经常在Windows操作平台上使用电脑的人们对系统提供给我们的几个屏幕保护程序是不是感到非常平常了,没有新鲜感了,是不是想自己设计屏幕保护程序。下面介绍如何利用VB设计用户自己的屏幕保护程
1)屏幕保护程序运行时,鼠标光标被自动隐藏,在程序结束时,光标显示。2)当单击、移动鼠标或按下键盘时,屏幕保护结束,回到正常操作状态。为了实现这些特性,在编写VB应用程序时,可以采用如下方法: 1、改变窗体属性通常VB应用程序的窗体都采用有边框的窗体外观,但作为屏幕保护程序,应设置窗体为无边框,且为最大化。 2、隐藏及显示鼠标光标在Visual Basic应用程序中隐藏及显示鼠标光标需要运用Windows的API函数,该函数名为ShowCursor。当用参数值True调用时显示鼠标光标,当用参数值False调用时,鼠标光标自动隐藏。 3、检测鼠标移动VB中有一个检测鼠标移动的对象事件MouseMove事件。MouseMove事件通常在应用程序启动时就会触发,有时在鼠标并未移动的情况下,MouseMove事件仍有可能被触发。因此如果在程序中直接用MouseMove事件检测鼠标是否发生了移动,并不能正确反映鼠标的移动状况。应该在MouseMove事件中编写代码加以控制。 为了正确反映鼠标的移动,先用变量记录下程序运行时的鼠标当前位置,然后用另外一组变量记录鼠标移动后的位置,当鼠标移动前后的位置差大于一定范围时,触发MouseMove事件。编写代码如下: Private Sub Form-MouseMove(Button As Integer,shift As Inteqer,X As Single,Y As Single) Static currentX,currentY As Single Dim orignX,orignY As Single ’把当前的鼠标值赋给orignX和orignY orignX=X orignY=Y ’初始化currentX和currentY if currentX=0 and currentY=0 Then currentX=orignX currentY=orignY Exit Sub Endif ’当鼠标移动大于一个象素时,显示鼠标光标并退出程序 If Abs(oriqnX-currentX)>1 or Abs(orignY-currentY)>1Then X=ShowCursor(True) End Endif EndSub 4、检测鼠标单击在Visual Basic中,单击事件是由“Click”触发的。当屏幕保护程序运行时遇到单击事件,则程序运行终止。代码编辑如下: Private Sub Form-Click() X=ShowCursor(True) End EndSub 注意在结束之前先设光标的显示为真,以免在程序结束后丢失光标。
|