Componentes - usando tcustomX |
Top Previous Next |
|
========================== Usando TCustomX ===========================
Porque criar um componente do tipo TCustomLabel ao invés do TLabel? Não dá na mesma?
- Dá na mesma do ponto de vista aparencia. Mas o TCustomLabel (que possui quase tudo que TLabel tem) tem uma vantage. Grande vantagem:
Ele possui as propriedade do TLabel, mas a grande maioria só é published se voce quiser (ficam de padrão ocultas)
Por exemplo se voce criar:
type TCustomLabel1 = class(TCustomLabel) public constructor Create(AOwner: TComponent); override; published end;
Quando instalado o CustomLabel aparecerá APENAS com as propriedades:
Cursor, Height, Hint, Left, Name, Tag, Top e Width
Se fosse descendente do TLabel aparece TUDO: Caption, ParentFont, etc...
Ok. Mas como fazer que pelo menos a caption apareca no meu descendente do CustomLabel?
Basta re-declarar como published:
type TCustomLabel1 = class(TCustomLabel) public constructor Create(AOwner: TComponent); override; published property Caption; <---- isto basta para que ela aparece no Object Insp end;
|