如何使VirtualTreeView的Node允许TMemo像多线键盘输入而不是像默认行为一样的TEdit?

时间:2017-04-12 13:26:45

标签: delphi delphi-xe5

我正在修改VirtualTreeView的git文件夹(Virtual-TreeView-master \ Demos \ Advanced)附带的MultilineDemo。我刚刚删除了多行“显示”代码并将代码添加到VST的onClick处理程序中,以使点击的节点可编辑。

我想将多行文本输入到像TMemo这样的节点中,但输入或shift +回车键按下完成编辑。见下图。我无法在VST属性面板中找到用于修改默认行为的节点的按键事件。我的目标是拥有一个类似控件的树,其节点能够进行多行输入

我认为我不必在当前的应用程序中发布任何代码。

Default TEdit like behavior of a node in Virtual Tree View

1 个答案:

答案 0 :(得分:2)

您需要实现自己的IVTEditLink编辑器,创建备忘录控件并处理其按键事件。请参阅/Demos/Advanced/Editors.pas单元了解vtMemo类型的值。它几乎可以满足您的需求。它显示了如何将备忘录控件创建为节点编辑器以及如何处理编辑器的控制键向下事件(在本例中为EditKeyDown方法)。