VB 2008 - Mschart. Déterminer la série du Mschart sous de la souris ?

Signaler
Messages postés
45
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
17 août 2012
-
Messages postés
1
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
30 décembre 2009
-
Quel est l'équivalent en VB.net des instructions VB6 : MSChart1.SelectPart et MSChart1.TwipsToChartPart.

En VB6, je faisais :

Private Sub MSChart1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim Partie As Integer
Dim index1 As Integer
Dim Index2 As Integer
Dim Index3 As Integer
Dim Index4 As Integer

MSChart1.SelectPart 4, 0, 0, 0, 0

' Calcul l'emplacement actuel. Renvoie la partie du graphe sur laquelle se trouve la souris
MSChart1.TwipsToChartPart X, Y, Partie, index1, Index2, Index3, Index4
....

Le but étant de trouver l'index des séries du chart sous la souris (sans cliquer) avec sa propriété allowselections a false pour éviter de pouvoir déplacer les éléments, titre, légende, ... Peut-être y a t-il une autre facon de procéder ?

Sous VB.net, le contrôle Zedgraph est-il plus interessant que le AxMschart (MSchart) ?

Merci.

PS : + sympa la nouvelle mouture du site VBFrance .

2 réponses

Messages postés
45
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
17 août 2012

Je reponds à ma question ...

Avec VB2008 l'unité de base est le pixel, pas de twip.

J'ai ajouter une référence/.NET/ Microsoft.VisualBasic.Compatibility

puis ajouté Microsoft.VisualBasic.Compatibility.VB6 dans My project/Espace de noms importés

Private Sub AxMSChart1_MouseMoveEvent(ByVal sender As Object, ByVal e As AxMSChart20Lib._DMSChartEvents_MouseMoveEvent) Handles AxMSChart1.MouseMoveEvent

Dim X As Double
Dim y As Double
Dim Part As Short
Dim index1 As Short
Dim index2 As Short
Dim index3 As Short
Dim index4 As Short

'Faire avant :
'1 - Projet/Ajouter une référence/.NET/Microsoft.VisualBasic.Compatibility
'2 - My project/Référence/Espace de noms importés/Microsoft.VisualBasic.Compatibility.VB6
X = Support.PixelsToTwipsX(e.x)
y = Support.PixelsToTwipsX(e.y)

'AxMSChart1.TwipsToChartPart(e.x, e.y, Part, index1, index2, index3, index4)
AxMSChart1.TwipsToChartPart(X, y, Part, index1, index2, index3, index4)

Label_commentaire.Text "Part " & Part & " index1 = " & index1 & " index2 = " & index2 & " index3 = " & index3 & " index4 = " & index4
Label_commentaire.Visible = True

End Sub

Cela fonctionne, mais me génère des erreurs d'ambiguité, notamment sur les instructions Format( .... ) que j'ai corrigé par :

Label_date.Text = Microsoft.VisualBasic.Strings.Format(Now, "dddd d MMMM yyyy H:mm")

Autre soucis, le fait d'avoir ajouter le controle Mschart provoque la non prise en compte de la méthode Button_suite.PerformClick() ???
Messages postés
1
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
30 décembre 2009