Хитрость в том, что этот фрагмент кода в TCustomPanel:
constructor TCustomPanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := [csAcceptsControls {, ... } ];
//...
end;
Есть еще много элементов управления VCL, которые вы можете использовать с csAcceptsControls
в свойстве ControlStyle
.
Если вы хотите сделать это в своих собственных элементах управления, но не выходите из такого элемента управления VCL, то вы должны сделать что-то вроде этого:
- Переопределить конструктор Create
- Добавить
csAcceptsControls
к свойству ControlStyle
Как этот пример кода:
//MMWIN:MEMBERSCOPY
unit _MM_Copy_Buffer_;
interface
type
TMyCustomControl = class(TSomeControl)
public
constructor Create(AOwner: TComponent); override;
end;
implementation
{ TMyCustomControl }
constructor TMyCustomControl.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle + [csAcceptsControls {, ...} ];
//...
end;
end.
- Йерун