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;