PDA

Ver la Versión Completa : Una duda sobre aplicasiones


android_beat
25-05-2005, 01:41:13
miren tengo una pregunta que me esta dando lata.

queria saber si hay alguna forma de hacer en un formilario un tipo como frames donde pueda abrir formularios diferentes dentro de esas frames y cambierlos por otros formularios segun mis necesidades? :confused:

dec
25-05-2005, 01:55:10
Hola,

¿Probaste a usar "paneles" (TPanel)?

android_beat
25-05-2005, 01:58:33
no disculpa como lo podria hacer?

no se si me explique quiero abrir como en una aplicasion mdi barios form pero como si estubieran cada uno en un frame

dec
25-05-2005, 02:36:12
Hola,

No es que no te explicaras bien; es que no hablaste para nada de una aplicación de "tipo MDI".

La verdad, no consigo entender qué quieres decir con "como si estuviera cada uno en un frame".

¿La aplicación es de "tipo MDI"? Si no lo es, ¿qué es lo que quieres decir con mostrar los formularios como si cada uno estuviera en un "frame"?

Para mostrar un formulario en un "TPanel" podrías hacer algo así:


procedure TForm1.Button1Click(Sender: TObject);
var
frm2: TForm2;
begin
frm2 := TForm2.Create(Self);
frm2.Parent := panel;
frm2.Align := alClient;
frm2.Show();
end;


Como se puede ver, el código de más arriba se sitúa en el evento "OnClick" de un botón situado en un formulario de nombre "Form1". Al pulsar en el botón se crea una instancia de un fomulario de nombre "Form2". A dicho formulario "Form2" le asignamos como "padre" un "TPanel" que está en "Form1". Acto seguido hacemos que el formulario ("Form2") ocupe todo el espacio del "TPanel" dando a la propiedad "Align" del formulario el valor "alClient". A continuación mostramos el formulario "Form2". Cabe añadir que a la propiedad "BorderStyle" del formulario "Form2" le hemos dado el valor "bsNone".

Según lo que yo entiendo que quieres hacer podrías poner dos "paneles" (TPanel) en un formulario en el lugar que te sea necesario y después utilizar estos dos "paneles" para mostrar un formulario en cada uno de ellos.

No puedes añadir un "frame" a un formulario si antes no creaste el propio "frame" que quieres añadir. Los "frames" están bien, por ejemplo, para "montar" una especie de plantilla. Me explico: creas un nuevo "frame" y añades un botón en el mismo (vale, es un ejemplo, nada más) y codificas lo que sea que tiene que llevar a cabo dicho botón cuando sea pulsado, por ejemplo, mostrar un mensaje al usuario.

Una vez hecho eso puedes añadir dicho "frame" a un formulario y a un segundo formulario y a un tercero, etc.... el código que consigue mostrar el mensaje al usuario de que antes hablamos estará en el "frame" y no en ninguno de los formularios a que se añade dicho "frame".

En definitiva, el uso del "frame" vale en este caso para no tener que repetir en cada formulario ni el botón ni el código que muestra el mensaje al usuario, con lo que esto implica a la hora de mantener dicho código, por ejemplo.

De todas maneras creo que me estoy yendo por los cerros de Úbeda... ¿lo que he dicho te sirve de algo o te he liado más que otra cosa?

Actualización: Más arriba dije "No es que no te explicaras bien; es que no hablaste para nada de una aplicación de "tipo MDI"... Bueno. Tampoco tenías que haberlo hecho. En un mensaje posterior tuyo quieres explicarte diciendo que lo que pretendes hacer es "como una aplicación MDI", esto es, que no tenías que haberte referido a ello en tu primer mensaje, y así me disculpo, porque tal vez pecara un poco de prepotente, cuando soy el menos indicado: valga que no era esa mi intención.

android_beat
25-05-2005, 03:00:26
si ya lo pude hacer muchas gracias