Bonjour à tous,
Tout d'abord je tiens à vous remercie de votre patience et votre aide.
Voilà, actuellement, j'ai un projet où je dois dessiner une ligne électrique sur le canvas d'une forme; la ligne est tracer avec cette fonction:
Ma structure lignes me permet de récupérer tous les points pour le tracer les segments de cette ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 aForm.Canvas.Pen.Width := 4; aForm.Canvas.Pen.Color := aBlue; aForm.Canvas.MoveTo(lignes[0].XPosition,lignes[0].YPosition); for i:=1 to length(lignes)-1 do begin aForm.Canvas.LineTo(lignes[i].XPosition,lignes[i].YPosition); end;
Mon problème c'est qu'on me demande maintenant la possibilité de modifier cette ligne, c'est à dire de prendre un point sur la ligne et de le déplacer afin d'ajouter un "virage" à cette ligne.
J'aurais donc plusieurs questions:
1) Existe-t-il une meilleur méthode pour créer cette ligne?
2) Comment faire pour savoir si l'utilisateur à cliqué sur une portion de cette ligne, en sachant qu'on ne connait que les coordonnées des points?
3) Comment calculer un déplacement de souris lorsque le clic gauche est maintenu enfoncé?
Encore merci,
@+.
Partager