gpt4 book ai didi

delphi - 编辑 TTreeView 节点时如何停止对话框默认并取消行为

转载 作者:行者123 更新时间:2023-12-03 15:08:01 25 4
gpt4 key购买 nike

我有一个对话框,上面有一个 TTreeView 控件以及一个“确定”和“取消”按钮。这些按钮的 Default 和 Canel 属性分别设置为 true,并且 ModalResult 已正确设置。

用户可以使用内置功能控件编辑树节点的标题。

如果用户在编辑树节点时按转义键或输入,对话框将消失,而不仅仅是取消或接受对节点标题的编辑。

例如,在转义的情况下,我希望按一次转义来取消标题的编辑,然后再按一次转义来取消对话框。

处理这种情况的最佳方法是什么?

TMemo 有 WantReturns 属性来处理这个问题,但我看不到 TTreeView 的任何内容。

最佳答案

您应该从按钮中删除“默认”和“取消”属性,而应该在表单 keyDown 上按下按键,然后执行“确定”或“取消”。

编辑:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_ESCAPE)and not (TreeView1.IsEditing) then
CancelClick(sender)
else
if (Key = VK_RETURN) and not (TreeView1.IsEditing) then
OkClick(sender);
end;

您还需要将 keypreview 设置为 true。

关于delphi - 编辑 TTreeView 节点时如何停止对话框默认并取消行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1327640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com