如何解决打开子窗体后,TeeChart OnMouseDown 在父窗体上触发 FormActivate
我在 Delphi 10.4 中使用 TeeChart Standard v2016 32bit 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;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。