Wenn Du eine eigene Komponente programmieren willst, leite diese einfach von TWinControl ab (TPanel ist auch ein TWinControl-Derivat).
die ScrollBox ist
IMHO auch von TWinControl abgeleitet.
Ich würde WMMouseActivate überschreiben so in der Art:
Delphi-Quellcode:
procedure TMyScrollBox.WMMouseActivate(var Message: TWMMouseActivate);
begin
inherited;
if not (csDesigning in ComponentState) and CanFocus then
SetFocus;
end;
Frank