Finally I have found a way to fix an issue that bothers me for more than ten years.
I added a property
ForcedSize in
TChartAxis (in tachartaxis.pas).
It is applied in procedure
TChartAxis.Measure:
with AMeasureData do begin
FSize := Max(sz, FSize);
if (ForcedSize < 0)
then FTitleSize := Max(TitleSize, FTitleSize)
else FTitleSize := FForcedSize;
FMargin := Max(Margin, FMargin);
end;
Now when
ForcedSize ≥ 0 a custom size of the
TitleLabel is used and together with some other settings the size of the chart does not depend on the content of the
TAChart.AxisList[✱].Title.Caption.
A snippet is attached, the magic comes when the button is clicked.