User control graphique vb 2005

Description

Tout d'abord rendre à César ce qui est à César :
Je suis parti du code de Nicholas 99 que vous pouvez trouver sur le lien suivant : http://www.vbfrance.com/codes/COURBE-2D-SANS-MSCHART_35511.aspx

Il s'agit d'un code pour tracer un graphique. Il faut l'integrer dans une fenetre comme n'importe quel user control.

Le nombre de séries est volontairement limité à 10 pour des raisons de lisibilité du graphique, un message informe si l'on veut 'forcer' une serie de trop. Ce paramètre est géré par une simple variable, plus la liste des modèles de couleur à compléter.
Le nombre de 'moyenne mobile' est limité à 3 de la même façon que pour les séries (modifiable également de la même façon)

Il y a un ensemble de proprietes qui commencent par _
Il y a egalement 2 modeles de couleurs : XLLike et Base

Il n'y a pas de gestion d'erreurs a proprement parler, si vous avez des difficultés merci de me les signaler

Toute critique est bienvenue, positive ou negative. Merci d'avance

Source / Exemple :


Code partiel (exemple) :

Sub test()
    Dim aa As New UcGraph

    aa._RafraichiLive = False 'Eviter le cligonetement
    
    aa.ClearMe()

    aa.Top = 370
    aa.Left = 50
    aa.Height = 400

    aa._TitreGraphique = "Essai de graphe"
    aa._TitreAxeX = "Valeurs X"
    aa._TitreAxeY = "Valeurs Y"
    aa._PointVisible = True 'point sur la courbe
    aa._LegendeVisible = True

    Dim ab() As Double
    Dim max As Integer = 900

    Dim listeE(5) As String
    For x As Integer = 0 To 5
        listeE(x) = Str(2000 + x)
    Next
    aa.AddEtiquettesX(listeE)

    For x As Integer = 0 To 8
        ab = New Double() {CDbl(Int((max * Rnd()) + 1)), CDbl(Int((max * Rnd()) + 1)), _
CDbl(Int((max * Rnd()) + 1)), CDbl(Int((max * Rnd()) + 1))}
        aa.AddCourbe(x, "Test" & " " & x & " " & x, True, False, False, False, ab)
    Next
    aa.AddCourbe(1, "Test Max", True, False, False, True, New Double() {15, 15, 18, 41, 45, 69, 35})

    aa._RafraichiLive = True
    
    Me.Controls.Add(aa)

End Sub

Conclusion :


Quelques détails :

'=======================
'Methodes
'=======================
'AddMoyenneMobile(ByVal NumCourbe As Integer, ByVal Periode As Integer)
'Ajouter une moyenne mobile (n° de courbe de reference, periode)

'RemoveMoyenneMobile(ByVal Numero As Integer)
'enlever une moyenne mobile (n° de la courbe de reference)

'ZapMoyennesMobiles()
'Effacer TOUTES les moyennes mobiles

'AddCourbe(ByVal Ordre As Integer, ByVal Titre As String, ByVal Courbe As Boolean, ByVal Barre As Boolean, ByVal Curseur As Boolean, ByVal Moyenne As Boolean, ByVal Valeurs() As Double)
'Ajouter une courbe

'DeleteCourbe(ByVal NumeroDeSerie As Integer)
'Supprimer une courbe

'ZapCourbes()
'Supprimer TOUTES les courbes

'AddEtiquettesX(ByVal Liste() As String)
'Ajouter les etiquettes de l'axe X

'ZapEtiquettes()
'Effacer les etiquettes de l'axe X

'ClearMe()
'Effacer tout en un seul coup

'====================
'Proprietes
'====================

'_AxeYBeginZero() As Boolean ' l'axe Y commence à zéro ou non
'_DeuxAxesY() As Boolean ' Les valeurs Y sont representées à droite
'_TitreAxeX() As String ' Titre de l'axe X
'_TitreAxeY() As String ' Titre de l'axe Y
'_FontAxeX() As Font
'_FontAxeY() As Font
'_CouleurAxe() As Color
'_CouleurTitreAxeX() As Color
'_CouleurTitreAxeY() As Color
'_CouleurEchelle() As Color

'_FontTitre() As Font
'_CouleurTitre() As Color
'_TitreGraphique() As String

'_TaillePointCourbe() As Integer
'_PointVisible() As Boolean
'_EpaisseurCourbe() As Integer

'_CouleurContourGraphe() As Color
'_ContourVisible() As Boolean
'_CouleurFondGraphe() As Color
'_CouleurZoneTracage() As Color
'_CouleurGrille() As Color

'_Moyenne(ByVal n As Integer) As Double
'_LegendeVisible() As Boolean
'_Ombre() As Boolean
'_ModeleDeCouleur() As Modele
'_RafraichiLive() As Boolean

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.