views:

117

answers:

1

I'm designing a custom control, and every time I have it highlighted in the form designer and then pick another control from the control palette, the new one ends up inside my control, as if it were a TPanel or TGroupBox. This isn't what I want, so how can I keep it from happening?

+13  A: 

You need to remove the csAcceptsControls flag from the ControlStyle property, ideally directly in the constructor:

constructor TMyComponent.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := ControlStyle - [csAcceptsControls];
  // more initialization stuff ...
end;
mghie