gpt4 book ai didi

delphi - 更改 form.showModal 的默认模态结果

转载 作者:行者123 更新时间:2023-12-03 15:37:35 26 4
gpt4 key购买 nike

在我的 Delphi 应用程序中,我有一个自定义的是、否、取消对话框,将从主窗体中调用该对话框以确认保存对当前编辑的文件所做的更改。这通常可以通过 messageDlg() 来实现,但我希望这个对话具有自定义的外观,所以我尝试通过

来实现此功能
case myDialogue.showModal of
mrYes: <<save changes>>;
mrNo: <<quit application without saving changes>>
mrCancel: <<set the closeAction to caNone and do nothing>>
end;

问题是,默认情况下,表单对按 Escape 键的 react 是返回 mrNo TModalResult。您可以看到这是多么糟糕,因为您的直觉告诉您退出模式对话框将取消预期的退出应用程序过程,但实际上发生的情况是您发出不保存任何更改 命令和应用程序退出。

我没有注意到这种行为,直到我以这种方式失去了一个小时的工作。 myModalDialogue 代码中没有放入 FormKeyPressed 事件处理程序或任何响应按键的内容。它的工作原理是,在使用 showModal 显示的表单中按 Esc 将返回 mrNo。我怎样才能覆盖这个默认行为?

最佳答案

您需要确保“否”按钮的 Cancel 属性为 False,并且“Cancel”按钮的 Cancel 属性为 True。

关于delphi - 更改 form.showModal 的默认模态结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/763210/

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