Creer un mode Edition

Résolu
chicochiri Messages postés 66 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 29 décembre 2018 - 7 févr. 2006 à 20:57
chicochiri Messages postés 66 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 29 décembre 2018 - 8 févr. 2006 à 11:43
Bonjour

Je ne sait pas si je vais etre clair....
je voudrai creer un mode edition dans mon appli, c a dire que je voudrai pouvoir permettre a l'utilisateur de dupliquer un objet picture as sa guise et de le placer ou il veut dans l'interface (la form) (exemple placer 3,4ou 5 billards selon le type de sa salle)

Puis repasser en mode normal d'utilisation...

Merci

9 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
7 févr. 2006 à 22:20
Bonsoir,
Pour déplacer une Image avec la souris.(tu peux faire avec n'importe quel contrôles)

Option Explicit
Dim xTemp, xTemp2 As Long
Dim yTemp, yTemp2 As Long

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move X - xTemp, Y - yTemp
End Sub
Private Sub Image1_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move xTemp2 + X - xTemp, xTemp2 + Y - yTemp
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Drag
xTemp = X
yTemp = Y
xTemp2 = Image1.Left
yTemp2 = Image1.Top
End Sub

jpleroisse

Si une réponse vous convient, cliquez Réponse Acceptée.
3
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
7 févr. 2006 à 23:05
Re,
Ce code créée un deuxième contrôle Image et permet de la déplacer aussi.
Plusieurs en une seule fois ça, pour l'instant, je ne sais pas.

Option Explicit
Private WithEvents imgObj As Image
Dim xTemp, xTemp2 As Long
Dim yTemp, yTemp2 As Long

Private Sub Command1_Click()
Set imgObj = Controls.Add("VB.Image", "imgObj")
With imgObj
.Visible = True
.Width = 2000
.Picture = LoadPicture("C:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\Misc\Question.ico")
.Top = 1000
.Left = 1000
End With
End Sub
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move X - xTemp, Y - yTemp
End Sub
Private Sub Image1_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move xTemp2 + X - xTemp, xTemp2 + Y - yTemp
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Drag
xTemp = X
yTemp = Y
xTemp2 = Image1.Left
yTemp2 = Image1.Top
End Sub
Private Sub imgObj_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move xTemp2 + X - xTemp, xTemp2 + Y - yTemp
End Sub
Private Sub imgObj_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
imgObj.Drag
xTemp = X
yTemp = Y
xTemp2 = Image1.Left
yTemp2 = Image1.Top

End Sub

jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
3
scottmat Messages postés 438 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 23 janvier 2011 1
7 févr. 2006 à 21:36
Pour le déplacement déjà voila un exemple que j'utilise pour un objet label qui s'apelle label19 :

Private
_MouseDown As Boolean


Private _MouseX As Integer


Private _MouseY As Integer


Private _DepX As Integer


Private _DepY As Integer


Private Sub label19_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles
Label19.MouseDown


Label19.Cursor = System.Windows.Forms.Cursors.SizeAll


_MouseDown =
True ' Pour indiquer qu'on appuie sur la souris


_MouseX = System.Windows.Forms.Cursor.Position.X
' On sauvegarde les coordonnées actuelles de la souris


_MouseY = System.Windows.Forms.Cursor.Position.Y


End Sub


Private Sub label19_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles
Label19.MouseMove


If _MouseDown Then


' On calcule le déplacement par rapport aux dernières coordonnées de la souris(sauvegardés)


_DepX = System.Windows.Forms.Cursor.Position.X - _MouseX


_DepY = System.Windows.Forms.Cursor.Position.Y - _MouseY


' On déplace le Panel ou eventuellement un autre objet


Panel4.Location =
New Point(Panel4.Location.X + _DepX, Panel4.Location.Y + _DepY)


' On sauvegarde les nouvelles coordonées de la souris


_MouseX = System.Windows.Forms.Cursor.Position.X


_MouseY = System.Windows.Forms.Cursor.Position.Y


End If


End Sub


Private Sub label19_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles
Label19.MouseUp


' On a relaché la souris


Label19.Cursor = System.Windows.Forms.Cursors.Default


_MouseDown =
False


End Sub
0
chicochiri Messages postés 66 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 29 décembre 2018
7 févr. 2006 à 21:46
euh j'arrive âs a exploiter ton code....té en vb6 ou en vbnet
(moi en vb6)?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scottmat Messages postés 438 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 23 janvier 2011 1
7 févr. 2006 à 21:50
Ah mince ! Moi c'est du VB.Net ! Et j'ai complétement oublié le VB6 ! donc je sais pas comment tu peu l'utiliser ! Aie !
Les événements MouseUP, MouseMove n'héxiste pas dans VB6 ?
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
7 févr. 2006 à 21:53
Jette un oeil ici cela pourra peut etre t'aider

http://www.vbfrance.com/code.aspx?id=21742

Bonne prog
++
0
chicochiri Messages postés 66 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 29 décembre 2018
7 févr. 2006 à 22:07
euh je vais essayer de traduire alors merci et je vais jeter un oiel sur le code de bouv merci bcp
0
chicochiri Messages postés 66 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 29 décembre 2018
7 févr. 2006 à 22:33
bon le code de jpleroissejpleroisse est top....

comment je fais pour que l'utilisateur genere autant d'objet picture qu'il lui faut?

merci
0
chicochiri Messages postés 66 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 29 décembre 2018
8 févr. 2006 à 11:43
merci jpleroisse

c'est ça que je voulais...je vais essayer de faire en sorte de pouvoir en creer plusieurs.

Je pense qu'il y a une petite erreur dans le code dans la fonction suivante...

Private Sub imgObj_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move xTemp2 + X - xTemp, xTemp2 + Y - yTemp
End Sub
Private Sub imgObj_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
imgObj.Drag
xTemp = X
yTemp = Y
xTemp2 = imgObj.left ' et non "Image1.Left"
yTemp2 = imgObj ' et non "Image1.Top"

End Sub

remplacer image1 par imgObj enfin g fait la modif et ça marche

merci encore
0