2010-07-19 3 views

ответ

7

Трюк этот кусок кода в TCustomPanel:

constructor TCustomPanel.Create(AOwner: TComponent); 
begin 
    inherited Create(AOwner); 
    ControlStyle := [csAcceptsControls {, ... } ]; 
//... 
end; 

Есть еще много VCL управления вы можете спуститься с, которые имеют csAcceptsControls в их ControlStyle Недвижимость.

Если вы хотите сделать это в своих собственных элементов управления, но не опускаются от такого управления VCL, то вы должны сделать что-то вроде этого:

  1. Override Создать конструктор
  2. Добавить 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. 

--jeroen

Смежные вопросы