info@a-coding-project.de

Formularelemente mit ActionScript beeinflussen

Aufgrund der Tatsache, dass Elemente eines Formulars nur während des Authorings erstellt werden können, kommt der Möglichkeit von ActionScript , diese beeinflussen zu können, eine große Bedeutung zu, um diese beispielsweise aktuellen Bedürfnissen während der Laufzeit anpassen zu können. Dynamisch generierte Inhalte erfordern so dynamisch konfigurierbare Formularelemente.
Jedes Formularelement ist in Flash wie bereits erwähnt eine Komponente, d.h. eine Instanz eines Movieclips. ActionScript kennt für jedes dieser ein eigenes Objekt, mit dessen Methoden und Eigenschaften die jeweilige Instanz konfiguriert werden kann. Das folgende einfache Beispiel zeigt, wie man einer Listbox myListBox dynamisch Labels hinzufügen oder auch Methoden für Veränderungen durch den Benutzer definieren kann:

myArray = new Array("String3","String1","String2","String4");

for(myIndex in myArray)
{
  _root.myListBox.addItem(myArray[myIndex], myIndex);
}

with(_root.myListBox)
{
  sortItemsBy("label", "ASC");
  setSelectedIndex(getLength()-1);
  setChangeHandler("alertChange");
  setSize(50,100);
}

function alertChange()
{
  trace("Sie haben " + _root.myListBox.getSelectedItem().label + 
        " ausgewählt!");        
}

In diesem Beispiel werden der auf der Bühne befindlichen Listbox myListbox in einer Schleife vier Elemente mit den Labels entsprechend der Werte der Arrayelemente vom Array myArray mit der Methode addItem(Label, Daten) des FListBox-Objekts hinzugefügt. Im Anschluss werden die Labels mithilfe der Methode sortItemsBy(Feldname, Reihenfolge) aufsteigend geordnet und das letzte mit der Methode setSelectedIndex(Index) und dem entsprechenden Index selektiert. Mit der Methode setChangeHandler(Funktion, Funktionspfad) wird zudem eine Methode definiert, welche aufgerufen wird, sobald ein anderes Label in der Liste vom Benutzer ausgewählt wird. In diesem Falle wird die entsprechende Meldung im Fenster ausgegeben. Die Methode setSize(Breite, Höhe) des FListBox-Objekts passt zudem noch die Größe der Listbox an, was bei Verwendung der Eigenschaften _width bzw. _height des Movieclip-Objekts zu Verzerrungen bei der Darstellung aufgrund anderer Skalierung führen würde.
Die Objekte der jeweiligen Typen von Formularelemente bieten noch zahlreiche andere Methoden und Eigenschaften, welche der Flash beiliegenden Referenz entnommen werden können.

Weiterlesen: ⯈ Movieclips dynamisch erzeugen

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant