网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 程序设计-> Basic/VB类-> 利用VB6.0设计屏幕保护程序

利用VB6.0设计屏幕保护程序
作者:佚名 来源:InterNet 加入时间:2005-1-28
相关文章
  • VB图像处理之图像的亮度对比度调整
  • VB实现文件数据对SQL Server上传下载
  • 用VB6.0编写磁盘格式化程序
  • VB图像处理之图像的色彩纠正
  • VB图像处理之铅笔画算法和木雕算法
  • VB图像处理之几个常用滤镜的实现
  • VB图像处理之二次线性插值的应用
  • VB图像处理之像素的获取和输出
  • VB实现图像在数据库的存储与显示
  • 利用VB6.0开发基于IIS的应用程序
  • 相关书籍:
  • VBScript语言参考
  • VBScript函数速查手册
  • VBScript5.5脚本语言参考
  • VB上机考试综合应用题选讲
  • vb另外两套教案
  • VB光盘资料库
  • VB、C快速进阶 2.0
  • Web 对象 VB参考
  • VB编程技巧集(中)--站长推荐
  • VB编程技巧集(上)--站长推荐
  • 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


      注意在结束之前先设光标的显示为真,以免在程序结束后丢失光标。

    5、检测键盘上各按键的状态Visual Basic中的键盘活动由KeyDown触发。代码与单击事件的代码一样。

    Private Sub Form-KeyDown(KeyCode As Integer,Shift As Integer)
     X=ShowCursor(True)
     End
    EndSub

      下面我们将设计一个简单的屏幕保护程序,该程序运行时,从左至右显示一张图片,图片从屏幕左边出现,至屏幕右面消失,象拉幕一样,且重不停复该过程。假设图片文件名为PIC.BMP,并存放在Windows文件夹中。实际操作如下:

      创建一新工程,在窗体中添加一图片框和一个Timer控件。设置它们的属性如下:

    Form   
    BackColor=&H80000007& 
    BorderStyle=0  ’None
    MaxButton=False 
    MinButton=False  
    Windowstate=2 ’Maximized
    Timer   
    Intelval=5
    PictureBox 
    BackColor=&H80000007&  
    BorderStyle=0 ’None  
    AutoSize=Ture

      输入代码如下:

    ’在窗体的声明部分声明ShowCursor函数。
    Private Declare Function ShowCursor Lib“user32”(By Val bShow As Long) As Long
     ’在窗体上单击鼠标时退出程序
     Private Sub Form-Click() 
      X=ShowCursor(True) 
      End 
     EndSub
     ’在窗体上按下按键时退出程序
     Private Sub Form-KeyDown(KeyCode As Integer,Shift As Integer) X=ShowCursor(True) 
      End
     EndSub
     ’加载窗体时隐藏鼠标
     Private Sub Form-Load() 
      Dim X As Long 
      X=ShowCursor(False) 
      Picture1.Visible=False 
      Picture1.PICTure=LoadPICTure(“C:\windows\PIC.BMP”) 
      Picture1.Left=-Picture1.Width
     EndSub
     ’在窗体上移动鼠标时退出程序
    Private Sub Form-MouseMove(Button As Integer,Shift As Integer,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  
      ExitSub  
     EndIf
     If Abs(orignX-currentX)>1 Or Abs(orignY-currentY)>1
      Then X=ShowCursor(True)
      End   
     EndIf
    EndSub
    Private Sub Picture1-Click() 
     X=ShowCursor(True)
     End
    EndSub
    Private Sub Picture1-KeyDown(KeyCode As Integer,Shift As Integer)
     X=ShowCursor(True)
     End
    EndSub
    Private Sub Picture1-MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)
     Static Xlast,Ylast As Single
     Dim Xnow,Ynow As Single
     Xnow=X
     Ynow=Y
     If Xlast=0 And Ylast=0 Then
      Xlast=Xnow
      Ylast=Ynow
      ExitSub
     EndIf
     If Abs(Xnow-Xlast)>1 Or Abs(Ynow-Ylast)>1 Then
      X=ShowCursor(True)
      End
     EndIf
    EndSub
    Private Sub Timer1-Timer()
     Picture1.Visible=True
     Picture1.Top=(Form1.Height-Picture1.Height)/2
     Picture1.Left=Picture1.Left+50
     If Picture1.Left>Form1.Width Then
      Picture1.Left=-Picture1.Width
      EndIf
     EndSub

      将以上代码编译生成可执行文件,在保存文件对话窗中输入文件名称时把扩展名改为”SCR”,最后将生成的屏幕保护程序添加到Windows的系统下即可。


    [文章录入员:nancy]

    相关文章
  • VB图像处理之图像的亮度对比度调整
  • VB实现文件数据对SQL Server上传下载
  • 用VB6.0编写磁盘格式化程序
  • VB图像处理之图像的色彩纠正
  • VB图像处理之铅笔画算法和木雕算法
  • VB图像处理之几个常用滤镜的实现
  • VB图像处理之二次线性插值的应用
  • VB图像处理之像素的获取和输出
  • VB实现图像在数据库的存储与显示
  • 利用VB6.0开发基于IIS的应用程序
  • 相关书籍:
  • VBScript语言参考
  • VBScript函数速查手册
  • VBScript5.5脚本语言参考
  • VB上机考试综合应用题选讲
  • vb另外两套教案
  • VB光盘资料库
  • VB、C快速进阶 2.0
  • Web 对象 VB参考
  • VB编程技巧集(中)--站长推荐
  • VB编程技巧集(上)--站长推荐
  • 本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    Basic/VB类
    C/C++/VC
    C++Builder
    Basic/VB类
    Delphi/Pascal
    Java编程
    FORTRAN
    其它
    电脑教程阅读排行
    ·VB学习一点通
    ·VB设计动画时钟
    ·在Visual Basic 6....
    · 用VB6.0编写手机短信发送 ...
    ·VB实现文件数据对SQL Ser...
    ·利用Visual Basic操作...
    ·VB实现图像在数据库的存储与显示
    ·用Visual Basic6.0...
    ·Visual Basic代码优化...
    · VB中实现“无标题”窗体的移动...