PDA

Ver la Versión Completa : Ayuda MDI


ebreton31
28-09-2006, 21:41:29
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í:


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
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