首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

ListView的Checked有关问题

2012-02-13 
ListView的Checked问题在点击了ListView的某行前面的checkbox时会触发这个OnClick事件,但是不会改变Select

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;    }} 

热点排行