教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> VB >> 编程实例 >> 利用VB6.0设计屏幕保护程序 RSS订阅
利用VB6.0设计屏幕保护程序
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
屏幕保护程序可以保护显示屏不被损坏,同时节约能源。作为屏幕保护程序,应该具有如下特性:

  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的系统下即可。

来源:www.upschool.com.cn
作者:sunnywolf
关键字:VB屏幕保护程序,VB6.0
发表日期:2007-2-9 17:08:29

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:VB屏蔽ALT-TAB, ALT-ESC, CTRL-ESC,Win,Win+Any   下一篇:


本文的相类似文章
  • 用VB6.0取得系统信息技巧
  • 利用VB6.0设计屏幕保护程序
  • VB6.0初学者的10个编程小技巧
  • 用VB6.0设计简易赛车游戏
  • VB6.0初学者的十个编程小技巧
  • 用VB6.0设计一个打字练习软件
  • 用VB6.0快速实现图象加柔效果
  • VB6.0设计真正实用的TreeView控件
  • 用VB6.0开发猜数字小游戏
  • VB6.0编程"杂耍"
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com