Einzelnen Beitrag anzeigen

davar

Registriert seit: 4. Feb 2005
311 Beiträge
 
Turbo Delphi für Win32
 
#1

Neue Komponente erstellen - Zahlenedit

  Alt 14. Jun 2006, 13:02
Hallo Leute,

wieder einmal stehe ich vor einem Problem, und zwar ist es diesmal die Erstellung neuer Komponenten.

Um in diesem Bereich ein wenig zu üben, wollte ich ein Editfeld erstellen, das nur Zahlen als Eingabe annimmt. Also habe ich mich an dieses Tutorial gehalten und mein Glück versucht.

Folgender Code steht nun in der .pas-Datei:

Delphi-Quellcode:
unit Zahlenedit;

interface

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

type
  TZahlenedit = class(TEdit)
  private
    { Private-Deklarationen }
    procedure KeyPress(Sender: TObject; var Key: Char);
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Beispiele', [TZahlenedit]);
end;

procedure TZahlenedit.KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#8, #9, #44, #48 .. #57]) then key:=#0;
end;

end.
Im Register "Beispiele" ist die Komponente drin, aber annehmen tut sie nach wie vor alle Zeichen. Was mach ich denn nun falsch?

MfG

davar
  Mit Zitat antworten Zitat