Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Определить нажатие на CheckBox в TListView

01.01.2007
procedure TForm1.ListView1MouseUp(Sender: TObject; Button: TMouseButton;
   
Shift: TShiftState; X, Y: Integer);
 
var
   
Item: TListItem;
   
HitTest: THitTests;
 
begin
   
// Welchem Item gehцrt die CheckBox
 
// Which item belongs to the checkbox
 
Item := ListView1.GetItemAt(x, y);
 
   
// Was wurde vom Item genau angeklickt
 
// What kind of thing was hit on the item
 
HitTest := ListView1.GetHitTestInfoAt(x, y);
 
   
// Falls ein Item angeklickt wurde und davon die Checkbox
 
// If an Item was hit and exactly his checkbox
 
if (Item <> nil) and (HitTest = [htOnStateIcon]) then
   
begin
     
////////////////////////////////
   
// Hier das OnCheck behandeln //
   
// Handle OnCheck here        //
   
////////////////////////////////
   
// Beispiel
   
// Example
   
//
   
//  if Item.Checked = False then
   
//  begin
   
//    if (Item.Index = 0) or (ListView1.Items.Item[Item.Index - 1].Checked = True) then
   
//      Item.Checked := True else Item.Checked := False;
   
//  end else
   
//    begin
   
//    if (Item.Index = ListView1.Items.Count - 1) or (ListView1.Items.Item[Item.Index + 1].Checked = False) then Item.Checked := False else
   
//      Item.Checked := True;
   
//  end;
 
end;
 
end;

Взято с сайта: https://www.swissdelphicenter.ch