如何为显示为进度条的网格单元激活就地编辑器?
Posted
技术标签:
【中文标题】如何为显示为进度条的网格单元激活就地编辑器?【英文标题】:How do I activate an in-place editor for a grid cell that displays as a progress bar? 【发布时间】:2012-08-31 10:05:56 【问题描述】:我的 DBTreeListView 中的一个单元格绑定到作为进度条的存储库项。
我希望能够通过单击此单元格来编辑显示的进度。在这个阶段,我的应用程序应该将其单元格更改为另一个存储库项:我可以在其中插入值的文本字段。一旦焦点改变到另一个单元格,我的进度条应该再次显示,显示一个新值。我该怎么做?
DBTreeListView 具有列事件OnGetEditingProperty
和OnGetEditProperties
。我可能会使用其中一个(或两个),但想不出任何好主意。
【问题讨论】:
请澄清组件 DBTreeListView,它是标准的 TTreeView 还是某些 3rd 方组件? 投票关闭,因为控件 TDBTreeListView 不存在(根据谷歌和必应)。 DBTreeView 确实作为 Virtual TreeView 的子级存在。 【参考方案1】:这可以很简单。您应该处理单击此进度条并在其上显示编辑器。您需要在另一个地方处理滚动和单击以摆脱编辑器。如果滚动太远 - 应该隐藏编辑器。
步骤:
-
为进度创建隐藏编辑器
处理树视图项的 OnClick
显示编辑器并设置焦点
在编辑器上输入(或选项卡)保存进度信息
点击表单或树视图的其他部分 - 隐藏编辑器(保存/放弃更改策略指定的方式)
在滚动树视图中移动编辑器,当父级的边界不与编辑器的边界重叠时 - 隐藏它
最好的问候, 弗拉基米尔
【讨论】:
以上是关于如何为显示为进度条的网格单元激活就地编辑器?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Windows 7 编写进度条以在任务栏上进行自我更新?