Ver Mensaje Individual
  #4  
Antiguo 14-08-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 26
maeyanes Va por buen camino
Si todas tus formas MDIChild son iguales (por ejemplo, archivos de texto para editar), puedes usar el mismo evento para todos los botones.

Si tus formas MDIChild varian entre si (varias formas del tipo fsMDIChild), necesitas una forma de saber cual es exactamente la forma que vas a crear y mostrar. Esto lo puedes lograr con un arreglo conteniendo las clases de las formas:

Código Delphi [-]
cont
  MDIChildrenClass: array [0..2] of TFormClass = (TMDIChild1, TMDIChild2, TMDIChild3);

Luego a cada botón en su propiedad Tag le pones un número, el cual va a representar el índice de la forma en el arreglo de clases. Luego creas un evento OnClick y se lo asignas a todos los botones y en el código pones algo como:

Código Delphi [-]
procedure TMDIForm.AllButtonClick(Sender: TObject);
var
  NewMDIForm: TForm;

begin
  Self.ActiveMDIChild.Close;
  NewMDIForm := MDIChildrenClass[TButton(Sender).Tag].Create(Application)
end;

Ya con esto deberías obtener la forma correcta de acuerdo al botón que oprimas. Claro que existen varias formas de lograr esto, pero es la que se me ocurrió de momento.


Saludos...
Responder Con Cita