实现画面的各种切换方法

在多媒体程序设计中,为了美化显示屏幕,增加画面的动感,常常要用天各种图像显示特技。图像的切换技术能明显美化画面。用Visual Basic编制这类程序时,由于VB自身没有这种切换功能,因此需要利用第三方控件或调用W indowsAPI函数BitBlt来实现这种功能。本文介绍用BitBlt函数实现画面的各种切换方法,供大家参考。

假设有5个图像文件(Picture1-Picture5),我们的目标是让这5幅画自动地循环显示,每幅画以某种切换方式出现,当有击鼠标动作时退出程序。

1 创建项目文件:

运行VB,建立一个新工程文件Project1,加入一个新的Form名称为Form1,和一个模块文件Modull,在Form1中加入一个图画框Picture1和一个定时器Timer1。

设置各控件的属性如下:

Form1:AutoRedraw:True

ScaleMode:3

Picture1:AutoRedraw:True

ScaleMode:3

Visible:False

2 代码编写

Modull.bas中的内容(声明BitBlt函数):

Public Const SRCCOPY=&HCC0020’(DWORD)dest=source

Declare Function BitBlt Lib "gdi32"Alias "BitBlt"(By Val hDestDC As Long ByVal x As Long ByVal y As Long ByVal nWidth As Long ByVal nHeight As Long ByVal hSrcDC As Long ByVal xSrc As Long ByVal ySrc As Long ByVal dwRop As Long ) As Long

这两句只要从Win32api.txt文件中粘贴即可。

Form1中的代码:

在Declare中定义全局变量:

Const bmpfilemax=5&总共5个bmp文件

Dim bmpfile(bmpfilemax)As String&bmp 文件的文件名数组

Dim drawbmpmode(bmpfilemax) As Integer&各画显示时的切换方式

Dim bmpnum,movestep,xmax,ymax As Integer

Dim kxy As Single &x,y二个方向的比例

程序运行时先作初始化工作:

Private Sub Form-Load ()

bmpnum=0 &当前文件号=0,第一个文件

bmpfile(0)=App.Path+mp1.bmp bmpfile(1)=App.Path+mp2.bmp

bmpfile(2)=App.Path+mp3.bmp

bmpfile(3)=App.Path+mp4.bmp

bmpfile(4)=App.Path+mp5.bmp

drawbmpmode(0)=1

drawbmpmode(1)=5

drawbmpmode(2)=3

drawbmpmode(3)=4

drawbmpmode(4)=2

movestep=0 &步进参数

xmax=Form.ScaleWidth/2

ymax=Form.ScaleHeight/2

kxy =ymax/xmax

Picture1.Picture=LoadPicture(bmpfile(bmpnum))

Timer1.Interval=30 &定时器起动

End Sub

响应鼠标:

Private Sub Form-Click ()

End &当有击鼠标动作时程序结束

End Sub

切换演示工作主要在定时器中完成:

Private Sub Timer1-Timer ()

hDestDC=Form1.HDC&目标DC

hSrcDC=Picture1.hDC&源DC,画是从不可见的Picture1中拷贝到窗体

drawflag

点击复制链接 与好友分享!回本站首页
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力
上一篇:设定StatusBar的文字成不同的颜色
下一篇:实现屏幕变暗的效果
相关文章
图文推荐

实现画面的各种切换方法
VB 实现仿迅雷自动下
实现画面的各种切换方法
VB实现光驱弹出原理
实现画面的各种切换方法
VB 浅谈熊猫烧香病毒
实现画面的各种切换方法
VB IFEO镜像劫持技术

实现画面的各种切换方法

排行
热门
52 | VB操作SQL Server(一)——如何连接
29 | VB 浅谈熊猫烧香病毒一些原理
24 | VB中的atn函数
20 | VB中如何将msflexgrid控件中的数据导成
18 | vb实现多用户登录
18 | VB一句话设置系统服务自启动
17 | Grid++Report 入手教程:VB 通过Grid
17 | VB IFEO镜像劫持技术
VB分割字符串为数组 字符串转数组
VB生成随机字母 VB产生随机数字
vb.net chart图表使用技巧之一
VB保存/写入/储存TXT/文本文件
VB中日期加减法运算,字符串型转化为日
VB循环逐行读取TextBox控件内容
VB中输入和输出数据的总结
VB中对EXCEL的各种操作
文章
下载
读书
· Win2000下关闭无用端口
· 禁止非法用户登录综合设置 [win9x篇]
· 关上可恶的后门——消除NetBIOS隐患
· 网络入侵检测系统
· 潜伏在Windows默认设置中的陷井
· 调制解调器的不安全
· 构建Windows 2000服务器的安全防护林
· SQL Server 2000的安全配置
· Windows优化大师注册机源码
· Process Viewer 汉化版
· Aspcode动画教程
· WIN 2000服务器防止ICMP数据包攻击教程
· 实现网络隐身的简单方法
· 手工进行克隆帐号
· 用W32DASM破解网页合并器的密码
· 注册表操作动画教程
· 黑客攻防技术宝典:Web实战篇(第2版)
· 超级网管员——网络安全
· 代码大全(第二版)
· 软件之道:软件开发争议问题剖析
· CSS插件工具箱
· CSS入门经典(第3版)
· C#并行编程高级教程:精通.NET 4 Pa
· CMMI+敏捷整合开发
分类:默认分类 时间:2015-03-02 人气:2
本文关键词:
分享到:

相关文章

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.066 (s). 9 q(s)