Поскольку все элементы управления являются компонентами, а все компоненты являются образцами-клипами, вы можете добавлять их на рабочий лист программно, используя метод attachMovie объекта movieClip:
root.attachMovie("FCheckBoxSymbol", "chkFlag", 0);
Благо, все компоненты уже преобразованы в сценарные образцы. Для удаления ненужного элемента вы должны будете использовать метод
ИЛИ действие removeMovieClip:
root. chkFlag. removeMovieClip () ;
Для управления элементом интерфейса вы можете использовать все свойства объекта movieClip
. Кроме того, все элементы управления поддерживают свои собственные методы, которые мы сейчас вкратце рассмотрим.
Так, для задания размера любого элемента управления вы можете использовать метод setsize. Этот метод может иметь два формата вызова, в зависимости от того, к какому компоненту он применяется.
<Компонент>. setSize (<Ширина>) ;
Этот метод меняет ширину тех компонентов, чья высота задается размером шрифта текстовой надписи. Это компоненты checkbox, comboBox и Ra-dioButton. Значение ширины задается в пикселях.
<Компонент>.setSize(<Ширина>, <Высота>);
А этот метод применяется для всех остальных компонентов, у которых можно менять оба размера.
Для того чтобы получить значение элемента управления, воспользуйтесь методом getValue. В зависимости от типа компонента, этот метод возвращает разные значения. Так, для флажка checkBox этот метод вернет true, если флажок включен, и false, если он выключен. А для раскрывающегося списка ComboBox он вернет значение, привязанное к выбранному пункту списка или, если это значение не задано, само название пункта.
Метод setValue осуществляет обратное действие - задает значение элемента управления.
root.chkAddMeIntoMailList.setValue(true);
Вам может также пригодиться метод getSeiectedindex, поддерживаемый компонентами ComboBox и ListBox и возвращающий номер выбранного в списке пункта. А метод setselectedindex, поддерживаемый этими же компонентами, выбирает в списке пункт с номером, переданным ему в качестве параметра.
С помощью метода setEnabied вы можете разрешить или запретить доступ пользователю к элементу управления. Формат вызова этого метода прост: он принимает один-единственный логический параметр, true (доступ разрешен) или false (доступ запрещен). А метод getEnabled возвращает текущее состояние "доступности" элемента управления.
Компоненты checkBox, pushButton и RadioButton поддерживают метод для получения и задания текстовой надписи. Для получения текстовой надписи служит метод getLabel, а для задания - setLabel. Текст новой надписи передается в метод setLabei единственным параметром.
Списки comboBox и ListBox поддерживают методы, предназначенные для добавления новых и удаления ненужных пунктов. Для этого служат несколько методов, которые мы рассмотрим ниже.
Метод additem добавляет новый пункт в конец списка. <Список>.additem(<Название>[, <3начение>]) ;
Эти параметры вам уже знакомы, название пункта отображается в списке, а значение возвращается при выборе этого пункта. Если Значение не задано возвращается название.
Метод additemAt добавляет новый пункт в заданную позицию списка. <Список>.addItemAt(<Номер>, <Название>[, <3начение>]) ;
Здесь добавляется еще один параметр - номер списка. Не забывайте, чт пункты списка, как и элементы массива, нумеруются с нуля.
Для удаления какого-либо пункта списка используйте метод removeitenAt, <Список>.removeItemAt(<Номер>) ;
Для удаления всех элементов списка вызовите метод removeAll, не прин] мающий параметров.
Метод repiaceitemAt позволяет заменить один пункт списка другим.
<Список>.replaceItemAt(<Номер>, <Название>[, <3начение>]) ;
Вы должны передать этому методу номер заменяемого пункта списка, е новое Название и, что не обязательно, новое значение.
Для заполнения списка пунктами вы можете также использовать особые объекты, называемые объектами-поставщиками данных. С помощью так объектов можно задать массив пунктов для списка целиком и потом привязать его к нужному списку одним-единственным методом setDataProvider
Существует две разновидности таких объектов: простая и сложная. Мы рассмотрим их по очереди.
Простой объект-поставщик данных - это обычный массив, содержащий строки, которые станут названиями пунктов списка.
list = new Array ();
list[0] = "Flash";
list[l] = "Dreamweaver";
list[2] = "Fireworks";
Используя массив строк, вы можете задать только названия пунктов меню, но не значения. Надо сказать, часто хватает и этого. Но если вы хотите задать и названия, и значения, вам понадобится создать массив объектов.
list2 = new Array () ;
list2[0] = {label: "Flash", data:1};
list2 [1] = {label:"Dreamweaver", data:2};
list2 [2] = {label:"Fireworks", data:3};
Обратите внимание: мы присваиваем каждому элементу массива экземпляр объекта object, содержащий свойства label (название пункта) и data (значение пункта).
Сложный объект-поставщик данных - это экземпляр объекта DataProviderClass. DataProviderClass -
пользовательский объект, созданный программистами, разрабатывавшими встроенные компоненты Flash, на языке ActionScript. Реализован этот объект в образце Dataprovider, находящимся в папке Core Assets - Developer Only/ FUlComponent Class Tree библиотеки. Вы можете дважды щелкнуть по значку этого образца и просмотреть сценарий, привязанный к его первому кадру, - там находится весь нужный вам код. Он довольно сложен, так что будьте внимательны.
Преимущества использования экземпляра объекта DataProviderClass в качестве поставщика данных очевидны. Вы можете пользоваться методами этого объекта для добавления, замены и удаления пунктов списка, а также сортировки массива пунктов.
objList = new DataProviderClass();
obj List.addltem({label:"Flash", data:!});
objList.addItem((label:"Dreamweaver", data:2});
objList.addltem({label:"Fireworks", data:3});
Привязать объект-поставщик данных к списку можно методом set
DataProvider:
IstMacromediaProducts.setDataProvider(list2) ;
IstMacromediaProducts.setDataProvider(objList) ;
Как видите, формат вызова данного метода не зависит от того, простой или сложный объект-поставщик данных мы используем