Ver Mensaje Individual
  #3  
Antiguo 21-04-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
elrayo76,

Cita:
Empezado por elrayo76
...Quisiera saber si existe la posibilidad de poner dos o mas lineas por cada item dentro de un ListBox...


Una alternativa a N líneas por item en un TListBox, es asociar la data que se requiera a cada item dentro del mismo componente.

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  SL : TStringList;
  L : TList;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
   L := TList.Create;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   i,j : Integer;

begin

   Randomize;

   for i := 1 to 5 do
   begin
      SL := TStringList.Create;
      for j := 1 to 5 do
         SL.Add('Item-' + IntToStr(i) + ' Data-' + IntToStr(Random(100)));

      L.Add(SL);

      ListBox1.AddItem('Item-' + IntToStr(i),SL);
   end;

end;

procedure TForm1.ListBox1Click(Sender: TObject);
var
   AuxSL : TStringList;
   i : Integer;

begin

   AuxSL := TStringList.Create;
   AuxSL.Assign(TStringList(ListBox1.Items.Objects[ListBox1.ItemIndex]));

   Memo1.Clear;
   for i := 0 to AuxSL.Count - 1 do
      Memo1.Lines.Add(AuxSL.Strings[i]);

   AuxSL.Free;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
   i : Integer;

begin

   Action := caFree;

   for i := 0 to L.Count - 1 do
      Dispose(L.Items[i]);

   L.Free;

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Permite asociar un TStringList a cada Item de un TListbox, como se muestra en la siguiente imagen:



Espero sea útil

Nelson.
Responder Con Cita