Hola,
Los formularios tienen una propiedad "Active" que tal vez podrías utilizar como "bandera". Es decir, los eventos se dispararían igualmente, pero, siempre podrías situar la condición:
Antes de que en el evento en cuestión se llevara a cabo nada en absoluto.
Por ejemplo, este sería el evento "OnTimer" de un "TTimer" que tuviera que saludarme, como bien educado, cada tanto tiempo:
Código Delphi
[-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if not Active then Exit;
ShowMessage('Hola dec');
end;
En este caso, siempre que el formulario esté activo (Active = true) recibiré un saludo (no tengo abuela) pero, si, por el contrario, el formulario no estuviera activo no recibiría ningún saludo. Qué le vamos a hacer.