Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: zusatzinformationen in tlistbox

  Alt 26. Apr 2009, 21:38
Das was Luckie da mit den ^ fabriziert hat, das ist IMHO zuviel des guten. ^^ Rest steht in der Hilfe :

Zitat:
Für dieses Beispiel werden eine TListView-, eine TImageList- und eine TComboBox-Komponente benötigt. Sie müssen vor dem Start des Projekts auf die Bilderliste doppelklicken und mehrere Bilder einfügen. Sie können dazu die Grafikdateien (*.BMP oder *.ICO) im Verzeichnis \IMAGES\ICONS verwenden.
In der Behandlungsroutine für das Ereignis OnCreate des Formulars wird für jedes Element in der Bilderliste ein Eintrag in die Listenansicht eingefügt. Es werden zwei Spalten erstellt, so dass eine Spaltenansicht verfügbar ist, wenn ViewStyle auf vsReport gesetzt wird.

In der Ereignisbehandlungsroutine werden dem Kombinationsfeld auch die vier möglichen TViewStyle-Konstanten zugewiesen. Dies könnte auch einfach in einer Folge von Ereignisbehandlungsroutinen für OnClick durchgeführt werden, etwa in der Form ListView1.ViewStyle := vsIcon.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  I: Integer;
  ListItem: TListItem;
  NewColumn: TListColumn;
begin
  // ListView-Eintrag für jede Grafik in Bilderliste erstellen
  with ListView1 do
  begin
    SmallImages := ImageList1;
    LargeImages := ImageList1;
    for I := 0 to ImageList1.Count - 1 do
    begin
      ListItem := Items.Add;
      Listitem.Caption := 'Image' + IntToStr(I);

      ListItem.ImageIndex := I;
    end;
    // Zwei Spalten für Anzeigemodus vsReport erstellen
    NewColumn := Columns.Add;
    NewColumn.Caption := 'Column 1';
    NewColumn := Columns.Add;
    NewColumn.Caption := 'Column 2';
    // Ansichtsstile und Konstanten zu Kombinationsfeld hinzufügen
    ComboBox1.Items.AddObject('vsIcon', TObject(vsIcon));
    ComboBox1.Items.AddObject('vsList', TObject(vsList));
    ComboBox1.Items.AddObject('vsReport', TObject(vsReport));

    ComboBox1.Items.AddObject('vsSmallIcon', TObject(vsSmallIcon));
    // Erstes Element in Kombinationsfeld anzeigen
    ComboBox1.ItemIndex := 0;
  end;
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
  with ComboBox1 do
    ListView1.ViewStyle := TViewStyle(Items.Objects[ItemIndex]);
end;
Gruß
Hansa
  Mit Zitat antworten Zitat