我在Delphi 10.4 中使用TeeChart Standard v2016 32位VCL
OnMouseDown在图表上打开新表单:
procedure TForm1.Chart1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Form2.Show;
end;
但在那之后,FormActivate在父窗体上被调用。我在那里关闭子窗体。
procedure TForm1.FormActivate(Sender: TObject);
begin
Form2.Close;
end;
为什么要调用该事件,以及如何解决该问题?在旧版本,德尔福7是可以的。
使用标志:
procedure TForm1.Chart1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FChartOpened := TRUE;
Form2.Show;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
if FChartOpened then
FChartOpened := FALSE
else
Form2.Close;
end;