Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 如何为显示为进度条的网格单元激活在位编辑器?_Delphi_Progress Bar_Inplace Editing - Fatal编程技术网

Delphi 如何为显示为进度条的网格单元激活在位编辑器?

Delphi 如何为显示为进度条的网格单元激活在位编辑器?,delphi,progress-bar,inplace-editing,Delphi,Progress Bar,Inplace Editing,my DBTreeListView中的一个单元格绑定到作为进度条的存储库项 我希望能够通过单击此单元格编辑显示的进度。在这个阶段,我的应用程序应该将其单元格更改为另一个存储库项:一个文本字段,我可以在其中插入一个值。一旦焦点更改为另一个单元格,我的进度条将再次显示,并显示一个新值。我该怎么做 DBTreeListView具有列事件OnGetEditingProperty和OnGetEditingProperties。我可能会使用其中的一个(或两个),但我想不出任何好主意。这可能很简单。你应该点击

my DBTreeListView中的一个单元格绑定到作为进度条的存储库项

我希望能够通过单击此单元格编辑显示的进度。在这个阶段,我的应用程序应该将其单元格更改为另一个存储库项:一个文本字段,我可以在其中插入一个值。一旦焦点更改为另一个单元格,我的进度条将再次显示,并显示一个新值。我该怎么做


DBTreeListView具有列事件
OnGetEditingProperty
OnGetEditingProperties
。我可能会使用其中的一个(或两个),但我想不出任何好主意。

这可能很简单。你应该点击这个进度条并在上面显示编辑器。您需要在另一个地方处理滚动和单击以摆脱编辑器。如果滚动太远,编辑器应该隐藏

步骤:

  • 为进度创建隐藏编辑器
  • 树视图项的句柄OnClick
  • 显示编辑器并设置焦点
  • 在编辑器上输入(或制表符)保存进度信息
  • 单击表单或树视图的另一部分-隐藏编辑器(保存/放弃策略指定的更改)
  • 在滚动树视图上移动编辑器,当父对象的边界不与编辑器的边界重叠时,隐藏它
  • 致以最良好的祝愿,
    Vladimir

    请澄清组件DBTreeListView,它是标准的TtTreeView还是某个第三方组件?投票关闭,因为控件TDBTreeListView不存在(根据Google和Bing)。DBTreeView确实作为虚拟TreeView的子级存在。