Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Areas de Trabajo Variables (https://www.clubdelphi.com/foros/showthread.php?t=11716)

jsc 23-06-2004 09:32:44

Areas de Trabajo Variables
 
Hola Foro,

Me gustaría saber cómo podría crear un área de trabajo que pudiera variar su contenido en función al botón que se pulsara, es decir, tener de alguna manera un Form Fijo donde existan estos botones, y en función de cuál de ellos se pulse, poder modificar el aspecto de lo que mostraríamos en el otro ( sin tener que crear un Form Diferente por cada Botón ). Por poner un ejemplo, tipo Microsoft Outlook Express [ Si pulsas pestaña tareas el contenido de la ventana varía sobre la Bandeja de Entrada y así sucesivamente ]

Desde ya, muchas gracias por todo

delphi.com.ar 23-06-2004 15:41:45

Puedes tener varios forms, con el contenido (o frames)... y crearlos a asignar el parent de este a algún contenedor sobre tu form padre.

Saludos!

Lepe 23-06-2004 18:47:14

Cita:

Empezado por jsc
( sin tener que crear un Form Diferente por cada Botón ). Por poner un ejemplo, tipo Microsoft Outlook Express [ Si pulsas pestaña tareas el contenido de la ventana varía sobre la Bandeja de Entrada y así sucesivamente ]

Ampliando la propuesta de delphi.com.ar

Puedes crear un mismo Formulario o Tframe con una propiedad llamada Carpeta (por ejemplo), de tal forma que cuando se modifique esa propiedad, el Tframe o el Form, se encargue de liberar lo que esté mostrando y crear lo que deseas ver. De esta forma, unicamente en cada boton tendrías que poner: Frame1.carpeta := cEntrada; y con esto se libera la bandeja que se estuviese viendo y se cargaria la bandeja de entrada.


Código Delphi [-]
//en el Frame:
 type TCarpetas = (cNone, cEntrada, cSalida, cBorrador);
  ...
   FCarpeta : Tcarpetas;
   procedure SetCarpeta(Value:TCarpetas);
 public 
   property  Carpeta : TCarpetas read FCarpeta Write SetCarpeta default cNone;

 end;

 function Setcarpeta(Value :Tcarpetas);
begin
  if Value =  Fcarpeta then Exit; // es una opcion... no la que se debe...
  if Fcarpeta <> cNone then Liberar el anterior
  Fcarpeta := Value;
  Cargar nuevo tipo a Mostrar

En este caso que pongo, bandeja de entrada y Salida de Outlook, el tipo de informacion a presentar es identica... no necesitas hacer varios frames o formularios, en otro caso si lo necesitarias.

Saludos y espero te sirva de punto de partida


La franja horaria es GMT +2. Ahora son las 04:58:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi