Tema: Ventanas Mdi
Ver Mensaje Individual
  #4  
Antiguo 03-12-2011
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Reputación: 19
jcarteagaf Va por buen camino
Ventanas MDI

Maria_Mar

Espero este codigo te sirva

Código Delphi [-]
Procedure ShowFormMDI(TfrmClass: TFormClass; bVariasInstancias: Boolean);
var
  i: smallint;
  F: TForm;
begin
  if not bVariasInstancias then
    for i := Application.MainForm.MDIChildCount - 1 downto 0 do
    begin
      F := Application.MainForm.MDIChildren[i];
      if F.ClassType = TfrmClass then
      begin
        if F.WindowState = wsMinimized then
          F.WindowState := wsNormal;
        F.BringToFront;
        exit;
      end;
    end;
  with TfrmClass.Create(Application) do
    Show;
end;

Puedes colocar esa funcion en tu pantalla desde la cual llamas a tus formas hijas o en una unidad de funciones.

La forma de utilizarla:


Código Delphi [-]
uses  uFormaProveedores, uFormaClientes;

....


 // Llama a la forma de Proveedores Hija y solo permite que se muestre una sola vez posteriores llamadas activaran la forma hija ya creada
ShowFormMDI(TFormaProveedores, false); 

// Llama a la forma Clientes y permite crear varias instancias de la misma
ShowFormMDI(TFormaClients,true);
...

Espero te sirva

Saludos

J.C.
Responder Con Cita