Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ventanas Mdi (https://www.clubdelphi.com/foros/showthread.php?t=76847)

MARIA_MAR 30-11-2011 18:57:07

Ventanas Mdi
 
Buenas tardes,
Soy nueva en el foro y nueva en Delphi. Estoy haciendo una aplicacion MDI con una ventana padre y varias hijas por ejemplo una MDIChild para la ficha de clientes , otra para proveedores, etc..
Cada vez que abro una de ellas necesito que me avise si ya existe otra del mismo tipo abierta, ¿ como distingo si las ventanas que ya hay abiertas corresponden a clientes ó a proveedores ?

Gracias.

ecfisa 30-11-2011 19:23:14

Hola MARIA_MAR y bienvenida a Club Delphi. :)

Como es habitual hacer con los nuevos miembros te invito a que leas nuestra guía de estilo

En cuanto a tu pregunta, revisá estos enlaces:
Saludos.

MARIA_MAR 02-12-2011 12:23:05

Gracias Ecfisa,

Ya habia mirado alguno de estos enlaces pero no el adecuado, me ha sido de mucha ayuda.

Saludos

jcarteagaf 03-12-2011 13:16:14

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.


La franja horaria es GMT +2. Ahora son las 11:59:52.

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