标准库中增加 win.flashBox 组件,
用于在桌面上透明显示flash动画,也可以支持让子窗口透明显示flash动画。
可以支持内存加载,可生成独立EXE文件,支持系统自带的flash控件。
与基于商业组件f-in-box的 win.flashInbox扩展库比较:
1、win.flashBox 完全免费、可自由使用。
2、win.flashBox 的体积比f-in-box小很多,仅32KB,也就是一个很小的小图标那么大。
f-in-box对新版flash控件支持不稳定(之前发的范例遇到崩溃规象,最后是打包一个lash8.ocx解决,但这样体积就更大了)
3、win.flashBox 可以让子窗口播放透明flash动画(使用custom控件即可),flash可以在网页以外的控件上面飘来飘去了。
--------------------------------------------------------------
win.flashBox的用法完全兼容 com.flash 的所有接口,
支持aardio与as脚本交互、添加事件等都非常方便,这些请参考原来的flash调用例子。
只要简单的把范例里的 com.flash 几个字替换为 win.flashBox就可以,用法完全一样。
--------------------------------------------------------------
创建透明窗口方法一:
--------------------------------------------------------------
直接使用 win.flashBox 创建窗口。- import win.flashBox
- var flash = ..win.flashBox(text="aardio Form";right=599;bottom=399)
- flash.movie = "http://update.aardio.com/aardio/samples/transparent.swf";
- flash.show()
- win.loopMessage();
复制代码
创建透明窗口方法二:
--------------------------------------------------------------
可以在已创建的winform窗口对象上显示透明动画(支持custom控件创建的子窗口)
- import win.ui;
- /*DSG{{*/
- var winform = win.form(text="迤明FLASH";right=562;bottom=355;border="dialog frame";parent=...)
- winform.add(
- button={cls="button";text="button";left=296;top=238;right=488;bottom=301;z=2};
- combobox={cls="combobox";left=76;top=51;right=229;bottom=77;edge=1;items={};mode="dropdown";z=3};
- edit={cls="edit";text="edit";left=82;top=99;right=493;bottom=222;edge=1;multiline=1;z=4};
- flashWnd={cls="custom";text="custom";left=28;top=17;right=538;bottom=333;autosize=1;center=1;edge=1;transparent=1;z=1}
- )
- /*}}*/
- winform.show();
- import win.flashBox;
- var flash = win.flashBox( winform.flashWnd );
- flash.movie = "http://update.aardio.com/aardio/samples/transparent.swf";
- win.loopMessage();
复制代码
一个完整的透明FLASH界面示例:点击下载全部源码(含swf文件)

以下是上面示例的完整源码:
import process;;
import win.flashBox;
var flash = win.flashBox( text = "FLash透明窗口" )
// 导出接口函数可供Flash调用
flash.external = {
close= function(){ flash._form.close() };
quit= function(){ flash._form.close() };
minimal = function(){ flash._form.hitmin(); };
moving = function(){ flash._form.hitCaption() };
register = function(){ process.openUrl("http://bbs.aardio") };
charge = function(){ flash._form.msgbox("免费免费了!") };
repair = function(){ flash._form.msgbox("修复已完成!") };
settingr = function(){ flash._form.msgbox("本功能还没时间写!") } ;
start = function(){ flash.play() };
resize = function(param){
param = string.split(param,",");
flash._form.setPos(0,0,param[1],param[2]);
};
["end"] = function(){
//调用flash函数设置进度条
flash.setProgressPart(0);
flash.setProgressTotal(0);
var progress = 0;
flash._form.setInterval(
10/*毫秒*/,//定时执行代码
function(hwnd,msg,id,tick){
progress++;
flash.setProgressPart(progress);
flash.setProgressTotal(progress);
}
);
}
}
flash.show() //显示窗口
flash.movie = $"\res\movie.swf" //内存加载Flash
win.loopMessage();
|