CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

如何用VB编写百叶窗函数来显示滚动的字幕?

楼主xujun581(踏雪无痕)2004-09-04 20:52:12 在 VB / 基础类 提问

各位高手们:小弟有一事相求,望赐教。那就是:如何用VB编写百叶窗函数来显示滚动的字幕?多谢指教!!!  
         
  问题点数:20、回复次数:5Top

1 楼xiaohuasz()回复于 2004-09-04 23:44:28 得分 10

给个api书上的源码你  
  Private   Declare   Sub   Sleep   Lib   "kernel32"   (ByVal   dwMilliseconds   As   Long)  
  Private   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  
  Private   Sub   Form_Paint()  
  Dim   T   As   Integer,   I   As   Integer,   J   As   Integer  
  Dim   P1   As   Single,   P2   As   Single,   P3   As   Single  
      Picture2.Cls  
      T   =   40  
      P2   =   Picture1.Height  
      P1   =   1  
          For   J   =   0   To   T   -   1  
            For   I   =   0   To   Picture1.Width   -   T   -   1   Step   T  
                P3   =   I   +   J  
                  BitBlt   Form1.Picture2.hDC,   P3,   0,   P1,   P2,   Form1.Picture1.hDC,   P3,   0,   _   &HCC0020  
            Next   I  
                    Sleep   50  
        Next   J  
  End   SubTop

2 楼theforever(碧海情天)回复于 2004-09-05 00:46:20 得分 0

不错Top

3 楼langziwujia007(※刑警队长※)回复于 2004-09-07 14:41:11 得分 0

向大家学习Top

4 楼starsoulxp(星魂)回复于 2004-09-07 14:48:42 得分 0

Picture1,picture2都是什么Top

5 楼ryuginka(一米八五的猪)回复于 2004-09-07 14:53:56 得分 10

源代码内容    
     
  在Powerpoint这样的软件中,各种各样的图形特效层出不穷,其中“百叶窗”的切换效果尤为新颖奇特。在VB中实现这样的图形特效十分简单方便。其方法是调用WINDOWS的API函数Bitblt。BitBlt函数就类似于C语言中的getimage、putimage两个函数的组合运用。BitBlt原意是“Bit   Block   Transfer”,其主要用途是位图的复制。用BitBlt函数显示图形特效,其原理十分简单,制作时先在表单中绘制两个图片框,将图片存入一个图片框,同时将另一个图片框设为空,然后调用BitBlt函数将第一个图片框中的图形一部分一部分地复制到第二个图片框中,这样就可以实现千奇百怪的图形特效。其步骤如下:  
   
    在VB环境中新建一个窗体,绘制两个图片框picSour和picDest,两个命令按钮cmdShow和cmdExit。首先在窗体的通用过程中声明BitBlt函数即所需要的常量名,在载入窗体同时在picSour中载入图片,在按钮cmdShow的事件中调用BitBlt函数。程序如下:  
  API函数声明:  
   
  Declare   Function   BitBlt   Lib″GDI″(ByVal   hDestDC   As   Integer,ByVal   X   As   Integer,ByVal   Y   As   Integer,ByVal   nWidth   AS   Integer,ByVal   nHeight   As   Integer,ByVal   hSrcDC   As   Integer,ByVal   xSrc   As   Integer,ByVal   ySrc   As   Integer,ByVal   dwRop   As   Long)As   Integer    
   
    Const   COPY-PUT=&HCC0020′BitBlt的15种算法之一,表示直接拷贝  
    载入图片:  
   
  Sub   Form-Load()  
  picsour.Picture=LoadPicture(″c:\windows\LEAVES.bmp″)  
  picsour.ScaleMode=3′以象素为单位  
  End   Sub    
   
  显示“百叶窗”的切换效果:  
   
  Sub   Comshow-Click()  
  H%=picsour.ScaleHeight  
  W%=picsour.ScaleWidth  
  scanlines=4  
  For   i=0   To(scanlines-1)  
  For   j=i   To   H%   Step   scanlines  
  s%=BitBlt%(picdest.hDC,0,j,W%,1,picsour.hDC,0,j,copy-Put)  
  delay   500′延时  
  Next   j  
  Next   i  
  End   Sub    
   
    其中delay是一个通用子过程,用于延时,以便于能看清楚切换效果。代码如下:    
   
  Sub   delay(delaytime   As   Integer)  
  For   i=1   To   delaytime  
  Next   i  
  End   Sub    
   
    通过这样简单的程序就可以实现“百叶窗”的切换特效,其实,只要有合适的算法,运用BitBlt函数能够实现的图形特效是无穷的    
  Top

相关问题

  • VB函数
  • vb函数
  • 请教如何用VB实现图像的百叶窗效果?
  • VB的两个小函数?
  • Delphi和VB API函数
  • VB乘方函数?在线
  • 求教:有无API函数可控制webbrowser控件滚动条的滚动?...
  • 请教了,Ondraw函数的滚动刷新的问题
  • 怎么控制滚动条的位置,有什么函数
  • 高分寻OnHScroll(水平滚动条消息处理函数)

关键词

  • 函数
  • 图形
  • vb
  • 效果
  • picsour
  • bitblt
  • 百叶窗
  • byval
  • 图形特效
  • 窗体

得分解答快速导航

  • 帖主:xujun581
  • xiaohuasz
  • ryuginka

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo