Die endgültige Version verhindert nun auch das erzeugen der Komponente und sieht wie folgt aus:
Delphi-Quellcode:
procedure TMyPanel.CMControlListChanging(var Message: TCMControlListChanging);
begin
if Message.ControlListItem^.Control.ClassName = 'TShape' then
begin
Message.ControlListItem^.Parent := NIL;
raise EInvalidOperation.Create(SInvalidChild);
end;
end;