Hola,
he creado un objeto especial que es de la clase TEdit. Dentro de este objeto me gustaría controlar a traves del evento keypress las teclas que se pulsan.
El código que muestro a continuación es el que he hecho pero no sé si esta mal o bien. Me gustaría que alguien me orientase.
Muchas gracias.
Código Delphi
[-]
unit EditAna;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls, IdGlobal;
type
TEditAna = class(TEdit)
private
procedure ValidaDatos (Sender: TObject; var key: char);
protected
public
constructor Create(AOwner: TComponent); override;
published
end;
procedure Register;
implementation
procedure TEditAna.ValidaDatos (Sender: TObject;var key: char);
begin
if not(((key>='a') and (key<='z')) or
((key>='A') and (key<='Z')) or
IsNumeric(key) or
(key='-') or
(key='_')) then
begin
exit;
end;
end;
procedure Register;
begin
RegisterComponents('Standard', [TEditAna]);
end;
constructor TEditAna.Create(AOwner: TComponent);
begin
inherited;
OnKeyPress:=ValidaDatos(key);
end;
end.