我的对话框上有简单的CTreeCtrl。它只有两个层次的深度,如下所示:
想象一下,用户单击“第三”节点使其变为选中状态,然后他按下对话框中的按钮并执行下一个代码:
// m_tree is a dialog-based class member of CTreeCtrl type
HTREEITEM hItem = m_tree.GetSelectedItem();
if (hItem)
{
hItem = m_tree.GetNextSiblingItem(hItem);
if (hItem)
{
m_tree.SelectItem(hItem);
}
}
在该hItem之后,在我的示例中该标签为“第四”,在树控件窗口的底部变为可见:
如何强制树控件不向下滚动到所选项目?我只想选择它,仅此而已。
最佳答案
您可以尝试在先前选择的项目上调用EnsureVisible。但是,这可能会闪烁,因此您可以在进行新选择和“EnsureVisible”之前尝试使用SetRedraw(FASLE)。