Показать сообщение отдельно
Старый 24.09.2006, 01:36
afarber вне форума Посмотреть профиль Отправить личное сообщение для afarber Посетить домашнюю страницу afarber Найти все сообщения от afarber
  № 1  
Ответить с цитированием
afarber
 
Аватар для afarber

Регистрация: May 2006
Адрес: Germany
Сообщений: 74
Thumbs up Сдвинул все вовнутрь MC - кнопки и колесико перестали пахать

Привет,

был у меня простой чат из двух TextField-ов (для ввода и показа сообщений)
и двух кнопок для scrolling-a. Все работало, включая колесико на мышке -
до тех пор пока я не решил засунуть оба TextField-а и кнопки в один MovieClip
в стиле AS 2.0:

Код:
class Chat extends MovieClip {
       private var field_txt:TextField;
       private var area_txt:TextField;
       private var up_btn:Button;
       private var down_btn:Button;

       public function Chat() {
               this['mouseWheelEnabled'] = false;

               Key.addListener(this);
               Mouse.addListener(this);

               update_buttons();
       }

       public function onKeyDown() {
               if (Key.getCode() == Key.ENTER &&
                   field_txt.text != '' &&
                   Selection.getFocus() == targetPath(field_txt)) {
                       setText(getText());
                       Selection.setFocus(field_txt);
               }
       }

       public function onMouseDown() {
               if (Selection.getFocus() == targetPath(down_btn)) {
                       area_txt.scroll--;
                       update_buttons();
               } else if (Selection.getFocus() == targetPath(up_btn)) {
                       area_txt.scroll++;
                       update_buttons();
               }
       }

       public function onMouseWheel(lines:Number) {
               area_txt.scroll -= lines;
               update_buttons();
       }

       public function getText():String {
               var str:String = field_txt.text;
               field_txt.text = '';
               return str;
       }

       public function setText(str:String) {
               area_txt.scroll = area_txt.maxscroll;
               area_txt.text += newline + str;
       }

       private function update_buttons():Void {
               up_btn._visible   = (area_txt.scroll > 1 ? true : false);
               down_btn._visible = (area_txt.scroll < area_txt.maxscroll ? true : false);
       }
}
Теперь почему-то работает только клавиша ENTER, а кнопки и колесико мыши
перестали. Мне кажется я не учел какую-нибудь мелочь... Кто-нибудь видит,
в чем тут у меня дело?

Спасибо
Алекс
Вложения
Тип файла: zip Chat.zip (31.6 Кб, 48 просмотров)