Fórum Formatacao Default de Componentes #275770
05/04/2005
0
Como posso alterar a formatação default dos componentes?
Tipo:
Edit, combobox (e DBEdit, DBCombobox) por exemplo. Sempre que eu coloca-los em um form eles trazerem uma formatação (cor por exemplo) diferente da default que eles vem de ´fabrica´?
E com relacao aos forms que eu ja os tenho, tem como alterar todos de uma so vez? :lol: :lol: :lol:
Rafaelunp
Curtir tópico
+ 0Posts
05/04/2005
Aroldo Zanela
As formas que eu conheço e me vêm a mente agora são: Herança, Templates e Frames.
Gostei + 0
05/04/2005
Rafaelunp
As formas que eu conheço e me vêm a mente agora são: Herança, Templates e Frames.[/quote:bd1eb4611e]
Aroldo,
Cara, tá muito vago... me de mais uma dica...
No caso eu tenho um form que uso como herança, mas o mesmo nao possui nenhum desses componentes, tem como eu alterar alguma coisa (criar procedure ou funcao) que atualize isso nos demais, mesmo os mesmos já existindo? :roll:
Diga ai como posso fazer please... :wink:
Gostei + 0
06/04/2005
Rodc
Constructor Create(Owner: TComponente); overrride;
Dê uma olhada no componetes do delphi pra você entender onde fica e como faz. Esta função é executada imediatamente quando o componente é criado.
Gostei + 0
06/04/2005
Rafaelunp
Blz Cara,
Localizei por exemplo o Edit que ficou assim:
constructor TCustomEdit.Create(AOwner: TComponent); const EditStyle = [csClickEvents, csSetCaption, csDoubleClicks, csFixedHeight]; begin inherited Create(AOwner); if NewStyleControls then ControlStyle := EditStyle else ControlStyle := EditStyle + [csFramed]; Width := 121; Height := 25; TabStop := True; ParentColor := False; FBorderStyle := bsSingle; FAutoSize := True; FAutoSelect := True; FHideSelection := True; AdjustHeight; //rafael FBevelInner := bvspace; FBevelKind := bkFlat; FBevelOuter := bvLowered; end;
Depois disso eu preciso recompilar o componente? se sim, como? Se não, o que eu faço? pq fechei o delphi abri de novo e continua do mesmo jeito...
Vlw
Gostei + 0
06/04/2005
Rodc
Gostei + 0
06/04/2005
Rafaelunp
Cara, alterei a unit
unit StdCtrls;
Abri o arquivo: arquivo dclusr.dpk (Delphi 6), compilei e instalei, mas nada... to adicionando o edit num novo projeto e continua do mesmo jeito...
Alguma dica?
Gostei + 0
06/04/2005
Rodc
Gostei + 0
06/04/2005
Aroldo Zanela
Aroldo,
Cara, tá muito vago... me de mais uma dica...
No caso eu tenho um form que uso como herança, mas o mesmo nao possui nenhum desses componentes, tem como eu alterar alguma coisa (criar procedure ou funcao) que atualize isso nos demais, mesmo os mesmos já existindo? :roll:
Diga ai como posso fazer please... :wink:[/quote:68acaaec6b]
Colega,
Você já recebeu algumas dicas de como alterar o construtor de componentes, mas, não recomendo esta prática. É melhor você criar novos componentes, herdando daqueles que deseja alterar, evitando assim, ter de refazer tudo de novo a cada nova versão do Delphi. Portanto, crie seus componentes, adicione as características desejadas e matenha-os em separado dos componentes nativos.
Gostei + 0
07/04/2005
Raserafim
faça o seguinte:
ao abrir o delphi vá no menu Component > New Component, defina de que classe vc quer herdar, o nome que vc quer dar a nova classe, a paleta...
na seção puclic declare o construtor
constructor Create(AOwner: TComponent); override;
implemente este construtor com as pripriedades que quer alterar. salve a unit e vá nom menu Component > install Component.
Gostei + 0
07/04/2005
Rafaelunp
Colega,
Você já recebeu algumas dicas de como alterar o construtor de componentes, mas, não recomendo esta prática. É melhor você criar novos componentes, herdando daqueles que deseja alterar, evitando assim, ter de refazer tudo de novo a cada nova versão do Delphi. Portanto, crie seus componentes, adicione as características desejadas e matenha-os em separado dos componentes nativos.[/quote:a565740ff2]
Aroldo,
Concordo com voce. Em termos. :oops:
Sei que se voce está dizendo é porque tem fundamento.
Mas até o momento, o que quero fazer é alterar as caracteristicas default. Se só eu mexo na minha maquina, no meu delphi, se nao estou acrescentando nem removendo nenhuma caracteristica, apenas querendo mudar, uma fonte, a cor de um componente... Nao sei se há essa necessidade de criar um novo componente... até porque se eu quiser abrir os fontes em outra maquina, vou precisar instala-los novamente... enquanto que se eu apenas mudar o default dessas proprieades, nada de ´anormal´ vai acontecer... pelo menos com minha pouca experiencia, é isso que eu acho... estou errado!?
Gostei + 0
07/04/2005
Rafaelunp
Colega,
Você já recebeu algumas dicas de como alterar o construtor de componentes, mas, não recomendo esta prática. É melhor você criar novos componentes, herdando daqueles que deseja alterar, evitando assim, ter de refazer tudo de novo a cada nova versão do Delphi. Portanto, crie seus componentes, adicione as características desejadas e matenha-os em separado dos componentes nativos.[/quote:2174d4872e]
Aroldo,
Concordo com voce. Em termos. :oops:
Sei que se voce está dizendo é porque tem fundamento.
Mas até o momento, o que quero fazer é alterar as caracteristicas default. Se só eu mexo na minha maquina, no meu delphi, se nao estou acrescentando nem removendo nenhuma caracteristica, apenas querendo mudar, uma fonte, a cor de um componente... Nao sei se há essa necessidade de criar um novo componente... até porque se eu quiser abrir os fontes em outra maquina, vou precisar instala-los novamente... enquanto que se eu apenas mudar o default dessas proprieades, nada de ´anormal´ vai acontecer... pelo menos com minha pouca experiencia, é isso que eu acho... estou errado!?
Gostei + 0
07/04/2005
Massuda
O resultado é que você alterou a interface da unit... isso faz com que o Delphi recompile essa unit e, aqui é que está o problema, faz com que o Delphi tente recompilar todas as units que usam a unit modificada. Por exemplo, se você alterar a interface de StdCtrls, certamente boa parte das DCUs presentes no subdiretório lib do diretório onde está instalado o Delphi terá de ser recompilado; com sorte, você tem o fonte de tudo (isso depende da edição do seu Delphi e dos componentes de terceiros que você usa), e consegue recompilar tudo e continuar trabalhando. Mas e se não tiver? Você recebe a mensagem ´unit XYZ was compiled with a diferent version of ABC´.
Gostei + 0
07/04/2005
Rafaelunp
Entendi o grande lance!
Obrigado a todos!
[ ]s
Rafael
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)