【发布时间】:2014-03-30 09:48:42
【问题描述】:
我知道函数EnsureVisible(HTREEITEM hItem) 可以通过滚动CTreeCtrl 控件的栏来显示hItem。但有时hItem要么显示在控件的顶部旁边,要么显示在控件的底部旁边,这对用户来说非常不友好。我希望该项目显示在控件的中间。有什么好的解决办法吗?
【问题讨论】:
标签: c++ windows user-interface mfc
我知道函数EnsureVisible(HTREEITEM hItem) 可以通过滚动CTreeCtrl 控件的栏来显示hItem。但有时hItem要么显示在控件的顶部旁边,要么显示在控件的底部旁边,这对用户来说非常不友好。我希望该项目显示在控件的中间。有什么好的解决办法吗?
【问题讨论】:
标签: c++ windows user-interface mfc
您必须手动滚动CTreeCtrl。调用CTreeCtrl::EnsureVisible() 使项目可见,然后调用CTreeCtrl::GetItemRect() 检索项目的当前坐标,然后调用CWnd::ScrollWindow/Ex() 指定必要的偏移量以将项目放置在您想要的任何位置。
【讨论】: