ViewStyleProperty (Delphi)
Description
This example requires a TListView, a TImageList, and a TComboBox. You will need to double-click the image list and add several images to the image list prior to running the project. You can use *.bmp or *.ico files from the \Images\Icons directory. During the form's OnCreate event handler, items for the List View control are created for each image in the Image List and the ImageIndex is assigned the number of the image within the ImageList. Two columns are created so that when ViewStyle is vsReport, you will have columns to view. Also, within the form's OnCreate event handler, assign the ComboBox each of the four TViewStyle constants to the Items' Objects property. You could also simply code this within a series of OnClick event handlers; for example:
ListView1.->ViewStyle := vsIcon
Code
procedure TComboForm.FormCreate(Sender: TObject);
var
I: Integer;
ListItem: TListItem;
NewColumn: TListColumn;
begin
Col2Array[0]:= 'Documentation for Image0.';
Col2Array[1]:= 'Documentation for Image1.';
Col2Array[2]:= 'Documentation for Image2.';
// Create a ListView item for each image in the ImageList.
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;
Listitem.SubItems.Add(Col2Array[I]);
end;
// Create two columns to show during viewing as vsReport.
NewColumn := Columns.Add;
NewColumn.Caption := 'Column 1';
NewColumn.Width := 200;
NewColumn := Columns.Add;
NewColumn.Caption := 'Column 2';
NewColumn.Width := 200;
// Add View styles and constants to the Combo Box.
ComboBox1.Items.AddObject('vsIcon', TObject(vsIcon));
ComboBox1.Items.AddObject('vsList', TObject(vsList));
ComboBox1.Items.AddObject('vsReport', TObject(vsReport));
ComboBox1.Items.AddObject(
'vsSmallIcon', TObject(vsSmallIcon));
// Display the first item in the Combo Box.
ComboBox1.ItemIndex := 0;
end;
end;
procedure TComboForm.ComboBox1Click(Sender: TObject);
begin
with ComboBox1 do
ListView1.ViewStyle := TViewStyle(Items.Objects[ItemIndex]);
end;
Uses
- Vcl.ComCtrls.TCustomListView.ViewStyle ( fr | de | ja )
- Vcl.ComCtrls.TCustomListView.Column ( fr | de | ja )
- Vcl.ComCtrls.TCustomListView.Items ( fr | de | ja )
- Vcl.ComCtrls.TCustomListView.SmallImages ( fr | de | ja )
- Vcl.ComCtrls.TCustomListView.LargeImages ( fr | de | ja )
- Vcl.ComCtrls.TListItem.ImageIndex ( fr | de | ja )
- System.Classes.TStrings.AddObject ( fr | de | ja )
- System.Classes.TStrings.Objects ( fr | de | ja )
- Vcl.StdCtrls.TCustomCombo.Items ( fr | de | ja )
- Vcl.ImgList.TCustomImageList.GetCount ( fr | de | ja )
- Vcl.ComCtrls.TViewStyle ( fr | de | ja )