Nel form ereditato...
Hai Provato ad usare Inherited sull'handler del figlio?
Se non ne esci puoi sempre operare un hack sulla form "padre" in modo che i figli possano godere delle modifiche.
Per l'hack devi "sovrascrivere" il metodo che gestisce la gestione del messaggio nella coda. In questo modo puoi fare quello che vuoi.
procedure KeyDown(var Key: Word; Shift: TShiftState); virtual;
procedure TWinControl.KeyDown(var Key: Word; shift : TShiftState);
begin
if Assigned(FOnKeyDown) then FOnKeyDown(Self, Key, Shift);
end;
procedure TFORMPadre.KeyDown(var Key: Word; shift : TShiftState);
begin
if ((ssAlt in Shift) and (Key = VK_F4)) then
begin
Key := 0; //ALT + F4 Impedisco la chiusura?
end
else
begin
if Assigned(FOnKeyDown) then FOnKeyDown(Self, Key, Shift);
end;
end;