带有默认 TButton 的 VirtualStringTree

VirtualStringTree with a Default TButton

我有一个带有 VirtualStringTree (VST) 和 TButton 的表单,其默认 属性 设置为 true。 VST 的节点包含就地编辑器 (TEdits)。问题是编辑 VST 时按钮总是触发。如何让按钮保持默认状态,但在编辑 VST 时让它忽略 enter 键?

正如 Rob 所说,您可以使用 VirtualTree 事件来临时禁用 Button.Default 属性。 例如:

OnEditing事件禁用默认属性

Button.Default := false;

OnEditedOnEditCancelled 事件恢复默认 属性

Button.Default := true;