Очевидно, вы должны нарисовать CheckBoxes самостоятельно, когда OwnerData
включен (как упомянуто в статье, связанной с вопросом).
Таким образом, вы должны установить OwnerDraw
на True
(в дополнениена OwnerData
, эти два являются независимыми флагами!) и сами нарисуйте флажки в событии OnCustomDrawItem
.
Обновление:
Кажется, что это не такСовершенно верно, событие OnCustomDrawItem
также запускается в случае OwnerDraw = False
.
http://docwiki.embarcadero.com/VCL/XE2/en/ComCtrls.TListView.OnCustomDrawItem
Обновление 2:
Код, связанный вВопрос работает только тогда, когда OwnerDraw = False
и CheckBoxes = True
.
В противном случае VCL не резервирует место слева для рисования флажков.
Кстати: вам может быть лучше использовать более продвинутый компонент, такой как TVirtualTreeView от Майка Лишке.