如何透明窗口加载flash【已解决】
本帖最后由 872777825 于 2013-11-30 20:07 编辑如图
现在一透明连整个flash也跟着透明了
怎么才能只让窗口透明而flash按源文件样式显示呢#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
$Form1 = GUICreate("万年历",218,240, -1,-1,$WS_POPUP, $WS_EX_LAYERED)
;创建个flash控件,加载万年历
_winapi_SetLayeredWindowAttributes ($Form1, 0xFF0000, 0, $LWA_COLORKEY);这个函数实现的效果
Local $oCalendar = ObjCreate("ShockwaveFlash.ShockwaveFlash")
If IsObj($oCalendar) Then
GUICtrlCreateObj($oCalendar, 0, 0, 540, 440)
$oCalendar.SAlign = "T" ;对齐 顶部
$oCalendar.Movie = "http://data.ie925.com/data/flash.swf"
EndIf
GUISetState(@SW_SHOW)
Do
Sleep(10)
Until GUIGetMsg()=-3
希望各位前辈指点下 试试这个有效果没
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
$Form1 = GUICreate("万年历", @DesktopWidth, @DesktopHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
GUISetBkColor(0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($Form1, 0xABCDEF, 255);这个函数实现的效果
Local $oCalendar = ObjCreate("ShockwaveFlash.ShockwaveFlash")
If IsObj($oCalendar) Then
GUICtrlCreateObj($oCalendar, 0, 0, 540, 440)
$oCalendar.SAlign = "T" ;对齐 顶部
$oCalendar.Movie = "http://data.ie925.com/data/flash.swf"
EndIf
GUISetState(@SW_SHOW)
Do
Sleep(10)
Until GUIGetMsg() = -3 做个标记以后会用到 必须先标记 没搞明白什么意思,你flash不就是图中的颜色吗?
你的意思是要透明那些灰色? 回复 2# haijie1223
谢谢恢复但不是这个效果啊 还是背景一片白
这个flash本身就是半透明的但au3加载了会显示au3本身的窗体背景
怎样把au3的本身窗体透明掉仅仅显示flash出来 回复 5# Ycxw2008
flash本身是透明的途中的白色是au3的窗体颜色
透明在哪?
不过这flash好像没什么特色
自己画画都画出来了 回复 6# 872777825
AU3自己的背景不是被透明了吗,你看到的空白是flash的啊,我故意把窗体放到和分辨率一样大小,这样方便查看效果,当然你要显示局部的话,可以把窗体大小设置的小一点。 谢谢分享,楼主辛苦了 回复 9# haijie1223
谢谢回复 谢谢分享,楼主辛苦了
页:
[1]