我知道函数EnsureVisible(HTREEITEM hItem)
可以通过滚动hItem
控件的栏来显示CTreeCtrl
。但有时hItem
显示在控件的顶部旁边或旁边,这对用户来说是如此不友好。我希望项目显示在控件的中间。有什么好的解决方案吗?
答案 0 :(得分:4)
您必须手动滚动CTreeCtrl
。调用CTreeCtrl::EnsureVisible()
使项目可见,然后调用CTreeCtrl::GetItemRect()
以检索项目的当前坐标,然后调用CWnd::ScrollWindow/Ex()
指定必要的偏移量以将项目放在任何您想要的位置。