'原文出处 老马的一个帖子'直接使用控件属性 Wmode="transparent" 可以让背景透明,自定义的没法, 请问那里出错了?谢谢Dim TransColor&,AppDisk$
Dim TmpFlash As Object
Private Sub Form_Load()
AppDisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\")
Set TmpFlash = Me.Controls.Add("ShockwaveFlash.ShockwaveFlash", "TmpFlash")
TransColor = vbWhite
TmpFlash.object.BackgroundColor = TransColor
TmpFlash.Visible = True
TmpFlash.object.Wmode = "transparent" '************** 背景无法透明
TmpFlash.object.LoadMovie 0, AppDisk & "QQPET.SWF"
Dim TmpFlash As Object
Private Sub Form_Load()
AppDisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\")
Set TmpFlash = Me.Controls.Add("ShockwaveFlash.ShockwaveFlash", "TmpFlash")
TransColor = vbWhite
TmpFlash.object.BackgroundColor = TransColor
TmpFlash.Visible = True
TmpFlash.object.Wmode = "transparent" '************** 背景无法透明
TmpFlash.object.LoadMovie 0, AppDisk & "QQPET.SWF"
TmpFlash.Width = Me.Width
TmpFlash.Height = Me.Height在 XP 下 上面代码背景没法透明 但同样的代码在 Win7下没问题的,系统兼容性问题??
'ME为当前窗体
'Flash的所有默认属性不变
Me.BackColor = RGB(66, 66, 66)
ShockwaveFlash1.BackgroundColor = RGB(66, 66, 66)
Me.BorderStyle = 0
Me.Width = ShockwaveFlash1.Width
Me.Height = ShockwaveFlash1.Height
rtn = GetWindowLong(hWnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hWnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hWnd, RGB(66, 66, 66), 0, LWA_COLORKEY
'绝对定位当前f的位置
Me.Move Screen.Width - Me.Width - 50, Screen.Height - Me.Height - 500
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS