Bonjour,
débutant depuis quelques jours seulement sur flex, je souhaite réaliser la copie d'une image lorsque je fais un drag and drop.
Pour le drag and drop aucun problème mais pour la copie de l'image, tout ce que j'ai essayé n'a pas fonctionné. J'imagine que ce ne doit pas être très compliqué...

Le code, le voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
private function mouseMoveHandler(event:MouseEvent):void {
	var monImage:Image  = Image(event.currentTarget) as Image;
	var dragInitiator:Image = monImage;
	var ds:DragSource = new DragSource();
	ds.addData(dragInitiator, "img");
	var imageProxy:Image = new Image();
	imageProxy.source = event.currentTarget.source;
	imageProxy.height=200;
	imageProxy.width=200;
	DragManager.doDrag(dragInitiator, ds, event, imageProxy,0,0,0.5,true);
}
 
private function dragEnterHandler(event:DragEvent):void {
	if (event.dragSource.hasFormat("img")){
	     //si une image est déjà présente dans le container, on sort de la fonction
	    if (BorderContainer(event.currentTarget).contains(image0)
		|| BorderContainer(event.currentTarget).contains(image1)
		||  BorderContainer(event.currentTarget).contains(image2) ){
	           return;
	    } 
	    //sinon on autorise le laché de l'image
            DragManager.acceptDragDrop(BorderContainer(event.currentTarget));
        }
}
 
private function dragDropHandler(event:DragEvent):void {
	BorderContainer(event.currentTarget).addElement(Image(event.dragInitiator));	
	Image(event.dragInitiator).x = 0;
	Image(event.dragInitiator).y = 0;
}
Dans mon mxml, j'ai des images dans des borderContainers et des bordersContainers vides qui reçoivent les images. Je voudrais copier l'image au lieu de la déplacer mais je n'y arrive pas.
J'ai ajouté dans la fonction mouseMoveHandler ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
BorderContainer(Image(event.currentTarget).parent.parent.parent).addElement(Image(event.currentTarget));
mais l'image n'est pas copié pour autant, elle revient seulement à sa place d'origine...
Merci d'avance