TChoomにTZoomDragToolを追加する方法を理解できません。私はTChartがズームのサポートを内蔵していることを知っていますが、私はパンニング(右クリックでドラッグ)を同時に無効にしたいと思っています。ズームを無効にするプロパティがありますが、パンを無効にする方法はありません。Lazarus TAChartは、実行時にTChartToolSetとTZoomDragToolを追加します。
私が知ったことは、TChartToolSetをグラフに追加すると、ビルトインズームとパン機能の両方が無効になることです。私がTChoomToolSetにTZoomDragToolを追加することができれば、それは私が望むことをするでしょう。私が設計時にそれを行うとうまくいくが、実行時にその方法を知らない。
誰かに私にそれを行う方法を示すことができたらそれを感謝します。
小さなコードスニペットがあり、実行するとエラーが表示されます。
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;
あなたはm_zoom.toolset:= m_toolsetと言っていました。右?出来た。ありがとうございました。投稿を修正してください。私は答えとして選択します。 –
私を訂正していただきありがとうございます - 修正されました。 –