我有一個TListview
我想使用複選框來指示事件是否發生在列表中的項目。忽略點擊TListView複選框
我可以讀取並設置複選框狀態,但我真正想要做的是禁用用戶通過單擊鼠標來更改狀態的功能。
對於TCheckList
我可以checked
狀態設置爲使用OnClickCheck
同爲一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;
建議?
是否將TListView的Enabled屬性設置爲false幫助? –
沒有。我需要單獨點擊項目(正在使用'Rowselect'),只需複選框的狀態在我的控制下 –
您正在與此係統打交道。它不想讓你這樣做。在你的位置上,我會尋找一個不涉及內置複選框的解決方案。 –