Array
(
)

Duplicar componente em tempo de execução

Raserafim
   - 17 jan 2006

como faço para criar vários componentes herdando de um componente que já está no form?

ou seja. tenho um combobox que coloquei no form, alterei as propriedades que queria, e quero agora quem em tempo de execução sejam criados vários componentes iguais a teste que modifiquei.


Bruno Belchior
   - 17 jan 2006

Você terá de fazer uma rotina de cópia do seu Combobox (normalmente reimplementando o método Assign), e assim que criar os novos objetos atribuir essas propriedades ao mesmo...


Raserafim
   - 17 jan 2006

vc pode dar um exemplo?


Bruno Belchior
   - 17 jan 2006

Para não precisar criar um descendente do Combobox poderia criar algo assm#Código

procedure Copia(CmbBxOriginal, CmbBxDestino: TComboBox);
begin
CmbBxDestino.Text := CmbBxOriginal.Text;
CmbBxDestino.Sorted := CmbBxOriginal.Sorted;
... demais propriedades que queira copiar...
end;



Raserafim
   - 18 jan 2006

assim não serve por dois motivos:
1- da muito trabalho atribuir cada propriedade que eu alterei

2- na verdade o que eu quero copiar é um panel com alguns componentes dentro. então preciso copiar este panel, e consequentemente todos serão copiados.


Bruno Belchior
   - 18 jan 2006

*Creio* que isso não seja possível nativamente...