伙计们,我想知道是否有人知道在关闭所有 MDI 表单时我可以拦截的任何事件或方法。

示例:

我想在我的主窗体中实现一个事件,当我关闭所有 MDI 窗体时,会触发这样一个事件。

如果有人可以提供帮助,将不胜感激。

最佳答案

MDI 子窗体(实际上是任何窗体)在被销毁时会通知主窗体。您可以使用此通知机制。例子:

type
  TForm1 = class(TForm)
    ..
  protected
    procedure Notification(AComponent: TComponent; Operation: TOperation);
      override;

  ..

procedure TForm1.Notification(AComponent: TComponent; Operation: TOperation);
begin
  inherited;
  if (Operation = opRemove) and (AComponent is TForm) and
      (TForm(AComponent).FormStyle = fsMDIChild) and
      (MDIChildCount = 0) then begin

    // do work

  end;
end;

关于forms - 所有 mdi 表单关闭时的事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18601431/

10-13 04:26