Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 12.09.2014, 18:16
Psijic вне форума Посмотреть профиль Отправить личное сообщение для Psijic Найти все сообщения от Psijic
  № 1  
Ответить с цитированием
Psijic

Регистрация: Aug 2012
Сообщений: 108
По умолчанию Заголовок у компонента(контрола)

Здравствуйте, господа. Задался таким вопросом как необходимость создания заголовков (Label) для каждого компонента (по типу как в Delphi такое есть у каждого визуального компонента по умолчанию).
Раньше мы использовали кипячение:
Код AS3:
public static function createIO(parent: FeathersControl, classType: Object, x: int, y: int, width: uint = 0, height: uint = 0, label: String = null): FeathersControl
        {
            var io: FeathersControl = new classType();
            io.x = x;
            io.y = (label && !(io is Button)) ? y + 20 : y;
 
            addLabel(io, parent, label, x, y);
 
            parent.addChild(io);
 
            return io;
Однако, такой способ весьма плох, т.к. создаваемый label вообще никак не определяется и получается как мусор, с которым ничего нельзя сделать (особенно если актуально передвинуть/удалить контрол).

Есть вариант 2: Заворачивать компонент в слой (layer) и давать ссылку на слой. Но тогда взаимодействовать с контролом становится геморно - нужно вставлять дополнительный уровень - что-то типа
Код AS3:
layer.textInput.text = "foo"
Вариант 2.1 - заворачивать в слой, но отдавать контрол (или и слой и контрол в массиве, хотя это и бредово)

Вариант 3 - расширить класс Sprite/DisplayObject/etc и добавить к нему код для создания label. Однако, пока не вполне ясно, как это должно работать в плане addChild и подборки координат.

Создать новую тему   Часовой пояс GMT +4, время: 18:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
control , Label

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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