Formatacao Default de Componentes
Amigos,
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:
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
Curtidas 0
Respostas
Aroldo Zanela
05/04/2005
Colegas,
As formas que eu conheço e me vêm a mente agora são: Herança, Templates e Frames.
As formas que eu conheço e me vêm a mente agora são: Herança, Templates e Frames.
GOSTEI 0
Rafaelunp
05/04/2005
[quote:bd1eb4611e=´Aroldo Zanela´]Colegas,
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:
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
Rodc
05/04/2005
Ele tem uma função :
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.
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
Rafaelunp
05/04/2005
Ele tem uma função :
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.
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
Rodc
05/04/2005
Sim, tem que recompilar o pacote ao qual pertence o componente. Abra o arquivo Lib\dclusr50.dpk, clique em Compile e depois em Install.
GOSTEI 0
Rafaelunp
05/04/2005
Sim, tem que recompilar o pacote ao qual pertence o componente. Abra o arquivo Lib\dclusr50.dpk, clique em Compile e depois em Install.
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
Rodc
05/04/2005
Dentro do dclusr50.dpk tem um outro arquivo na caixa abaixo chamado (se não me engano) vcl50.dcp. Dá dois cliques nesta opção, vai te abrir outra tela cheia de arquivos pas. Faz a mesma coisa, compila e instala. Depois fecha e recompila o dcluser50.dpk e instala.
GOSTEI 0
Aroldo Zanela
05/04/2005
[quote:68acaaec6b=´Aroldo Zanela´]Colegas,
As formas que eu conheço e me vêm a mente agora são: Herança, Templates e Frames.
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
Raserafim
05/04/2005
concordo com o Aroldo, alterar as units do delphi não é uma boa prática de programação (mas tb é uma idéia!). tb recomendo vc a criar um componente herdando do que vc quer alterar e no construtor create é só vc definir as propriedades que quer alterar. assim este componente fica valendo pra aoutras versões do delphi.
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
implemente este construtor com as pripriedades que quer alterar. salve a unit e vá nom menu Component > install Component.
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
Rafaelunp
05/04/2005
[quote:a565740ff2=´Aroldo Zanela´]
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!?
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
Rafaelunp
05/04/2005
[quote:2174d4872e=´Aroldo Zanela´]
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!?
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
Massuda
05/04/2005
...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!?
Sim... se você alterar o default das propriedades publicadas, terá que alterar tanto o construtor das classes como a especificação do valor default de cada propriedade (aquele [b:4df96f326c]default[/b:4df96f326c] que aparece na declaração das propriedades); se não fizer isso, seus DFMs vão começar a funcionar de modo estranho.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´.
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
Quanto a tentar recompilar em outra máquina... você terá que repetir toda a recompilação das units do sistema nela... muito mais trabalhoso do que instalar novos componentes.GOSTEI 0
Rafaelunp
05/04/2005
OK! Massuda,
Entendi o grande lance!
Obrigado a todos!
[ ]s
Rafael
Entendi o grande lance!
Obrigado a todos!
[ ]s
Rafael
GOSTEI 0