如何让应用程序中的每个新创建的表单都实现 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 中很有帮助。