Duplicar componente em tempo de execução

17/01/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.


Raserafim

Respostas

17/01/2006

Bruno Belchior

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...


Responder Citar

17/01/2006

Raserafim

vc pode dar um exemplo?


Responder Citar

17/01/2006

Bruno Belchior

Para não precisar criar um descendente do Combobox poderia criar algo assm
procedure Copia(CmbBxOriginal, CmbBxDestino: TComboBox);
begin
  CmbBxDestino.Text := CmbBxOriginal.Text;  
  CmbBxDestino.Sorted := CmbBxOriginal.Sorted;
  ... demais propriedades que queira copiar...
end;



Responder Citar

18/01/2006

Raserafim

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.


Responder Citar

18/01/2006

Bruno Belchior

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


Responder Citar