- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 VirtualTreeView 组件检查节点是否可见(在屏幕上)?像这样的事情:
if not Grid.NodeVisible (Node) then
Grid.ScrollIntoView (Node, True);
如果节点不可见,则应居中,但如果可见,则应保持在原来位置。
请注意,我不是在谈论节点的可见标志,而是在谈论屏幕上的可见性。在我的例子中,IsVisible
属性始终返回 True
。
最佳答案
我认为最接近的是 GetDisplayRect()
方法:
Determines the client coordinates the given node covers, depending on scrolling, expand state etc. If the given node cannot be found (because one of its parents is collapsed or it is invisible) then an empty rectangle is returned.
不确定在节点“可见但不可见”的情况下它会返回什么 - 您可能必须编写辅助函数来检查 VT 客户端矩形内返回的矩形...
关于delphi - VirtualTreeView:检查节点是否可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9783344/
我有一个 VirtualTreeView,它最初隐藏了一些列(coVisible 不存在)。 启用它们(将 coVisible 添加到选项列)后,发生了一件奇怪的事情 - 列出现但与前一列重叠。我可以
如何配置虚拟 TreeView 以在用户按 TAB 时编辑下一列? +--------+-----------+ + |1 + |2 + +--------+----------
如何使用 VirtualTreeView 组件检查节点是否可见(在屏幕上)?像这样的事情: if not Grid.NodeVisible (Node) then Grid.ScrollInto
有没有办法使用virtualtreeview实现无限滚动? 我想一次加载一定数量的数据库记录,并在用户向下滚动时将它们添加到 virtualtreeview 中。但我不确定如何触发添加新行。 最佳答案
我正在尝试使用 TButton 创建节点。我创建节点和链接到节点的按钮。在事件 TVirtualStringTree.AfterCellPaint 上,我初始化按钮上的 BoundsRect。但按钮始
我有一个节点列表。我想添加拖放重新排列功能,但我不知道如何执行此操作。 我尝试使用 TVirtualStringTree 的 OnDragDrop 事件,但我无法弄清楚。我查看了文档,遗憾的是没有用于
我正在尝试在 TVirtualStringTree 中创建一个类似于以下内容的 View : 在上面的示例中,我展示了一些我想要达到的可能场景。 FolderA 具有粗体文本,其后的同一节点中的红色非
对于那些自己没有遇到过这个问题的人来说,这个问题似乎是显而易见的。 我需要处理 VTV 中的选择更改。我有一个简单的节点列表。我需要对所有当前选定的节点进行操作 用户点击节点; 用户按住 Shift/
我正在将一个节点从一个应用程序拖动到另一个应用程序。仅当我之前选择节点时它才能正常工作。这是因为我使用 GetNodeData(FocusedNode) 方法收集数据。 我想以某种方式在节点悬停时自动
我依靠 VirtualTreeView 来显示数千个项目,这些项目必然会偶尔发生变化,当发生这种情况时,树会被清理并再次填充。 排序是自动完成的(设置了 toAutoSort 标志),但这会产生递归初
我想将根添加到 VirtualTreeView http://www.delphi-gems.com/index.php/controls/virtual-treeview像这样的线程: functi
我正在使用 Cosmin Prund 提供的代码在这个post因为它符合我的需要,但是我经常遇到内存泄漏,我无法弄清楚如何释放它的节点 TNode包含 TObjectList 的对象反过来,最后一个也
我的应用程序将通过虚拟节点循环并检查它们的数据。我正在使用另一种表单来执行此操作,而不是包含 VirtualStringTree 的表单。 (我有我的理由;)) 我的问题是:如何将这些节点+它们的数据
我需要以编程方式在 VirtualTreeview 中选择特定节点,但我没有这样做找到任何方法来做到这一点。任何人都可以提供解决方案吗? 最佳答案 像这样选择节点: VirtualTree.Selec
是否有事件通知有关单击 VirtualTreeView 标题列复选框的事件?这是这张图片上突出显示的复选框: 最佳答案 为 OnHeaderClick 事件编写处理程序,并检查 HitInfo 参数的
我有包含 3 列的 VirtualTreeView(如果重要的话,列标题是不可见的)。 当我按 F2(启动编辑器的默认键)编辑节点时,它会编辑第 0 列中的节点。如何将其切换为编辑第 1 列中的节点?
我使用此代码来填充 VirtualStringTree 并允许重命名项目: //------------------------------------------------------------
我开始使用 VirtualTreeView,从所有网络信息和文档看来,VirtualTreeView 管理用户提供的数据的内存(如果有记录)。无需 New() 和 Dispose() 任何用户数据。只
使用VirtualTreeView时拖动操作默认为[doCopy,doMove]。移动操作由带有小框的箭头指针指示,复制操作由相同的指针图标指示,但旁边添加了 [+]。 默认情况下,VT 使用复制操作
我想更改现有虚拟(根)节点的单元格文本。我可以更改数据,但我必须刷新整个 TreeView,以便再次触发 GetText。是否有更简单的方法或可能的方法来仅刷新 1 个根节点而不是整个树? 感谢您的帮
我是一名优秀的程序员,十分优秀!