Problema com a propriedade Parent em componente criado
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:
Este é o código de SetBTCancel:
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.
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
Curtidas 0
Respostas
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.
+ 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
29/05/2004
Valeu Daniel pela dica
não havia pensado nisso. Obrigado.
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