手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

用VB5制作家庭影集

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

你想拥有自己的电子家庭影集吗?其实用VB就能实现。方法如下:

  准备:家庭普通照片经扫描后储存。

  构想:照片一张接一张出现在屏幕中间,出现时的方式采取动态切换,上方一行标题从左向右移过,标题与照片的背景色随机变化。

  关键:调用Bitblt Windows API函数实现照片的动态切换。

  内容:工程由Form1和modlue1构成。

  Form1中的内容如下:

  Const bmpfilemax = 11 ′照片数目常量
  Dim bmpfile(bmpfilemax) As String ′照片的文件组
  Dim drawbmpmode(bmpfilemax) As Integer '照片的切换方式
  Dim bmpnum, movestep, xmax, ymax, endmax, lleft, r, n As Integer ′照片的序号、步进参数等
  Dim kxy As Single ′x、y方向的比例
  Private Sub Exit_Click()
  End
  End Sub
  Private Sub Form_Load()
  Label1.Left = 0
  Label1.Caption = ″Family Album″
  Picture1.AutoSize = True
  Picture1.Visible = False
  bmpfile(0) = App.Path + ″ \son1.jpg″
  bmpfile(1) = App.Path + ″\mom_son1.jpg″
  bmpfile(2) = App.Path + ″\daddy-son.jpg″
  bmpfile(3) = App.Path + ″\yu99yantai.jpg″
  bmpfile(4) = App.Path + ″\yu98singap2.jpg″
  bmpfile(5) = App.Path + ″\yu98singapore.jpg″
  bmpfile(6) = App.Path + ″\mom_son2.jpg″
  bmpfile(7) = App.Path + ″\yu99yan2.jpg″
  bmpfile(8) = App.Path + ″\family.jpg″
  bmpfile(9) = App.Path + ″\fan-yantai.jpg″
  bmpfile(10) = App.Path + ″\yu99yan3.jpg″
  drawbmpmode(bmpnum) = 1 + Int(Rnd() * 4)
  movestep = 0 ′步进参数
  xmax = Form1.ScaleWidth /
  ymax = Form1.ScaleHeight /
  kxy = ymax / xmax
  Picture1.Picture = LoadPicture(bmpfile(bmpnum))
  Timer1.Interval = 30
  End Sub
  Private Sub Timer1_Timer()
  m = Form1.ScaleWidth / - Picture1.Width / ′照片显示结束时的X方向居中定位
  n = Form1.ScaleHeight / - Picture1.Height / ′照片显示结束时的Y方向居中定位
  hDestDC = Form1.hDC
  hSrcDC = Picture1.hDC
  drawflag = drawbmpmode(bmpnum) ′照片显示时的切换方式
  Select Case drawflag
  Case 1 ′切换方式为从左右向中间进行
  Timer1.Interval = 30
  endmax = xmax
  w = movestep
  h = Picture1.Height
  i = BitBlt(hDestDC, 0 + m, 0 + n, w, h, hSrcDC, 0, 0, SRCCOPY)
  X1 = Picture1.Width - movestep
  i = BitBlt(hDestDC, X1 + m, 0 + n, w, h, hSrcDC, X1, 0, SRCCOPY)
  Case 2 ′切换方式为从中间向四周扩散进行
  Timer1.Interval = 30
  endmax = xmax
  X1 = xmax - movestep
  w = movestep * 2
  Y1 = CInt(ymax - movestep * kxy)
  h = CInt(2 * movestep)
  i = BitBlt(hDestDC, X1 + m, Y1 + n, w, h, hSrcDC, X1, Y1, SRCCOPY)
  Case 3 ′切换方式为栅栏翻转进行
  Timer1.Interval = 200
  ednmax = CInt(2 * xmax / 10)
  tempi = CInt(2 * xmax / 10)
  w = movestep
  h = Picture1.ScaleHeight
  For ij = 0 To 9
  i = BitBlt(hDestDC, tempi * ij + m, 0 + n, w, h, hSrcDC, tempi * ij, 0,
  SRCCOPY)
  Next ij
  Case 4 ′切换方式为从左向右进行
  Timer1.Interval = 30
  endmax = xmax
  w = movestep * 2
  h = Form1.ScaleHeight
  i = BitBlt(hDestDC, 0 + m, 0 + n, w, h, hSrcDC, X1, Y1, SRCCOPY)
  End Select
  Form1.Refresh
  movestep = movestep + 4
  Label1.Left = movestep
  If movestep > endmax + 60 Then
  bmpnum = bmpnum + 1
  If bmpnum >= bmpfilemax Then
  bmpnum = 0
  End If
  Cls
  movestep = 0
  Picture1.Picture = LoadPicture(bmpfile(bmpnum))
  drawbmpmode(bmpnum) = 1 + Int(Rnd() * 4)
  BackColor = QBColor(Rnd * 15)
  Label1.ForeColor = QBColor(Rnd * 10)
  If BackColor = Label1.ForeColor Then
  Label1.ForeColor = vbBlack
  End If
  Label1.Caption = ″Family Album″
  Label1.Top = Picture1.Top
  End If
  End Sub
  Modlue1中的内容如下:
  Option Explicit
  Public Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
  Declare Function BitBlt Lib ″gdi32″ (ByVal 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

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS