|
在列表没有滚动条,视口原点XY为0的情况下,绑定的元素坐标正常
有滚动条,且滚动到左边或者下边,绑定的元素坐标就会偏移,可能是没有加上XSView_GetHViewPos或者XSView_GetVViewPos的值有关,目前我是在自绘列表项中这样处理的
...
itemBindEle_ itembindele; //项绑定元素信息
for( int i=0;XList_GetItemBindEleInfo( hEle, pDrawItem->index, pDrawItem->subIndex, &itembindele, i );i++ )
{
rect = pDrawItem->rect;
rect.left = rect.left + (-XSView_GetHViewPos(hEle)) + itembindele.left; //X坐标需要修正,因为可能水平拖动了
rect.right = rect.left + itembindele.width;
rect.top = rect.top + (-XSView_GetVViewPos(hEle)) + itembindele.top; //Y坐标需要修正,因为可能水平拖动了
rect.bottom = rect.top + itembindele.height;
XEle_SetRect( itembindele.hEle, &rect );
}
...
希望有帮助
还有XList_GetItemBindEleCount()函数在没有绑定项的时候会出错误提示,这个不应该吧,应该直接返回0呀,我用了其他方法越过该错误,希望这个也能得到修正
谢谢!!
|
|