MFC ListControl 如何获取当前显示的行号

2025-05-19 01:45:16
推荐回答(1个)
回答1:

这个稍微麻烦,因为默认的GetCurSel()获取的是选中位置。

你这个,需要先

int nVertPos = GetDlgItem(IDC_LIST1)->GetScrollPos(SB_VERT);

获取滚动位置,然后获取全部条数,计算当前显示位置,这个位置可能还有误差(因为列表框显示高度也是一个参数)。

反正就是拿滚动位置计算百分比,然后估算出当前显示位置行号。