OnKeyPress for Escape 默认关闭表单

OnKeyPress for Escape closes form by default

我有一个问题:如何让我的应用程序中的每个新创建的表单都实现 OnKeyPress 过程并将 KeyPreview 设置为 True?

我不希望不断将程序添加到 OnKeyPress 事件并手动将 KeyPreview 设置为 True。

定义您自己的表单 TKPForm,它继承自 TForm,并添加一个将 KeyPrview 设置为 True 的构造函数,并有一个按键来执行您想要的操作。 当然,如果您需要 TKPForm 的新实例独有的代码,则必须覆盖 keyprss。

我已经很久没有做任何事情了 Delphi 但这应该不会太远。

unit KPForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TKPForm = class(TForm)

 private
    { Private declarations }
  public
    constructor CreateNew(AOwner: TComponent); override;
  end;
var
  TKPForm: TKPForm 

implementation

{$R *.dfm}
constructor KPForm.CreateNew(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Self.KeyPreview = true;
  Self.OnKeyPress = YourKeyPressEventProcedure;
end;

因此,当您需要新表格时,您可以使用新的 KPForm。

查看可视化表单继承。

希望对您有所帮助。

我发现的最佳方法是创建表单模板 并将其添加到存储库。之后,将其设置为 存储库 中的“新表单”。

在这种情况下,每当您创建新表单时,它就是那个模板。您所要做的就是更改名称和标题。

这对我有帮助 Delphi 7.