Du kannst auch Deiner Komponente explizit mit SetFocus den Fokus zuweisen (z.B. im MouseDown) und in KeyDown die Tastatureingaben abfragen.
In meiner Panelableitung setze ich das so um.
Delphi-Quellcode:
TodPanel = class(TPanel)
private
protected
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
...
procedure TodPanel.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
inherited;
...
SetFocus;
BringToFront;
...
end;
procedure TodPanel.KeyDown(var Key: Word; Shift: TShiftState);
begin
if Key = VK_DELETE then
Delete
else if Key = VK_RETURN then
ShowForm
else
inherited;
end;