Zu Laufzeit generierter MC als Contentpath innerhalb eines Fensters (PopUpManager)

Vaio82

Erfahrenes Mitglied
Hallo Zusammen,

ich bin dabei eine dynamische RIA zu generieren, die die Strukturinformationen aus XML-Datein bezieht.

Nun möchte ich ein Fenster erstellen, welches einige Textfelder und Buttons beinhaltet. Dieses Fenster "muss" jedoch dynamisch gefüllt werden.

// Für das Fenster nutze ich den PopUpManager mit createPopUp

Folgende Contentpath Möglichkeiten habe ich im Netz gefunden:

- Link auf eine *.swf
- Name eines MC's

Allerdings klappt das mit dem dynamischen MC nicht so wirklich. Die Überschrift ist zu sehen, schließen läßt er sich auch, nur der Inhalt bleibt leer.

Beispiel:
bsp_1.jpg


Ich muss dazu allerdings auch sagen, dass ich noch nicht lange Actionscript programmiere.

Ich würde mich freuen, wenn ihr mir helfen könntet.

Code:
if (FeldType == "Button") {	
				
		var myButton = _root.Modul_Container.attachMovie("Button",FeldName, i);			
				
				
		myButton._x = FeldX;
		myButton._y = FeldY;
		myButton.label = FeldInhalt;
				
		var lo:Object = new Object();
		lo.click = function(myButton){
			
			
			_root.Modul_Container.createEmptyMovieClip("Fenster",ModulID);
			
			_root.Modul_Container.Fenster.createTextField("tfNewfield",1,10,10,150,30);
			tfNewfield.text = "Here's some text";

			
			
			var myTW1 = PopUpManager.createPopUp(_root.Modul_Container, Window, true, {closeButton: true, contentPath:Fenster, title:"Daten erfolgreich versendet..."});
			myTW1.setSize(300,200);

			windowListenerXXX = new Object();
			windowListenerXXX.click = function(evt){
   			myTW1.deletePopUp();
			}
			myTW1.addEventListener("click", windowListenerXXX);
		
		
		
		// trace(evtObj.target);
		}
		
		myButton.addEventListener("click", lo);
									
	}

Im Anschluß habe ich das mit der Alert Komponente versucht:

Code:
import mx.controls.Alert;
myClickHandler = function (evt){
	if (evt.detail == Alert.OK){
		trace("start stock app");
		// startStockApplication();
	}
}
Alert.cancelLabel = "Abbruch";
Alert.okLabel = "Anmelden";
Alert.buttonWidth=110;

Alert.show("Bitte geben Sie Ihre Daten ein...", "Anmeldung", Alert.OK | 
Alert.CANCEL, this, myClickHandler, "stockIcon", Alert.OK);

Hier funktioniert es soweit ganz gut, allerdings möchte ich ja nicht nur einen Text und einen OK / CANCEL-Button im Content des Fensters, sondern eine dynamische Umgebung, die mir anhand der XML N verschiedene Buttons, Datagrids oder Labels generiert und anzeigt.

Beispiel:
bsp_2.jpg




VERSION: MX 2004 Prof.

Schöne Grüße,
Claus
 
Hi,

ich muss zugeben, dass ich mit den eingebauten Komponenten eigentlich nicht arbeite... aber ich habe eine Vermutung:Die Komponente erwartet als Zielpfad den Objektnamen eines MCs in der Bibliothek, nicht den Instanznamen eines generierten Clips (da die Komponente sich ihren Inhalt wahrscheinlich mit attachMovie lädt).

Die Frage wäre jetzt: Kommst Du an die Instanz des Contents dieses PopUps heran. Wenn ja, würde ich dem PopUp einen leeren Containerclip aus der Bibliothek zuweisen, und das Dialogfeld in diesem Container aufbauen, nachdem das PopUp erstellt wurde. Ich kann hier im Moment aber nur spekulieren, da die MX2004-Komponenten nicht meine Welt sind. ;) (Die der alten Version konnte man noch prima auseinandernehmen)

Gruß

.
 
Zurück