下面是经常在网页中看到的"雄鹰展翅"的动画代码:<EMBED style="LEFT: -40px; POSITION: absolute; TOP: -70px" src="http://hexun.com/flash/dongwu_10.swf" width="1024" height="1000" type="application/x-shockwave-flash" quality="high" wmode="transparent"></EMBED>
<<麻烦朋友们把这段代码复制到记事本另成为HTML后打开看看>>但是此代码经过(罗刚君老师)重新用VBA+***语言组合后得到了不可思议的显示效果,下面是初始打开网页的动画效果截图与切换页面后动画显示的图片:
初始截图:
切换页面后的截图:
                    
                     我不明白的是为什么"雄鹰展翅"动画总是置于当前活动窗口之上显示呢(平常的只能在初始网页中显示啊...不可思议)******.非常抱歉,没有分数了,请朋友们凉解!

解决方案 »

  1.   

    请按下面地此下载安装后(点那个"铃铛"安装后打开EXCEL工作表,在菜单栏上有个"动画欣赏"按钮)就能看到漂亮的效果:
    http://excelbbx.cn/donghua.rar
      

  2.   

    不可思议吗?创建一个 ShockwaveFlashObjects.ShockwaveFlash 控件,让它播放swf文件而已。
      

  3.   

    谢谢您...我不知道您说的"创建一个 ShockwaveFlashObjects.ShockwaveFlash 控件"来播放swf文件的效果是不是我所说的那种效果...具体怎么创建,麻烦老师给个实例学习.
      

  4.   

    用一个全屏的、背景透明的flash控件来播放swf文件,不就能在所有窗口之上乱窜吗?
      

  5.   

    也许是这样...那怎么做成背景是透明的FLASH控件呢...麻烦老师给个实例学习!
      

  6.   

    闯鬼了,Flash控件居然无法透明……对窗体用了 SetLayeredWindowAttributes() 后,控件公然没透明掉。-_-!!!
      

  7.   

    这么久了你居然还没有解决?1 创建一个和桌面一样大的窗口,设置这个窗口的背景透明,且位于所有窗口顶端。
    2 在这个窗口上创建一个 Flash 控件,这个控件的背景透明。
    3 在 Flash 控件中播放 swf 文件。这么说你明白了吗?
      

  8.   

    给你一个VB代码做示例吧。
    说明一下,这个代码仅仅是示例,用VB是无法实现你说的那个效果的,那个效果得用VC来做。
    因为VB比较弱智,由于VB的局限,即使实现了透明窗体,鼠标事件也不会被透明部分下面的窗体捕获。
    Option Explicit'' 本程序实现VB6的窗体背景透明,且在上面创建一个背景透明的Flash控件。
    '' 说明:VB6IDE 因无法将“Shockwave Flash” 组件加载到控件工具箱中,所以只能动态创建该组件。
    '' 本程序需引用 “Shockwave Flash” 组件Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
    Private Const WS_EX_LAYERED = &H80000
    Private Const GWL_EXSTYLE = (-20)
    Private Const LWA_ALPHA = &H2
    Private Const LWA_COLORKEY = &H1Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    Private Const HWND_TOPMosT = -1
    Private Const SWP_NOMOVE = &H2
    Private Const SWP_NosIZE = &H1
    Private Sub Form_Load()
     Dim bg As Long '窗体背景色,同时作为透明色
        bg = RGB(0, 0, 0)
        Me.BackColor = bg
        SetWindowPos Me.hWnd, HWND_TOPMosT, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NosIZE
        Dim rtn As Long
        rtn = GetWindowLong(hWnd, GWL_EXSTYLE)
        rtn = rtn Or WS_EX_LAYERED
        SetWindowLong hWnd, GWL_EXSTYLE, rtn
        SetLayeredWindowAttributes hWnd, bg, 0, LWA_COLORKEY
        
        Call CreateFlashObj
    End Sub
    Private Sub CreateFlashObj()
       
       Dim c As Control, f As ShockwaveFlashObjects.ShockwaveFlash
       Set c = Me.Controls.Add("ShockwaveFlash.ShockwaveFlash", "Flash")
       With c
         .Width = Me.Width
         .Height = Me.Height
         .Visible = True
         Set f = .Object
       End With
       With f
         .BackgroundColor = Me.BackColor
         .WMode = "Transparent"
         .Movie = "兽.swf"
       End WithEnd Sub
      

  9.   

    潜水很久了,今天再来看看。14F代码不错……  ^_^不过有两条我可不敢恭维:①“因为VB比较弱智,.......下面的窗体捕获。
      我的意见是:窗体是透明的了,鼠标事件必然是被它下面的窗体捕获。
      即使不能达到这个效果,也是跟 VB 无关的。
      在默认情况下:窗体完全透明(Alpha = 0)的地方,必然是‘鼠标穿透’的;不透明或没完全透明(Alpha>0)
    的地方,
    鼠标是不会‘穿透’的。
      要实现窗体‘完全鼠标穿透’,只要用 API 设置窗体的 GWL_EXSTYLE 增加 WS_EX_TRANSPARENT 标识即可。
    ②“'' 说明:VB6IDE 因无法将“Shockwave Flash” 组件加载到控件工具箱中,所以只能动态创建该组件。
      添加方法:
      工具箱中点鼠标右键→‘部件……’(或菜单‘工程’→‘部件……’、或快捷键‘Ctrl+T’),再在弹出窗口的‘控件’标签中,把列表中的“Shockwave Flash”钩选上(或者点击右方的‘浏览’按钮,再打开system32\Macromed\Flash 目录下的Flash10d.ocx文件即可。注意这个文件名跟Flash的版本有关,不同版本文件名有区别。不过相信大家都能猜出来是哪个文件),最后点‘确定’,Shockwave Flash控件就在工具箱中了。
      当然这些不属于‘标准控件’的东西,如果要用这种控件,每个工程都要这样添加一次。
      

  10.   

    很郁闷的是:我又要再说一次“真是闯鬼了……”今天,在设计时把Flash控件的 BackgroundColor 属性设置成0(即:黑色),然后把窗体SetLayeredWindowAttributes() 用黑色作为 KeyColor ,Flash控件居然又可以透明掉了……真是汗死…………swf文件都是用的老鹰的那个,可我清楚记得上次只是窗体客户区部分透明了,控件区域没有透明啊!!!!
    -_-!!!