Hai ihr,
warum denn nicht den einfachsten Weg nehmen und sich ein eigene Komponente von TEdit ableiten und in dieser dann die gewünschte Funktionalität einbauen?
EDIT:
Das ganze könnte dann zum Beispiel so aussehen:
Delphi-Quellcode:
unit ShEdit;
interface
uses
Classes, StdCtrls, Controls, Messages, Windows;
type
TShEdit =
class(TEdit)
protected
FEnterAsTab: Boolean;
procedure KeyDown(
var Key: Word; Shift: TShiftState);
override;
public
constructor Create(AOwner: TComponent);
override;
destructor Destroy;
override;
published
property EnterAsTab: Boolean
Read FEnterAsTab
Write FEnterAsTab
default True;
end;
procedure Register;
implementation
constructor TShEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FEnterAsTab := True;
end;
destructor TShEdit.Destroy;
begin
inherited Destroy;
end;
procedure TShEdit.KeyDown(
var Key: Word; Shift: TShiftState);
var
mgsTemp : TMsg;
begin
if (Key = VK_RETURN)
then
begin
if (FEnterAsTab)
then
begin
Parent.Perform(WM_NEXTDLGCTL, 0, 0);
end;
PeekMessage(mgsTemp, 0, WM_CHAR, WM_CHAR, PM_REMOVE);
end;
inherited KeyDown(Key, Shift);
end;
procedure Register;
begin
RegisterComponents('
Sharky', [TShEdit]);
end;
end.
Einfach die
Unit in ein
Package laden, compilieren, installieren und verwenden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"