Dúvida na criação de componentes !!!
Gostaria de saber como criar uma property de um componente tipo uma [+]Font que tem subpropriedades.
ex:
[+]OptionsControls
option1 := (Receba False ou True)
option2 := (Receba False ou True)
option2 := (tCPF,tCGC,tRG,tPIS)
obs: este da option2 seria uma string mesmo.
é preciso saber como obter os valores de cada Option desta property !!!
desde já agradeço.
ex:
[+]OptionsControls
option1 := (Receba False ou True)
option2 := (Receba False ou True)
option2 := (tCPF,tCGC,tRG,tPIS)
obs: este da option2 seria uma string mesmo.
é preciso saber como obter os valores de cada Option desta property !!!
desde já agradeço.
Ffc
Curtidas 0
Respostas
Vinicius2k
27/12/2004
Colega,
Resumidamente, pode-se dizer que o melhor nestes casos é a criação de um outro objeto para que sirva de sub-propriedade e um tipo enumerado para ´travar´ a seleção de valores... algo mais ou menos assim :
Neste modelo, a implementação da propriedade OptionControls no seu componente seria :
Vc precisará apenas implementar no Create do seu componente a criação deste objeto ´sub-proprieadade´, e no Destroy a destruição do mesmo.
Além, é claro, de implementar toda a classe deste objeto com seus métodos, eventos e Procedures/Functions Get/Set, se forem necessárias.
Este é um exemplo básico e sem grandes considerações... Para, realmente, aprender sobre construção de compoentes e técnicas mais adequadas e elegantes, eu lhe recomendo a leitura do artigo de nosso colega Michael, vencedor do Uploader Master deste ano : http://www.clubedelphi.net/artigos/criacao_componentes.asp
Espero ter ajudado...
T+
Resumidamente, pode-se dizer que o melhor nestes casos é a criação de um outro objeto para que sirva de sub-propriedade e um tipo enumerado para ´travar´ a seleção de valores... algo mais ou menos assim :
type TOption3 = (tCPF, tCGC, tRG, tPIS); TOptionControls = class(TPersistent) private FOption1: Boolean; FOption2: Boolean; FOption3: TOption3; public constructor Create; destructor Destroy; override; published property Option1: Boolean read FOption1 write FOption1; property Option2: Boolean read FOption2 write FOption2; property Option3: TOption3 read FOption3 write FOption3; end;
Neste modelo, a implementação da propriedade OptionControls no seu componente seria :
TSeuCompoente = Class(TComponent) private ... FOptionControls: TOptionControls; ... public ... published ... property OptionControls: TOptionControls read FOptionControls write FOptionControls; ... end;
Vc precisará apenas implementar no Create do seu componente a criação deste objeto ´sub-proprieadade´, e no Destroy a destruição do mesmo.
Além, é claro, de implementar toda a classe deste objeto com seus métodos, eventos e Procedures/Functions Get/Set, se forem necessárias.
procedure TSeuComponente.Create(...); ... FOptionControls := TOptionControls.Create; ... end;
procedure TSeuComponente.Destroy; ... FOptionControls.Free; ... end;
Este é um exemplo básico e sem grandes considerações... Para, realmente, aprender sobre construção de compoentes e técnicas mais adequadas e elegantes, eu lhe recomendo a leitura do artigo de nosso colega Michael, vencedor do Uploader Master deste ano : http://www.clubedelphi.net/artigos/criacao_componentes.asp
Espero ter ajudado...
T+
GOSTEI 0
Ffc
27/12/2004
Vinicius2k muito obrigado, deu certo !!!
abraços !!!
abraços !!!
GOSTEI 0