Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   ComboBox и Alert (http://www.flasher.ru/forum/showthread.php?t=91309)

JaLav 30.01.2007 17:20

Да, комбо очищается после нажатия на кнопку(извините за некорректный пример). Тогда в комбо все нормально.
Но трейс выводит лишнее при повторном нажатии на кнопку. Или если кнопок много, то при нажатии
на ту, которая нажата позже

Nirth 30.01.2007 17:25

У меня нету RAR

JaLav 30.01.2007 17:27

Извините, плз., что морочу голову.
Разбираюсь с Вашым примером.
Я сначало не поняла, что там все работает.

silin 30.01.2007 17:28

вообще-то у них для этих случаев doLater припасен:
Код:

import mx.controls.Alert;
var cbListener:Object = new Object();
combo.addItem({label:"none", data:0});
combo.addItem({label:"a", data:1});
cbListener.change = function(event_obj:Object) {
        var cb=event_obj.target
        var ob = cb.selectedItem.data;
        if (ob == 0) {
                cb.doLater(this,"alert");
        }
};
cbListener.alert=function(){
        Alert.show("...must be >0", "Warning", Alert.OK);
}
combo.addEventListener("change", cbListener);


CorC 30.01.2007 17:37

класс, спасиб, выручили с doLater :)

Nirth 30.01.2007 17:45

А вообще кто нибудь может мне объяснить, зачем создавать для листенера отдельный объект ?

etc 30.01.2007 17:47

У народа, благодаря хелпу, возникло стойкое ощущение, что листенер — это какой-то определенный тип объекта, нестандартный.

silin 30.01.2007 17:55

Цитата:

Сообщение от Nirth
А вообще кто нибудь может мне объяснить, зачем создавать для листенера отдельный объект ?

можно и не создавать
Код:

import mx.controls.Alert;
combo.addItem({label:"none", data:0});
combo.addItem({label:"a", data:1});
combo.alert=function(){
        Alert.show("...must be >0", "Warning", Alert.OK);
}
function change(event_obj:Object) {
        var cb=event_obj.target
        var ob = cb.selectedItem.data;
        if (ob == 0) {
                cb.doLater(this,"alert");
        }
};
combo.addEventListener("change", change);

обычно и не надо, но в этом раскладе чтоб вызвать doLater приходится этот alert вешать на сам компонент, я этого делать не стал, потому как придет _etc (ой сори, уже пришел..) и скажет, что это не по-нашему, не по-бразильски..

Nirth 30.01.2007 18:03

А да, забыл о особеностях doLater.

Кстати
Цитата:

[14:19] 7thsky.ru (Talk.v104AC80F35E): привет
[14:19] furzahad: привет
[14:20] 7thsky.ru:кстати насчет комбобокса и алерта, виснет там invalidate, я думаю проблема в том что дропдаун и алерт открываются через попапмэнэджер
[14:21] 7thsky.ru:то есть зависон происходит на методе дро в алерте, почему хрен его знает, я с дебаггером потестил

JaLav 30.01.2007 18:05

Огромнейшее спасибо всем. Очень помогли.
:)


Часовой пояс GMT +4, время: 23:00.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.