读书人

ListView的Checked有关问题

发布时间: 2012-02-13 17:20:26 作者: rapoo

ListView的Checked问题
在点击了ListView的某行前面的checkbox时会触发这个OnClick事件,但是不会改变Selected的值,也就是选择某行checkbox并不和这个Selected关联起来,那如何把这两个关联起来呢,在多选的情况下。原本我想点击某行这个前面的box就勾上了,再点击就相反,但是如果先点击另外某行的box时却发现原来那个Selected指向那行也跟着变了,就是想解决这种情况,谢谢各位了

[解决办法]
在ListView的OnMouseDown事件中处理:

C/C++ code
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;    }} 

读书人网 >C++ Builder

热点推荐