872777825 发表于 2013-11-29 14:53:52

如何透明窗口加载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
希望各位前辈指点下

haijie1223 发表于 2013-11-29 15:40:38

试试这个有效果没
#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

plutosherry 发表于 2013-11-29 15:49:16

做个标记以后会用到

anypac 发表于 2013-11-29 16:59:35

必须先标记

Ycxw2008 发表于 2013-11-29 19:16:03

没搞明白什么意思,你flash不就是图中的颜色吗?
你的意思是要透明那些灰色?

872777825 发表于 2013-11-29 19:51:08

回复 2# haijie1223


    谢谢恢复但不是这个效果啊   还是背景一片白
这个flash本身就是半透明的但au3加载了会显示au3本身的窗体背景
怎样把au3的本身窗体透明掉仅仅显示flash出来

872777825 发表于 2013-11-29 19:52:33

回复 5# Ycxw2008


    flash本身是透明的途中的白色是au3的窗体颜色

Ycxw2008 发表于 2013-11-29 20:18:54



透明在哪?
不过这flash好像没什么特色
自己画画都画出来了

haijie1223 发表于 2013-11-29 20:46:12

回复 6# 872777825


   AU3自己的背景不是被透明了吗,你看到的空白是flash的啊,我故意把窗体放到和分辨率一样大小,这样方便查看效果,当然你要显示局部的话,可以把窗体大小设置的小一点。

huangwei 发表于 2013-11-30 14:25:48

谢谢分享,楼主辛苦了

872777825 发表于 2013-11-30 20:06:43

回复 9# haijie1223

谢谢回复

49666684 发表于 2014-12-10 16:56:19

谢谢分享,楼主辛苦了
页: [1]
查看完整版本: 如何透明窗口加载flash【已解决】