VB如何播放透明的FLASH?播放的时候把窗体多余的部分去掉,和把FLASH的背景也去掉,应该如何实现?

解决方案 »

  1.   

    把窗体多余的部分去掉容易,你用没有边框的form就行,
    把Flash的背景去掉?你说的可是vb form产生的背景?如果是你可以把form做成透明的,
    如果是Flash本身的背景,那应该是去不掉的
      

  2.   

    我要去掉的就是窗体,就是使窗体透明,然后只显示FLASH出来,就像QQ宠物一样的效果.
      

  3.   

    1.窗体控件都透明Option ExplicitPrivate Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
    Const WS_EX_LAYERED = &H80000
    Const GWL_EXSTYLE = (-20)
    Const LWA_ALPHA = &H2
    Const LWA_COLORKEY = &H1
    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 LongPrivate Sub Form_Load()
      Dim rtn As Long
      rtn = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
      rtn = rtn Or WS_EX_LAYERED
      SetWindowLong Me.hwnd, GWL_EXSTYLE, rtn
      SetLayeredWindowAttributes Me.hwnd, 10, 10, LWA_ALPHA '第3个参数设置透明度0-255之间
    End Sub
      

  4.   

    2.窗体透明,控件不透明
    Option ExplicitPrivate 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 = &H1Private Sub Form_Load()
        Me.BackColor = RGB(88, 88, 88)
        SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
        Dim rtn As Long
        Me.BorderStyle = 0
        rtn = GetWindowLong(hWnd, GWL_EXSTYLE)
        rtn = rtn Or WS_EX_LAYERED
        SetWindowLong hWnd, GWL_EXSTYLE, rtn
        SetLayeredWindowAttributes hWnd, RGB(88, 88, 88), 0, LWA_COLORKEY
    End Sub
    两种方法看看哪种适合你
      

  5.   

    flash在vb6里可以镂空背景,这里有flash透明播放器和它的源代码:http://qiannao.com/file/gqoo/34128a16/
    http://qiannao.com/file/gqoo/a38d9a4f/
    测试文件:
    http://qiannao.com/file/gqoo/03d90705/
    http://qiannao.com/file/gqoo/b264edde/