ListView的Checked问题
在点击了ListView的某行前面的checkbox时会触发这个OnClick事件,但是不会改变Selected的值,也就是选择某行checkbox并不和这个Selected关联起来,那如何把这两个关联起来呢,在多选的情况下。原本我想点击某行这个前面的box就勾上了,再点击就相反,但是如果先点击另外某行的box时却发现原来那个Selected指向那行也跟着变了,就是想解决这种情况,谢谢各位了
[解决办法]
在ListView的OnMouseDown事件中处理:
void __fastcall TForm1::ListView1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y){ THitTests ht = ListView1->GetHitTestInfoAt(X, Y); if (ht.Contains(htOnStateIcon)) { TListItem *li = ListView1->GetItemAt(X, Y); if (li) li->Selected = li->Checked; }}