Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-02-2009
Efren2006 Efren2006 is offline
Miembro
 
Registrado: feb 2006
Posts: 172
Poder: 19
Efren2006 Va por buen camino
Determinar en un Form Principal cuando se Cierra un Form Hijo

Mi problema es el Siguiente

Tengo una aplicacion que puede llamara varios formularios a travez de un menu,Toolabar,etc, Pero necesito determinar en el formulario Principal cuando se cierra el ultimo Formulario para efectuar una operacion.

No quiesiera hacer un Timer y chequear cuantas ventanas estan activas en este momento.

Existen alguna forma de hacer esto a travez de un Evento ??

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 24-02-2009
caifan_0883 caifan_0883 is offline
Miembro
 
Registrado: nov 2005
Ubicación: Los Mochis, Mexico
Posts: 42
Poder: 0
caifan_0883 Va por buen camino
mmm. mira asi como tu describes yo utilizaria.

En mi form principal en la propiedad FormStyle que sea fsMDIForm, y las demas forms que sean fsMDIChild.

asi no recurririas a otras cosas.

Saludos!!
__________________
Da conocimiento a los que no saben.
Responder Con Cita
  #3  
Antiguo 25-02-2009
Efren2006 Efren2006 is offline
Miembro
 
Registrado: feb 2006
Posts: 172
Poder: 19
Efren2006 Va por buen camino
Gracias por tu tiempo

El problema realmente es que necesito realizar una (Funcion y/o Procedimiento) en mi Form Principal cuando se halla cerrado la ultima ventana abierta por el usurio

Saludos
Responder Con Cita
  #4  
Antiguo 25-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Puede haber varias maneras de hacer esto dependiendo del contexto exacto: ¿todos los formularios son del mismo tipo o tienen un ancestro común? Cuando se cierran los formularios, ¿se destruyen o sólo se esconden? ¿Son formularios MDIChild?

En fin, suponiendo que tú tienes control del momento en que se crean los formularios (es decir, que no se crean automáticamente al inicio) y que los destruyes al cerrarlos (poniendo Action := caFree en su evento OnClose), puedes valerte del método Notification del formulario principal para actualizar la cuenta:

Código Delphi [-]
type
  TMainForm = class(TForm)
  private
    FormCount: Integer; // cuenta de los formularios abiertos

  protected
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  end;

implementation

procedure TMainForm.Notification(AComponent: TComponent; Operation: TOperation);
begin
  inherited;

  if (AComponent is TForm) and (AComponent.Owner = Self) and (Operation = opRemove) then
  begin
    Dec(FormCount);

    if (FormCount = 0) then
    begin
      {
        Aquí lo que desees hacer cuando se hayan cerrado
        todos los formularios.
      }
      ShowMessage('No more forms');
    end;
  end
end;

Al crear un formulario es necesario poner al principal como Owner y aumentar la cuenta de formularios:

Código Delphi [-]
with TFormularioHijo.Create(Self) do
  Show;

Inc(FormCount);

// Saludos
Responder Con Cita
  #5  
Antiguo 26-02-2009
Efren2006 Efren2006 is offline
Miembro
 
Registrado: feb 2006
Posts: 172
Poder: 19
Efren2006 Va por buen camino
Roman

Exactamente lo que necesitaba,

Un millon de Gracias
Responder Con Cita
  #6  
Antiguo 26-02-2009
caifan_0883 caifan_0883 is offline
Miembro
 
Registrado: nov 2005
Ubicación: Los Mochis, Mexico
Posts: 42
Poder: 0
caifan_0883 Va por buen camino
woow, ni se me habia ocurrido ese dato. Lo checare se ve interesante.

Saludos!!
__________________
Da conocimiento a los que no saben.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Form Principal Modal CarlosHernandez Varios 9 26-02-2009 02:47:01
Se cierra mi form sin que yo lo indique vlanka24 Varios 3 31-03-2008 22:06:57
Cerrar Form Hijo Gustavo Gowdak OOP 1 20-04-2007 16:49:40
Form hijo en barra de tareasº Yaco Varios 2 02-03-2005 21:45:25
TTreeView y Form principal silviodp OOP 3 18-05-2003 04:55:33


La franja horaria es GMT +2. Ahora son las 02:36:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi