Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Crear InspectorBar TMS por código (https://www.clubdelphi.com/foros/showthread.php?t=36741)

Deiv 22-10-2006 17:06:17

Crear InspectorBar TMS por código
 
Hola,
¿Alguien ha utilizado el InspectorBar de TMS?

Tengo un Form donde está un ComboBox que tiene a elección dos items: Autos y Compus, Necesito crear por código una Barra de InspectorBar, sus Panels e items todo por código, y darle eventos a los items. Al seleccionar un item del ComboBox debe crearse un Form nuevo con un InspectorBar (-x), con sus Panels e items, como abajo indico:

InspectorBar-x
Automóviles (Panel[0])
Toyota (Item[0])
Nissan (Item[1])
Suzuki (Item[2])

Repuestos (Panel[1])
motor (Item[0])
batería (Item[1])
corona (Panel[2])

al cerrar el form debe destruir todo, y al seleccionar otro item del ComboBox crea nuevamente el Form y otra vez el InspectorBar (-y) con diferentes Panels e items:

InspectorBar-y
Computadoras (Panel[0])
IBM (Item[0])
Mac (Item[1])
Delux (Item[2])

Accesorios (Panel[1])
RAM (Item[0])
HDD (Item[1])
CD ROM (Item[2])

Yo estaba empezando algo así, más no puedo avanzar:

Código Delphi [-]
 
MiBar := TInspectorBar.Create(Self);
MiBar.Parent := Self;
MiBar.Panels.Add;
MiBar.Panels[0].Caption:='Automóviles';

Si pudieran orientarme por favor.

Bicho 23-10-2006 08:57:57

Cita:

Empezado por Deiv
Yo estaba empezando algo así, más no puedo avanzar

¿Y que problema tienes?, ¿por qué no puedes avanzar más?

Lo que has puesto parece estar bien.

Yo lo que haría sería más o menos lo que sigue:
- Al seleccionar un Item del combobox poner algo así:

Código Delphi [-]
procedure TForm1.ComboBox1Select(Sender: TObject);
var form2 : Tform;
     MiBar : TInspectorBar;
begin
   try
      //creas el form, como seguro que sabes hacer y luego la barra
     MiBar := TInspectorBar.Create(Self);
     MiBar.Parent := Form2; //El parent debe ser el form que has creado
     MiBar.Panels.Add;
     MiBar.Panels[0].Caption:='Automóviles';
     //... continuas creando los paneles y al final muestras el form

     Form2.ShowModal;
   finally //al ser el modal el form, puedes controlar el cierre y eliminar todos los objetos
      MiBar.Free;
      Form2.Free;
   end;
end;

Se puede mejorar seguro, pero es una idea básica, que espero te sirva.

Saludos

Deiv 23-10-2006 15:19:26

Sigo intentando y mejorando mi código, pero ahora me encuentro con el problema de la creación de los Items:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
   i: integer;
   MiBar:TInspectorBar;
const
   MisPanels : array [0..2] of String = ('Automóviles','Repuestos','Otros');
   MisItems : array [0..2] of String = ('Toyota','Nissan','Suzuki');

begin
   MiBar := TInspectorBar.Create(Self);
   MiBar.Parent := Self;
   MiBar.Align:= alRight;
   for i:= 0 to 2 do
     begin
       MiBar.Panels.Add;
       MiBar.Panels[i].Caption :=MisPanels[i]
     end;

   for i:= 0 to 2 do
     begin
       MiBar.Panels[0].CreateItems;// Aquí me lanza error!!
       MiBar.Panels[0].Items[i].Caption:=MisItems[i];
     end;
end;

end.


La franja horaria es GMT +2. Ahora son las 09:45: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