有没有办法滚动 ListView (在报告 View 中)以便特定项目位于顶部?我能找到的最接近的是 ListView_EnsureVisible,但它只能确保项目可见 - 它不允许精细控制项目出现的位置。
最佳答案
ListView_EnsureVisible() 滚动 ListView 以使项目可见,但它通常(但不总是)将项目放置在 ListView 的中间附近。要让item出现在顶部,先调用ListView_EnsureVisible(),再调用ListView_GetTopIndex()确定最上面可见的item,然后用ListView_GetItemIndexRect()获取item的高度和位置,然后计算它们之间的垂直偏移,最后调用 ListView_Scroll()。我在自己的一个项目中这样做,效果很好。
关于c++ - 将 ListView 控件滚动到特定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532423/