Hallo,
ich hoffe, das Problem ist noch aktuell:
a) Die Images kannst Du anzeigen, wenn Du im OnData-Ereignis dem Item den ImageIndex zuweist:
Delphi-Quellcode:
procedure TForm1.ListView1Data(Sender:TObject; Item:TListItem);
var myData;
begin
if (Item=nil) then Exit;
// Deine Daten aus der virtuellen Liste
// myData:=
with Item do
begin
Caption:=[Irgendetwas];
ImageIndex:=0;
end; // with
end;
b) Die Anzeige der CheckBoxen ist schon etwas aufwendiger:
Dazu musst Du das
OnAdvancedCustomDrawItem benutzen.
Delphi-Quellcode:
uses
ComCtrl;
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender:Tobject; ....);
const
CtrlState:
array[Boolean]
of Integer=(DFCS_BUTTONCHECK, DFCS_BUTTONCHECK
or DFCS_CHECKED);
var r, dr:TRect;
myData;
begin
if (Item=nil)
then Exit;
// Deine Daten aus der virtuellen Liste, in der der Status des Eintrages stehen muss
// myData:=
with Sender.Canvas
do
begin
dr:=Item.DisplayRect(drBounds);
r:=Bounds(dr.Left+1, dr.Top+1, 13, 13);
DrawFrameControl(
Handle, r, DFC_BUTTON, CtrlState[myData.CheckStatus]);
end;
// with
end;
[edit]Fehler, auf den jim_raynor im Post weiter unter hingewiesen hat, beseitigt.[/edit]