TeeChart не перерисовывается после вызова Canvas.TextExtent дочернего Label - PullRequest
0 голосов
/ 14 февраля 2020

Я использую

Embarcadero® Delphi 10.3 Версия 26.0.36039.7899

TeeChart Standard v2020.29.200113 32-битный VCL

Моя ОС Windows 7 Ultimate ServicePack1

Я помещаю TChart в форму, а затем я добавляю ярлык на TChart. После первого вызова Label1.Canvas.TextExtent диаграмма перестает перерисовываться. Например, после минимизации и максимизации формы вместо содержимого диаграммы я вижу часть фонового окна.

Разрешено ли размещать метку на TChart?

type

  TForm1 = class(TForm)
    Chart1: TChart;
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  ASize: TSize;
begin
  ASize := Label1.Canvas.TextExtent(Label1.Caption);
end;

После нажатия на кнопку1 графика перестает перерисовывать.

UPD:

Мы мигрируем из Delphi7 в RAD Studio 10.3. В нашем проекте мы используем нестандартные метки. Метод краски переопределен. Мы рисуем на холсте метки и используем Label.Canvas.TextExtent для вычисления размера текста.

Родительским компонентом меток является TChart.

Пример выше работает правильно в Delphi7, но не в Delphi 10.3.

...