我有一个问题:如何让我的应用程序中的每个新创建的表单都实现了OnKeyPress过程并将KeyPreview设置为True?
我希望不要经常将该过程添加到OnKeyPress事件中,并手动将KeyPreview设置为True。
答案 0 :(得分:2)
定义你自己的表格TKPForm,它继承自TForm并添加一个构造函数,它将KeyPrview设置为True,并有一个按键来执行你想要的操作。 当然,如果您需要TKPForm新实例的唯一代码,您必须覆盖这些密钥。
自从我做任何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。
查看Visual Form Inheritance。
希望它有所帮助。
答案 1 :(得分:0)
我找到的最佳方法是创建表单模板并将其添加到存储库。然后,在存储库中将其设置为“新表单”。
在这种情况下,无论何时创建新表单,它都将是非常模板。您所要做的就是更改名称和标题。
这对Delphi 7有所帮助。