Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Botones de Accion Formulario MDI (https://www.clubdelphi.com/foros/showthread.php?t=85960)

jilc1111 30-05-2014 21:53:02

Botones de Accion Formulario MDI
 
Buenas tardes.

Estoy desarrollando una aplicacion MDI en Delphi 2010, en cada formulario MDIChild he creado procedimientos con el mismo nombre. Ejemplo:
Código Delphi [-]
Procedure Isertar;
Procedure Editar;
Procedure Borrar;

Quiero que desde el Formulario MDI(Padre) al presionar un botón se ejecute en el MDIChild la acción correspondiente haciendo uso del comando ActiveMDIDhild sin importar cual de los Formularios MDIChild sea el que se encuentra activo. Ejemplo:
Código Delphi [-]
procedure FrmPadre.btnInsertarClick;
begin
   ActiveMDIChild.Insertar;
end;

Espero haber sido lo suficientemente claro y me puedan ayudar. De ante mano muchas gracias.

roman 30-05-2014 22:06:30

Lo que yo haría es establecer un formulario MDI base con los métodos que mencionas y del cual hereden los demás. Entonces, en tu código del formulario principal pondrías algo como esto:

Código Delphi [-]
procedure FrmPadre.btnInsertarClick;
begin
   (ActiveMDIChild as TBaseChild).Insertar;
end;

// Saludos

jilc1111 31-05-2014 00:03:14

Hola Roman
 
Muchas gracias por tu respuesta.

Lo resolví creando los botones en el MDI Padre sin código en el evento OnClick y en el evento FormActivate de cada Formulario MDIChild asigno al evento OnClick de cada botón del Padre el evento del Child que quiero que ejecute.

Ejemplo MDI Child:

Código Delphi [-]
procedure TFormChild1.Mensaje;
begin
  ShowMessage(Self.Caption);
end;

procedure TFormChild1.FormActivate(Sender: TObject);
begin
  MainForm.btn1.OnClick := Self.Mensaje;
end;

Espero que sirva de guía para alguien mas con el mismo dilema.


Saludos.


La franja horaria es GMT +2. Ahora son las 10:39:16.

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