Foros Club Delphi

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

ebreton31 28-09-2006 21:41:29

Ayuda MDI
 
que tal alguien me puede ayudar? estoy haciendo una aplicacion MDI es la primera vez que lo hago, tengo un menu con varias opciones en cada opcion quiero que se cree una ventana pero que si ya hay una ventana hija esta se destruya para que de opcion a la nueva ventana y tambien que si esa ventana ya esta creada ya no se vuelva a crear al pinchar otra ves al seleccionar ese manu. estoy utilizando las librerias JEDI y el componente JVOutLookBar gracias :confused:

maeyanes 28-09-2006 21:57:27

Estás haciendo una MDI pero quieres que solo una ventana esté visible en determinado momento?

En ese caso no necesitas que sea MDI, podrías hacer un diseño con un TPanel que sea el contenedor de las ventanas hijas, las cuales las puedes configurar que no tengan borde y estén alineados al cliente. La propiedad Parent de estas formas sería el TPanel contenedor.

Algo así:

Código Delphi [-]
TForm1 = class(TForm)
  // Componentes y métodos
private
  FCurrentForm: TForm;
end;

//---------

procedure TForm1.ShowForm(ANewFormClass: TFormClass);
begin
  if not Assigned(FCurrentForm) or (FCurrentForm.ClassType <> ANewFormClass) then
  begin
    if Assigned(FCurrentForm) then
      FCurrentForm.Free;
    FCurrentForm := ANewFormClass.Create(nil);
    FCurrentForm.Parent := PanelContenedor;
    FCurrentForm.Show
  end
end;

// Llamando ShowForm:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowForm(TForm2)
end;

Esto lo hice de memoria y solo con fines de demostración, pero lo podrías usar como punto de partida.


Saludos...

JXJ 28-09-2006 22:09:23

ya revisate el ejemplo de las MDICHIld
en la opcion File -> New -> Other
debe de estar la opcion, MDI application
en alguna de las opciones.

no termino de captar bien tu idea.

¿pero es necesario que todas las ventanas sean MDI ?
o bien podrias usar ventanas modales.

ebreton31 29-09-2006 00:05:31

ayuda MDI
 
Si necesito que todas las formas sean mdi tengo una forma mdi madre y un componente JEDI en ese componente hay botones y lo que quiero que aparecaca una ventada por cada boton pero si ya hay una creada esta se destruya o se cierre


La franja horaria es GMT +2. Ahora son las 01:10:38.

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