Bonjour,
je dessine une courbe (TLineSeries) dans un TChart. Je souhaite que l'utilisateur puisse cliquer sur un point de la courbe et le d�placer.
Un tel d�placement est il possible ?
Merci d'avance,
Nicolas








Bonjour,
je dessine une courbe (TLineSeries) dans un TChart. Je souhaite que l'utilisateur puisse cliquer sur un point de la courbe et le d�placer.
Un tel d�placement est il possible ?
Merci d'avance,
Nicolas
Ce d�placement est tout � fait possible :
- dans un premier temps utilise l'�v�nement de ta TSeries :
pour r�cup�rer l'index du point sur lequel tu as cliqu�, le bouton de la souris enfonc� et l'emplacement d'origine de la souris en X et Y.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 void __fastcall TForm1::Series1Click(TChartSeries *Sender, int ValueIndex, TMouseButton Button, TShiftState Shift, int X, int Y) { }
- dans un second temps utilise l'�v�nement de ton TChart :
pour r�cup�rer le bouton de la souris enfonc� ainsi que l'emplacement d'arriv�e de la souris en X et Y.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 void __fastcall TForm1::Chart1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { }
Voil�. Maintenant tu modifies les coordonn�es du point ValueIndex (ni�me point de ta s�rie) en fonction du X et Y d'arriv�e (c'est lourd il faut que tu utilises une fonction pour calculer les valeurs correspondantes en fonction de tes axes ... je sais plus laquelle) puis tu redessines enti�rement ton TChart.
J'ai retrouv� la fonction pour calculer la valeur correspondante � une position en pixel (X ou Y) sur un axe :
S'applique �
Composant TChartAxis
D�claration
function CalcPosPoint(Value : Integer) : Double;
Description
Cette fonction renvoie la valeur correspondante d'une position � l'�cran. Celle-ci doit �tre comprise entre les limites de l'axe.
Voir le Guide de l'utilisateur pour plus d'informations.








C'est exactement ce que je cherchais � faire.
Merci beaucoup.
Nicolas
Partager