发新话题
打印

[分享] 为Alert组件加上响应功能!~

为Alert组件加上响应功能!~

这一段时间在倒腾flex,很少玩flash了,今天翻到有人发表
<< ScrollBar,List,Alert组件的使用及实例>>, 原文:http://space.flash8.net/bbs/thread-309057-1-3.html
看到后面的Alert组件只有show一下,事实上他还有响应部分,比如,用户点了确定按钮之后又该
如何呢?
这里就针对这个我添加一下,画蛇添足一下!:-)

我可以先下载那个alert.fla,我是在这个基础上添加的!

后面我也提供了一个修改后的附件!

好了,正题:

第一步,添加个Label,和一个Button

命名:
Label :  MsgBox_lbl
Button : CallAlert_btn

第二步:添加CallAlert_btn按钮代码:
复制内容到剪贴板
代码:
CallAlert_btn.onRelease = function(){

_global.style.modalTransparency = 40;  //设定全局透明度

Alert.yesLabel = "Yes";  //Alert确定按钮文字,事实上也可以是:"确定","OK","行,就这样",一类的
Alert.noLabel = "No";
Alert.buttonWidth = 75; //如果是 "行,就这样" 那么铵钮是不是要大一点呢

Alert.show ("点击一下", "", Alert.YES | Alert.NO, _root, alClicar, "prueba", Alert.OK);

//这里是用 alClicar 对象来响应的
};
第三步:添加响应对象
复制内容到剪贴板
代码:
alClicar = new Object ();

alClicar = function (evento)
{
if (evento.detail == Alert.YES) //用户点了yes按钮
{
  MsgBox_lbl.text = "你点击了OK按钮";
  // 这里也可以添加一些其它的动作..
}
else if (evento.detail == Alert.NO) //用户点了No按钮
{
  MsgBox_lbl.text = "你点击了No按钮";
  // 这里也可以添加一些其它的动作..
}
};
以上就可以实现响应了!


最后完整的代码应该是这样的:
复制内容到剪贴板
代码:
import mx.controls.Alert

CallAlert_btn.onRelease = function(){

_global.style.modalTransparency = 40;

Alert.yesLabel = "Yes";
Alert.noLabel = "No";
Alert.buttonWidth = 75;

Alert.show ("点击一下", "", Alert.YES | Alert.NO, _root, alClicar, "prueba", Alert.OK);

};
//

alClicar = new Object ();

alClicar = function (evento)
{
if (evento.detail == Alert.YES)
{
  MsgBox_lbl.text = "你点击了OK按钮";
}
else if (evento.detail == Alert.NO)
{
  MsgBox_lbl.text = "你点击了No按钮";
}
};
/*
var lObj:Object = new Object();//创建侦听器对象
Alert.show("表单填写不正确,请重新填写", "",Alert.OK | Alert.CANCEL, this, lObj);
*/

stop();
----------------
blog: http://www.oiasoft.com/blog/
web: http://www.celesteteam.com/

[ 本帖最后由 korpton 于 2007-1-7 00:55 编辑 ]

附件

alert.rar (133.1 KB)

2007-1-6 12:40, 下载次数: 1036

http://www.oiasoft.com

http://www.celesteteam.com/

TOP

不错
前几天,和另一位闪吧成员也谈到了ALERT的初始位置的问题,一直还没有找到解决办法.在你的这个例子里初始位置也是会盖住CallAlert_btn这个按钮,能找到设置初始位置的方法吗?

TOP

My Blog: http://www.fanflash.cn     Email: admin+fanflash.cn(+=@)

TOP

没想到过初始位置的问题,这里也只是添加响应的功能,后面那位老只的办法好像行哦!哈哈
http://www.oiasoft.com

http://www.celesteteam.com/

TOP

如果我想利用ALERT来传值  该怎么做呢?  
_mc.onPress =function(){
        this.ifBuy ? Alert.show("是否永久删除?", "请确认", Alert.OK | Alert.CANCEL, _root, Alert_remove(Alert, this)) : null;
}



function Alert_remove(_obj, _mc) {
        if (_obj.detail == Alert.YES) {
trace(_mc)
        }
}

TOP

发新话题