cs_pipic
Messages postés50Date d'inscriptionmercredi 11 juin 2003StatutMembreDernière intervention 9 décembre 2003
-
8 déc. 2003 à 15:28
cs_radada
Messages postés488Date d'inscriptionlundi 15 septembre 2003StatutMembreDernière intervention21 avril 2009
-
8 déc. 2003 à 16:53
Bonjour a tous,
j'ai un @#&*§§!! de probleme sur lequel je suis depuis plusieurs jours et que je n'arrive pas a solutionner
Je possede une picturebox (picturB) et un linklabel (linklab). je dois effectuer un drag and drop doit sur l'image, qui ne peut etre deplacée que sur le formulaire (form_parent) ou elle se trouve.
lorsque je deplace l'image, le linklab qui lui est associé doit etre deplacé avec (d'ou la modification des localisations dans la methode form_parent_Dragdrop)
remarque : j'ai crée une classe noeud qui me permet de créer automatiquement mon image associée à mon linklabel
Private Sub picturB_MouseDown(ByVal sender As Object, ByVal e as System.Windows.Forms.MouseEventArgs) Handles picturB.MouseDown
picturB.DoDragDrop(picturB.Image, DragDropEffects.Move)
End Sub
Private Sub form_parent_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles form_parent.DragEnter
If e.Data.GetDataPresent(DataFormats.Bitmap) Then
e.Effect = DragDropEffects.Move
End If
End Sub
Private Sub form_parent_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles form_parent.DragDrop
picturB.Location = New Point(e.X, e.Y)
LinkLab.Location = New Point(e.X + 20, e.Y)
End Sub
j'ai 2 problemes avec ce code :
- le drop s'effectue sur tous les obets et les place tous sur le meme endroit
- la localisation n'est pas correcte. l'objet se depose généralement plus bas et sur la gauche de l'endroit qui lui est spécifié. Je pense que cela vient d'une mauvaise utilisation de e.X et e.Y
voilà, savez vous d'ou peut venir mon probleme?
merci d'avance
cs_radada
Messages postés488Date d'inscriptionlundi 15 septembre 2003StatutMembreDernière intervention21 avril 20091 8 déc. 2003 à 15:51
J'ai pas tout suivi... C'est quoi le rapport entre le bitmap, le label et le drag and drop???, Tu drop un bitmap sur ta form, il s'affiche à l'endroit de la souris et là, il y un label qui apparait, et ensuite quand tu bouge ton bitmap, le label suit??? C'est ça????
cs_pipic
Messages postés50Date d'inscriptionmercredi 11 juin 2003StatutMembreDernière intervention 9 décembre 2003 8 déc. 2003 à 16:01
j'ai p.e mal expliqué le pb effectivement...
Sur mon form j'ai un bitmap qui s'affiche avec un label (ce qui correspond a un noeud et j'en ai trois comme ca). Ce que je voudrais c'est tout simplement pouvoir appliquer un drag and drop a mon noeud (image + label).
le probleme c que le drop ne fonctionne pas correctement puisque mon noeud ne s'affiche pas a la position de la souris mais en décalé.
Puis lesecond probleme c'est que lorsque je drag and drop mon 2eme noeud, c'est le 1er qui va s'afficher avec une superpositions des autres....
cs_radada
Messages postés488Date d'inscriptionlundi 15 septembre 2003StatutMembreDernière intervention21 avril 20091 8 déc. 2003 à 16:06
Et tes noeuds, c'est une gestion via des list view/tree view ou cela n'a rien à voir??? Ou c'est simplement 3 bitmap affichés dynamiquement en décalé????
cs_radada
Messages postés488Date d'inscriptionlundi 15 septembre 2003StatutMembreDernière intervention21 avril 20091 8 déc. 2003 à 16:53
Ben tu ne peux pas gérer tes draganddrop au niveau de chaque objet (Bitmpa + label) alors plutot qu'a un niveau global (Form Parent)??? Pour ton décalage, essaie d'utiliser Me plutot que e pour voir, on ne sait jamais. Tu dois l'afficher p/rau coin sup. de ta form non?? Utilise 2 variables globales que tu initialise à Form1.top et Form1.Left avant de faire ton repositionnement et ensuite, tu calcul ton affichage p/r à ces variables et à la taille de tes bitmap et au noeud cliqué (1, 2 ou 3 -> cela revient à faire une règle de trois je pense en fonction de ton noeud..). Je ne sais pas si cela t'aide bcp, mais avec ces explications, c'est tout ce que je vois pour l'instant.... Mais je pense que je me trompe, j'ai pas du tout comprendre, je suis un peu fraca en fait lol :D:D