Problema com a propriedade Parent em componente criado

Delphi

29/05/2004

Olá pessoal.

Estou criando um componente (descendente de TPanel, chamado de RMControlBar) que possuirá algumas propriedades do tipo Boolean. O que desejo é, quando eu selecionar TRUE nessas propriedades, quero criar um botão (componente que criei, chamado RMDataSetButton) dentro do Painel, e mudando para FALSE, destruí-lo.

Estou usando o código abaixo para declarar a propriedade:
 property BTCancel: Boolean read FBTCancel write SetBTCancel; 


Este é o código de SetBTCancel:
procedure TRMControlBar.SetBTCancel(const Value: Boolean);
var fButton: TRMDataSetButton;
begin
  FBTCancel := Value;
  if Value then
  begin
    fButton := TRMDataSetButton.Create(Self);
    fButton.Parent := ??? // <<<<<<<<------ Aqui é o problema
    fButton.TabOrder := 0;
    fButton.Top := 9;
    fButton.Caption := ´Cancelar [F6]´;
  end;
end;


O Parent do botão deve ser o próprio RMControlBar. Já coloquei o RMControlBar, TWinControl(TRMControlBar), só que não está dando certo.

Desde já agradeço a quem puder me auxiliar.


Everton

Everton

Curtidas 0

Respostas

Dopi

Dopi

29/05/2004

Estou usando algo semelhante... Mas faço a criação do sub-componente no Create do Componente principal...

+ ou - assim...

fsSerial := TACBrSerial.Create( self ) ; { O dono é o proprio componente }
fsSerial.Name := ´Serial´ ; { Apenas para aparecer no Object Inspector}
fsSerial.SetSubComponent( true );{ para gravar as propriedades do Subcomponente no DFM/XFM }


E se você deixar o botão já instanciado mas com a propriedade visible = false.... Assim tudo que a sua propriedade terá que fazer é alternar o estado de Visible...

Quanto o parent.... experimente deixar nil ou usar o Application.


GOSTEI 0
Everton

Everton

29/05/2004

Valeu Daniel pela dica

E se você deixar o botão já instanciado mas com a propriedade visible = false.... Assim tudo que a sua propriedade terá que fazer é alternar o estado de Visible...


não havia pensado nisso. Obrigado.


GOSTEI 0
POSTAR