nabilwael
Messages postés62Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention11 mars 2010
-
17 avril 2007 à 15:45
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
17 avril 2007 à 16:14
Bonjour,
Je suis vraiment désolé mais j'ai pa arrivé a faire ce que je veux.
Bref, voila le code que je possède
Option Explicit
Dim DragX As Single, DragY As Single
Private Sub begin_Click() ' command button
begin_im.Visible = True
End Sub
Private Sub end_Click() ' command button
end_im.Visible = True
End Sub
Private Sub Form_DragDrop(Source As Control, _
X As Single, Y As Single)
Source.Move (X - DragX), (Y - DragY)
End Sub
'permet de déplacer l'image1
Private Sub begin_im_MouseDown(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
begin_im.Drag 1
DragX = X
DragY = Y
End Sub
'permet de déplacer l'image2
Private Sub end_im_MouseDown(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
begin_im.Drag 1
DragX = X
DragY = Y
End Sub
Mon premier problème est que quand je clique une autre fois sur le boutton begin par exemple l'image begin_im ne s'affiche pas une autre fois
(pas de duplication d'image)
Mon deuxième problème est que j'arrive pas à dessiner une ligne vertical ou horizontal malgré que j'ai mis c'est deux codes:
1) le problème de ce code est que la sourie prend toujours les derniers coordonnées alors les lignes sont toujours attachées
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then If Me.CurrentX 0 And Me.CurrentY 0 Then
Me.CurrentX = X
Me.CurrentY = Y
End If
Me.Line -(X, Y)
End If
End Sub
2) le problème de ce code les lignes sont inclinées et sortent de la mème point
Private startX As Long
Private startY As Long
Private Sub picDraw_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
startX = X
startY = Y
End Sub
Private Sub picDraw_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
picDraw.Line (startX, startY)-(X, Y)
Else
End If
End Sub
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 17 avril 2007 à 15:58
Bon...
Je crois que tu as déjà eu assez de réponses (dont les miennes) à ce sujet (y compris l'exemple de l'aide en ligne de VB).
Aller plus loin serait te faire ton exercice, carrément.
Si tu veux développer, il te faut d'abord apprendre l'essentiel : lire, analyser, extraire ce dont tu as besoin. (et apprendre accéssoirement à bien définir ses problèmes)
Tes autres messages, les réponses que tu as reçues et celles que tu as données, me donnent hélàs à penser que soit tu ne veux pas développer, sois tu n'es pas du tout préparé à le faire....
Que veux-tu donc ? qu'on te fasse ton exercice ? Donne-nous alors son ennoncé, tel qu'il est... et qu'on en finisse.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 17 avril 2007 à 16:06
Salut,
Si tu veux que lorsque tu appuies sur le bouton begin , une AUTRE image begin_im apparaisse, tu dois pour cela avoir une AUTRE contrôle image.
pour ce faire tu dois posséder un groupe de controle begin_im et end_im. Puis a chaque fois que tu appuies sur begin tu charge un controle image de plus dans le groupe.
Exemple concret apres adaptation de ton code:
la seule chose que tu as à t'assurer, c'est que la propriété Index des controles begin_im et end_im soit à 0
Voici le code. le plus important est que tu comprennes le code donc, si tu as un souci dit le.
Option Explicit
Dim DragX As Single, DragY As Single
Private Sub begin_Click() ' command button
'Appelle la procédure qui crée une image et la rend visible
Call ChargeObjet(begin_im, begin_im.Count)
End Sub<hr />
Private Sub end_Click() ' command button
'Appelle la procédure qui crée une image et la rend visible
Call ChargeObjet(end_im, end_im.Count)
End Sub<hr />
'---------------------------------------------------------------------------------------
' Procedure : ChargeObjet
' Purpose : Permet de charger une image appartenant a un groupe de controle image
'---------------------------------------------------------------------------------------
'
Private Sub ChargeObjet(ByRef GprObjets As Object, ByVal NumObjet As Integer)
Call Load(GprObjets(NumObjet))
GprObjets(NumObjet).Visible = True
End Sub<hr />
Private Sub Form_DragDrop(Source As Control, _
X As Single, Y As Single)
Source.Move (X - DragX), (Y - DragY)
End Sub<hr />
'permet de déplacer l'image1
Private Sub begin_im_MouseDown(index As Integer, Button As Integer, _
Shift As Integer, X As Single, Y As Single)
begin_im(index).Drag 1
DragX = X
DragY = Y
End Sub<hr />
'permet de déplacer l'image2
Private Sub end_im_MouseDown(index As Integer, Button As Integer, _
Shift As Integer, X As Single, Y As Single)
end_im(index).Drag 1
DragX = X
DragY = Y
End Sub , ----
[code.aspx?ID=41455 By Renfield]
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 17 avril 2007 à 16:09
C'est vrai que c'est dommage car tu perds du temps a poster comme ca. Le mieux pour toi (meme si ca t'arrange pas), c'est d'apprendre par toi meme dans un premier temps. Les membres t'ont donner tellement d'informations que tu ne devrais pas avoir le temps de poster autant de fois.
Une autre chose, essaye de tester en mode debug, tu en apprendra enormement. On apprend pas en postant mais en cherchant. Si on te file un code, tu vas nous dire apres que tu ne le comprend pas et tu ne sauras pas l'adapter a ton cas. Donc, documente toi au travers de TOUT ce qui a été dis jusqu'ici.
CROIS NOUS, C'EST POUR TON BIEN.
Tu vas en plus commencer a enerver les gens et tu seras comme filtrer car on voudra plus te reponds. Post vraiment quand tu as un probleme precis et pas "J'ARRIVE PAS"
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 17 avril 2007 à 16:14
Re,
En ce qui concerne les lignes verticale ou horizontale, [auteurdetail.aspx?ID=615490 jmfmarques] , t'avais proposé un code que je pense devrais te convenir. tu devrais l'essayer, et si il ne va pas nous dire en quoi il ne va pas.
Private debx As Integer, deby As Integer
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
debx = X
deby = Y
End Sub<hr />
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not Button = 1 Then Exit Sub
Me.Cls
Me.Line (debx, deby)-(X, Y)
End Sub<hr />
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not Button = 1 Then Exit Sub
Me.AutoRedraw = True
Me.Line (debx, deby)-(X, Y)
Me.AutoRedraw = False
End Sub , ----
[code.aspx?ID=41455 By Renfield]