TeeChart OnMouseDown 在打开子窗体后在父窗体上触发 FormActivate
TeeChart OnMouseDown fires FormActivate on parent form after opening child form
我在 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;
为什么调用该事件以及如何解决该事件?
在旧版本中,Delphi 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;
我在 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;
为什么调用该事件以及如何解决该事件? 在旧版本中,Delphi 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;