Hallo,
dazu musst Du das Ereignis OnMouseDown der Listview benutzen.
Delphi-Quellcode:
procedure TForm1.ListView1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var aItem :TListItem;
ht :THitTests;
myData:;
begin
aItem:=ListView1.GetItemAt(x, y);
ht:=ListView1.GetHitTestInfoAt(x, y);
if (aItem<>nil) and (ht=[htOnStateIcon]) then
begin
// Deine Daten aus der virtuellen Liste
// myData:=
myData.CheckStatus:=not myData.CheckStatus;
end;
end;