boursicotteur
Messages postés201Date d'inscriptionmercredi 25 septembre 2002StatutMembreDernière intervention10 novembre 2007 20 oct. 2007 à 22:02
Pour relier 2 points seulement, la méthode Line est OK.
Mais pour relier plusieurs points, Line est trop lourd et trop lent.
Il est alors préférable d'utiliser l'api Polyline qui peut relier jusqu'à 16384 points en un clin d'oeil .
Pour utiliser cet fonction api il faut:
1- La déclarer dans un module (ou dans la form où tu vas l'utiliser):
Private Declare Function Polyline Lib "gdi32" ( _
ByVal hDC As Long, _
lpPoint As POINTAPI, _
ByVal nCount As Long) As Long
2- Idem pour la structure POINTAPI utilisée par polyline:
Private Type POINTAPI
X As Long
Y As Long
End Type
3- Dans ton code, tu dim tes variables:
Dim retval As Long, Qnt As Long, PointsG() As POINTAPI, PointsD() As POINTAPI
4-Dans ton code, tu redim PointsG selon le nombre de points que Polyline doit dessiner:
ReDim PointsG(0 To Qnt - 1)
5-Dans ton code tu remplis PointsG()
For n = 0 To Qnt - 1
PointsG( n).X = Ta Val X
PointsG( n).Y = Ta Val Y
Next
6-Ensuite tu dessines tous tes points dans ton picturebox (ici pbxG):
retval = Polyline(pbxG.hDC, PointsG(0), Qnt)