Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Komponente OnKeyPress Ereignis übergeben (https://www.delphipraxis.net/143890-komponente-onkeypress-ereignis-uebergeben.html)

Eppos 25. Nov 2009 15:25


Komponente OnKeyPress Ereignis übergeben
 
Hallo zusammen,

ich wollte mir gerade eine Komponente zusammen basteln, da bin ich auf foglendes Problem gestoßen.

Die Komponente besteht aus:
1 TPanel
2 TEdits

Die zwei Edits liegen auf dem Panel und werden zur Laufzweit erzeugt.
Wie kann ich jetzt das Ereignis OnKeyPress an mein TPanel übergeben?
Weil ich möchte dann später diese Ereignis an meine Edits übergeben beim erstellen.

Vielen Dank!

DeddyH 25. Nov 2009 16:15

Re: Komponente OnKeyPress Ereignis übergeben
 
Sry, ich verstehe die Frage nicht. Soll das Panel ein KeyPress-Ereignis bekommen, oder was ist genau das Problem?

Eppos 25. Nov 2009 16:26

Re: Komponente OnKeyPress Ereignis übergeben
 
ja genau das ist das Problem, ich möchte ein KeyPress-Ereignis dem Panel zuordnen.

DeddyH 25. Nov 2009 16:32

Re: Komponente OnKeyPress Ereignis übergeben
 
Kleines Beispiel (nur ein Formular mit einem Panel):
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TPanel = class(ExtCtrls.TPanel)
  published
    property OnKeyPress;
  end;

  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure PanelKeyPress(Sender: TObject; var Key: char);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.OnKeyPress := PanelKeyPress;
  ActiveControl := Panel1;
end;

procedure TForm1.PanelKeyPress(Sender: TObject; var Key: char);
begin
  ShowMessage(Key);
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz