TListview
チェックボックスを使用して、リスト内の項目にイベントが発生したかどうかを示す場所があります。
チェックボックスのステータスを読み取って設定することはできますが、実際にやりたいことは、ユーザーがマウス クリックでステータスを変更できないようにすることです。
OnClickCheckを使用して状態を逆にTCheckList
設定できますchecked
同じことは a では機能しませんTListview
。それらの瞬間、チェックボックスがターゲットにされていることがわかりますがOnMouseDown
、クリックが通過するのを無効にすることはできません..
procedure TMF.ListViewMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
MyHitTest : THitTests;
begin
MyHitTest := (Sender as TListView).GetHitTestInfoAt(X,Y);
if htOnStateIcon in MyHitTest then
(Sender as TListView).OnMouseDown := nil;
end;
提案?