首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VirtualTreeView中IVTEditLink编辑器的多个组件

VirtualTreeView中IVTEditLink编辑器的多个组件
EN

Stack Overflow用户
提问于 2012-01-08 00:45:55
回答 2查看 1.3K关注 0票数 3

有没有办法将多个组件添加到VirtualTreeView的IVTEditLink编辑器中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-08 22:32:25

我将使用一个独立的窗体作为编辑器容器,并将IVTEditLink概念用于此目的,因为:

  • 如果您使用TPanel作为编辑器组件容器,那么您应该考虑选择该代码的正确代码;带有许多字段的编辑器可能会重叠虚拟树的边界矩形甚至窗体的边界
  • 在窗体中实现OnDeactivate事件要比在窗体中实现TPanel事件容易得多component
  • you可以完全保留< Parent >D12TPanel>概念,因为它在这里失去了意义;<

>D13>是为特定节点和列编辑器设计的,而不是针对整个节点;您只需在OnEditing事件发生时或双击事件时打开窗体编辑器即可。

但是,如果我没有说服您放弃使用IVTEditLink概念来编辑多个列的节点,那么您可以查看this example,了解作为IVTEditLink接口编辑器的表单的实现。

票数 7
EN

Stack Overflow用户

发布于 2012-01-08 20:39:30

只需在OnCreateEditor事件中创建自定义编辑器。因为此事件提供了Column参数,所以可以为不同的列创建不同的编辑器。例如:

代码语言:javascript
复制
procedure TForm1.OnCreateEditor(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Column: TColumnIndex; out EditLink: IVTEditLink);
begin
  case Column of
    0: EditLink := TColorEditLink.Create;
    1: EditLink := TFontEditLink.Create;
  //etc..
  end;
end;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8771294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档