Array
(
)

Ocultar propriedades Herdadas

Vitor^_^
   - 06 ago 2004

Olá, pessoal, boa tarde.

Meu problema é o seguinte: Estou criando um componente filho de Tedit e gostaria que a propriedade text Não Aparecesse no object inspector. Como se faz para ocultar propriedades?

Grato desde já


Marcelo Saviski
   - 06 ago 2004

tente herdar seu componente de TCustomEdit

#Código

TSeuEdit = class(TCustomEdit)
private
.....
protected
.....
public
....
published
// <==Adicione isso Abaixo
property Anchors;
property AutoSelect;
property AutoSize;
property BevelEdges;
property BevelInner;
property BevelKind default bkNone;
property BevelOuter;
property BiDiMode;
property BorderStyle;
property CharCase;
property Color;
property Constraints;
property Ctl3D;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Font;
property HideSelection;
property ImeMode;
property ImeName;
property MaxLength;
property OEMConvert;
property ParentBiDiMode;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PasswordChar;
property PopupMenu;
property ReadOnly;
property ShowHint;
property TabOrder;
property TabStop;
//property Text; <==não coloque essa
property Visible;
property OnChange;
property OnClick;
property OnContextPopup;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
end;


você não tem como reduzir a visibilidade de uma propriedade, tipo, mudar de public p/ protected ou private, ou published p/ outra.


Vitor^_^
   - 06 ago 2004

Eu sei disso, mas não era isso que eu queria fazer, na verdade, meu componente não é filho do Tedit, mas sim ´neto´, ele descende de um outro componente que eu fiz. Neste antigo componente eu preciso da propriedade text, mas no novo não. Fazer o componente descender de TcustomEdit me obrigaria a fazer ambos descenderem de TcustomEdit, e a colocar todo o código do componente antigo dentro do novo.

Mas, se não pode ocultar propriedades..... fazer o que?....


Marcelo Saviski
   - 06 ago 2004

não sei se funciona, mas vc pode tentar criar uma nova propriedade chamada text, tipo:

#Código

private
FTextQualquer: string;
published
property Text: string read FTextQualquer;


assim a prop Text iria aparecer mas não mudaria o texto....

não sei se funciona