如何集中显示CTreeCtrl项目?

时间:2014-02-27 06:14:38

标签: c++ windows user-interface mfc

我知道函数EnsureVisible(HTREEITEM hItem)可以通过滚动hItem控件的栏来显示CTreeCtrl。但有时hItem显示在控件的顶部旁边或旁边,这对用户来说是如此不友好。我希望项目显示在控件的中间。有什么好的解决方案吗?

1 个答案:

答案 0 :(得分:4)

您必须手动滚动CTreeCtrl。调用CTreeCtrl::EnsureVisible()使项目可见,然后调用CTreeCtrl::GetItemRect()以检索项目的当前坐标,然后调用CWnd::ScrollWindow/Ex()指定必要的偏移量以将项目放在任何您想要的位置。