AS3: расширение компонента ScrollBar по умолчанию - PullRequest
2 голосов
/ 25 июня 2010

Я бы хотел настроить ширину полосы прокрутки по умолчанию, которая появляется внутри Flash ComboBox.Из моих исследований на различных форумах кажется, что лучшим подходом было бы создать подкласс fl.controls.ScrollBar, который я пытался сделать здесь:

package helpers {

  import fl.controls.ScrollBar;

  public class CustomScroller extends fl.controls.ScrollBar {

    public function CustomScroller() {
      super();
      trace("custom scroller in full effect!");
      width = 40;
    }  
  }
}

Затем в своей библиотеке я взялмувиклип ScrollBar, который появляется при первоначальном создании ComboBox и изменяет базовый класс на «helpers.CustomScroller».У меня есть три экземпляра ComboBox на сцене;однако, ни один из них не показывает ничего, кроме ширины по умолчанию, и при этом я не вижу вывод из оператора trace() в моем конструкторе.

Есть идеи, почему это не работает?Спасибо за ваше внимание.

Ответы [ 2 ]

3 голосов
/ 25 июня 2010

Мне нужно было сделать это только один раз, и я больше не хочу этого делать. По сути, для этого мне нужно было создать копию fl.controls.ScrollBar с именем fl.controls.WideScrollBar. Вам также необходимо изменить fl.containers.BaseScrollPane и fl.containers.ScrollPane.

В WideScrollBar я переопределил public static const WIDTH:Number

В WideBaseScrollPane вам необходимо изменить класс _verticalScrollBar и / или _horizontScrollBar на WideScrollBar. Затем в моем WideScrollPane я отверг вызовы setStyle в конструкторе, чтобы указать на мои экземпляры пользовательских классов для создания скинов.

1 голос
/ 24 января 2011

Добавьте область прокрутки как дочерний элемент в Sprite, затем масштабируйте этот родительский спрайт.Полосы прокрутки будут корректироваться соответственно.Если источник ScrollPane теперь слишком велик, масштабируйте обратно пропорционально тому же коэффициенту масштабирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...