Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le
curseur de la souris, mais qui bouge avec le deplacement de la souris
lorsque j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le
curseur de la souris, mais qui bouge avec le deplacement de la souris
lorsque j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le
curseur de la souris, mais qui bouge avec le deplacement de la souris
lorsque j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
John-Pet wrote:Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le
curseur de la souris, mais qui bouge avec le deplacement de la souris
lorsque j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
John-Pet wrote:
Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le
curseur de la souris, mais qui bouge avec le deplacement de la souris
lorsque j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
John-Pet wrote:Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le
curseur de la souris, mais qui bouge avec le deplacement de la souris
lorsque j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
John-Pet wrote:Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le
curseur de la souris, mais qui bouge avec le deplacement de la souris
lorsque j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
Hello,
tout simple:
mets une picturebox (picture1) sur une form
puis ceci:
Option Explicit
Const MOUSE_RIGHT As Integer = 2
' les coordonnées du point connu
Dim xc As Single, yc As Single
Private Sub Form_Load()
' init du point connu, disons au centre
' du picture box
xc = Picture1.Width / 2
yc = Picture1.Height / 2
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = MOUSE_RIGHT Then
' efface la picturebox
Picture1.Cls
Picture1.Line (xc, yc)-(X, Y)
End If
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = MOUSE_RIGHT Then
' efface la picturebox
Picture1.Cls
Picture1.Line (xc, yc)-(X, Y)
End If
End Sub
Pas plus dur que ça :-)
John-Pet wrote:
Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le
curseur de la souris, mais qui bouge avec le deplacement de la souris
lorsque j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
Hello,
tout simple:
mets une picturebox (picture1) sur une form
puis ceci:
Option Explicit
Const MOUSE_RIGHT As Integer = 2
' les coordonnées du point connu
Dim xc As Single, yc As Single
Private Sub Form_Load()
' init du point connu, disons au centre
' du picture box
xc = Picture1.Width / 2
yc = Picture1.Height / 2
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = MOUSE_RIGHT Then
' efface la picturebox
Picture1.Cls
Picture1.Line (xc, yc)-(X, Y)
End If
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = MOUSE_RIGHT Then
' efface la picturebox
Picture1.Cls
Picture1.Line (xc, yc)-(X, Y)
End If
End Sub
Pas plus dur que ça :-)
John-Pet wrote:Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le
curseur de la souris, mais qui bouge avec le deplacement de la souris
lorsque j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
Hello,
tout simple:
mets une picturebox (picture1) sur une form
puis ceci:
Option Explicit
Const MOUSE_RIGHT As Integer = 2
' les coordonnées du point connu
Dim xc As Single, yc As Single
Private Sub Form_Load()
' init du point connu, disons au centre
' du picture box
xc = Picture1.Width / 2
yc = Picture1.Height / 2
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = MOUSE_RIGHT Then
' efface la picturebox
Picture1.Cls
Picture1.Line (xc, yc)-(X, Y)
End If
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = MOUSE_RIGHT Then
' efface la picturebox
Picture1.Cls
Picture1.Line (xc, yc)-(X, Y)
End If
End Sub
Pas plus dur que ça :-)
> John-Pet wrote:
un grand merci pour tes réponses Jean Marc
je vais encore te soliciter
1> peut on faire la même chose sur une image
2> garder la ligne tracée pour en faire une deuxième
j'ai aussi remarqué, lorsque tu passes sur une autre fenetre et que tu
reviens par la suite sur la picturebox la ligne n'est plus là
> John-Pet wrote:
un grand merci pour tes réponses Jean Marc
je vais encore te soliciter
1> peut on faire la même chose sur une image
2> garder la ligne tracée pour en faire une deuxième
j'ai aussi remarqué, lorsque tu passes sur une autre fenetre et que tu
reviens par la suite sur la picturebox la ligne n'est plus là
> John-Pet wrote:
un grand merci pour tes réponses Jean Marc
je vais encore te soliciter
1> peut on faire la même chose sur une image
2> garder la ligne tracée pour en faire une deuxième
j'ai aussi remarqué, lorsque tu passes sur une autre fenetre et que tu
reviens par la suite sur la picturebox la ligne n'est plus là
John-Pet wrote:
un grand merci pour tes réponses Jean Marc
Avec plaisir !je vais encore te soliciter
1> peut on faire la même chose sur une image
Non, car une image ne possède pas de propriété line2> garder la ligne tracée pour en faire une deuxième
On peut, mais c'est plus compliqué. en gros on stocke les lines
dans un tableau de lines.
Voir code à la fin.j'ai aussi remarqué, lorsque tu passes sur une autre fenetre et que tu
reviens par la suite sur la picturebox la ligne n'est plus là
Pour ça il suffit de mettre la propriété AutoRedraw de ta form
et de ta picture à "True".
'------------
' voici le code pour garder plusieurs lignes
'
Option Explicit
Private Const MAX_LINES As Long = 1000
Private Type aPoint
X As Single
Y As Single
End Type
Private Type aLine
a As aPoint
b As aPoint
End Type
Dim the_lines(MAX_LINES) As aLine
Dim nb_lines As Long
Dim xc As Single, yc As Single
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Call Picture1_MouseMove(Button, Shift, X, Y)
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If (xc = 0) And (yc = 0) Then
xc = Picture1.Width / 2: yc = Picture1.Height / 2
End If
If Button = 2 Then
Picture1.Cls:
Picture1.Line (xc, yc)-(X, Y)
redraw_all
End If
End Sub
Public Sub redraw_all()
Dim i As Long
For i = 1 To nb_lines
Picture1.Line (the_lines(i).a.X, the_lines(i).a.Y)-(the_lines(i).b.X,
the_lines(i).b.Y)
Next i
End Sub
Private Sub Picture1_MouseUp(Button As Integer, _
Shift As Integer, _
X As Single, Y As Single)
If Button = 2 Then
nb_lines = nb_lines + 1
the_lines(nb_lines).a.X = xc
the_lines(nb_lines).a.Y = yc
the_lines(nb_lines).b.X = X
the_lines(nb_lines).b.Y = Y
End If
End Sub
' ------------------------------------------
Et voila :-)
John-Pet wrote:
un grand merci pour tes réponses Jean Marc
Avec plaisir !
je vais encore te soliciter
1> peut on faire la même chose sur une image
Non, car une image ne possède pas de propriété line
2> garder la ligne tracée pour en faire une deuxième
On peut, mais c'est plus compliqué. en gros on stocke les lines
dans un tableau de lines.
Voir code à la fin.
j'ai aussi remarqué, lorsque tu passes sur une autre fenetre et que tu
reviens par la suite sur la picturebox la ligne n'est plus là
Pour ça il suffit de mettre la propriété AutoRedraw de ta form
et de ta picture à "True".
'------------
' voici le code pour garder plusieurs lignes
'
Option Explicit
Private Const MAX_LINES As Long = 1000
Private Type aPoint
X As Single
Y As Single
End Type
Private Type aLine
a As aPoint
b As aPoint
End Type
Dim the_lines(MAX_LINES) As aLine
Dim nb_lines As Long
Dim xc As Single, yc As Single
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Call Picture1_MouseMove(Button, Shift, X, Y)
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If (xc = 0) And (yc = 0) Then
xc = Picture1.Width / 2: yc = Picture1.Height / 2
End If
If Button = 2 Then
Picture1.Cls:
Picture1.Line (xc, yc)-(X, Y)
redraw_all
End If
End Sub
Public Sub redraw_all()
Dim i As Long
For i = 1 To nb_lines
Picture1.Line (the_lines(i).a.X, the_lines(i).a.Y)-(the_lines(i).b.X,
the_lines(i).b.Y)
Next i
End Sub
Private Sub Picture1_MouseUp(Button As Integer, _
Shift As Integer, _
X As Single, Y As Single)
If Button = 2 Then
nb_lines = nb_lines + 1
the_lines(nb_lines).a.X = xc
the_lines(nb_lines).a.Y = yc
the_lines(nb_lines).b.X = X
the_lines(nb_lines).b.Y = Y
End If
End Sub
' ------------------------------------------
Et voila :-)
John-Pet wrote:
un grand merci pour tes réponses Jean Marc
Avec plaisir !je vais encore te soliciter
1> peut on faire la même chose sur une image
Non, car une image ne possède pas de propriété line2> garder la ligne tracée pour en faire une deuxième
On peut, mais c'est plus compliqué. en gros on stocke les lines
dans un tableau de lines.
Voir code à la fin.j'ai aussi remarqué, lorsque tu passes sur une autre fenetre et que tu
reviens par la suite sur la picturebox la ligne n'est plus là
Pour ça il suffit de mettre la propriété AutoRedraw de ta form
et de ta picture à "True".
'------------
' voici le code pour garder plusieurs lignes
'
Option Explicit
Private Const MAX_LINES As Long = 1000
Private Type aPoint
X As Single
Y As Single
End Type
Private Type aLine
a As aPoint
b As aPoint
End Type
Dim the_lines(MAX_LINES) As aLine
Dim nb_lines As Long
Dim xc As Single, yc As Single
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Call Picture1_MouseMove(Button, Shift, X, Y)
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If (xc = 0) And (yc = 0) Then
xc = Picture1.Width / 2: yc = Picture1.Height / 2
End If
If Button = 2 Then
Picture1.Cls:
Picture1.Line (xc, yc)-(X, Y)
redraw_all
End If
End Sub
Public Sub redraw_all()
Dim i As Long
For i = 1 To nb_lines
Picture1.Line (the_lines(i).a.X, the_lines(i).a.Y)-(the_lines(i).b.X,
the_lines(i).b.Y)
Next i
End Sub
Private Sub Picture1_MouseUp(Button As Integer, _
Shift As Integer, _
X As Single, Y As Single)
If Button = 2 Then
nb_lines = nb_lines + 1
the_lines(nb_lines).a.X = xc
the_lines(nb_lines).a.Y = yc
the_lines(nb_lines).b.X = X
the_lines(nb_lines).b.Y = Y
End If
End Sub
' ------------------------------------------
Et voila :-)
Ok , à moi d'adapter ma picturebox, car je ne connais pas d'avance la
taille du graphisme que je vais mettre dedans, cela change toujours
avec une image j'ai pas ce probleme
si je veux ne plus faire partir ma ligne d'un point fixe mais par
rapport au clic de la souris comment signaler ce point de départ
Ok , à moi d'adapter ma picturebox, car je ne connais pas d'avance la
taille du graphisme que je vais mettre dedans, cela change toujours
avec une image j'ai pas ce probleme
si je veux ne plus faire partir ma ligne d'un point fixe mais par
rapport au clic de la souris comment signaler ce point de départ
Ok , à moi d'adapter ma picturebox, car je ne connais pas d'avance la
taille du graphisme que je vais mettre dedans, cela change toujours
avec une image j'ai pas ce probleme
si je veux ne plus faire partir ma ligne d'un point fixe mais par
rapport au clic de la souris comment signaler ce point de départ
Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le curseur
de la souris, mais qui bouge avec le deplacement de la souris lorsque
j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
merci
JP
--
Adresse mail :
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le curseur
de la souris, mais qui bouge avec le deplacement de la souris lorsque
j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
merci
JP
--
Adresse mail : john-pet@wanadoo.fr
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Bonjours à toutes et tous
1>une picturebox ou une image
2>un point de coordonnées connues dans cette picturebox ou image
je voudrais avoir une ligne d'affichée entre le point connu et le curseur
de la souris, mais qui bouge avec le deplacement de la souris lorsque
j'appui sur le bouton droit
quand je relache ce bouton la ligne doit se figer dans la picturebox
merci
JP
--
Adresse mail :
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Dans : news:463d7343$0$13857$,
Jean-marc disait :
Salut Jean-Marc,
Je saute dans le fil au passage, je serai peut-être à côté de la
plaque ...
Pour tracer une ligne «mobile» sur un dessin existant, j'utilisais le
mode XOR.
Ainsi, il suffit de retracer la dernière ligne affichée pour qu'elle
s'efface en restituant ce qu'elle recouvrait.
Dans : news:463d7343$0$13857$ba620e4c@news.skynet.be,
Jean-marc disait :
Salut Jean-Marc,
Je saute dans le fil au passage, je serai peut-être à côté de la
plaque ...
Pour tracer une ligne «mobile» sur un dessin existant, j'utilisais le
mode XOR.
Ainsi, il suffit de retracer la dernière ligne affichée pour qu'elle
s'efface en restituant ce qu'elle recouvrait.
Dans : news:463d7343$0$13857$,
Jean-marc disait :
Salut Jean-Marc,
Je saute dans le fil au passage, je serai peut-être à côté de la
plaque ...
Pour tracer une ligne «mobile» sur un dessin existant, j'utilisais le
mode XOR.
Ainsi, il suffit de retracer la dernière ligne affichée pour qu'elle
s'efface en restituant ce qu'elle recouvrait.
Hello Fred,
Peux être as tu un petit bout de code exemple montrant
l'utilisation de XOR ?
Hello Fred,
Peux être as tu un petit bout de code exemple montrant
l'utilisation de XOR ?
Hello Fred,
Peux être as tu un petit bout de code exemple montrant
l'utilisation de XOR ?