Je n'arrive pas à comprendre comment ajouter TZoomDragTool à un TChart. Je sais que TChart a intégré le support du zoom, mais je veux désactiver le panoramique (glisser avec le clic droit) en même temps. Il existe une propriété permettant de désactiver le zoom, mais pas de façon directe de désactiver le panoramique.Lazarus TAChart ajouter TChartToolSet et TZoomDragTool à l'exécution
Ce que j'ai découvert, c'est que si j'ajoute un TChartToolSet au graphique, il va désactiver à la fois les fonctions intégrées de zoom et de panoramique. Si je peux ajouter un TZoomDragTool à TChartToolSet, alors il fera ce que je veux. Cela fonctionne bien si je le fais au moment de la conception, mais je ne sais pas comment le faire au moment de l'exécution.
Appréciez-le si quelqu'un pouvait me montrer comment le faire.
J'ai un petit fragment de code et il me donne des erreurs si je l'exécute.
TForm1 = class(TForm)
Button1: TButton;
m_chart: TChart;
m_toolset: TChartToolset;
m_zoom: TZoomDragTool;
procedure Button1Click(Sender: TObject);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
m_chart:= TChart.Create(self);
with m_chart do begin
autosize:= False;
left:= 10;
top:= 40;
width:= 300;
height:= 150;
parent:= Self;
visible:= True;
end;
m_toolset:= TChartToolset.Create(m_chart); //is the owner correct?
m_zoom:= TZoomDragTool.Create(m_toolset); //is the owner correct?
m_toolset.Tools.Add(@m_zoom); //is this correct?
m_chart.Toolset:= m_toolset; //is this the way?
//or something like
//m_chart.Toolset.InsertComponent(m_toolset);
//both of them crash
end;
Vous vouliez dire m_zoom.toolset: = m_toolset; droite? Ça a marché. Je vous remercie. S'il vous plaît corriger le poste. Je vais le sélectionner comme réponse. –
Merci de m'avoir corrigé - corrigé. –