Dúvida com Criação de componente

Delphi

15/10/2009

Boa tarde, estou com uma dúvida em relação a criação de componentes.

Imagine que criei determinado componente (Não VISUAL), quero que quando esteja no delphi, ao clicar duas vezes sobre o componente seja disparado determinado método (no caso mostrar um frm).

Como posso fazer isso?


Diegotiemann

Diegotiemann

Curtidas 0

Respostas

.lg.

.lg.

15/10/2009

Fui no componente TMainMenu para ver se entendia como funciona este disparo de metodo no duplo click no componente.

Infelizmente não achei nada. Nem no componente TMenu (que o TMainMenu herda dele não achei nada a respeito. Estou vendo em outros componentes pra ver se acho alguma coisa que explique isso.

Continuo na procura, se achar alguma coisa posto aqui.


GOSTEI 0
Diegotiemann

Diegotiemann

15/10/2009

Eu também já procurei em alguns componentes que eu sei que fazem isso (TUserControl, Rdprint), mas não achei nada. Por isso resolvi postar aqui.


GOSTEI 0
Knight_of_wine

Knight_of_wine

15/10/2009

Eu tenho a apostila da CodeGear de criação de componentes.

Vou dar um refrescada lá quando chegar em casa e posto aqui se achar algo.


GOSTEI 0
Diegotiemann

Diegotiemann

15/10/2009

Vou aproveitar esse tópico pra outra dúvida.

Vamos supor que eu preciso criar um componente que herde de TPanel e que tenha um botão dentro dele.

Beleza, consegui criar o tbitBtn dentro do panel.
Mas não faço nem idéia de como definir um gliph padrão para o botão. (Sem usar loadFromFile)


GOSTEI 0
Osocram

Osocram

15/10/2009

Olha isso que vc quer é conhecido como Editor de Componentes, da uma pesquisada sobre isso no google que vc encontrar bastante coisas, até aqui no forum mesmo tem.

Não é dificil, é cheio de detalhes, depois que acostumar vai ver que é simples.
Dae vc vai ter que aumentar o menu do clique com botão direito do seu componente e deixar uma ação como padrão, que será disparado ao dar 2 cliques.

Sobre o outro problema que comentou... infelizmente tem que ser tudo no braço, o ou seja vai ter que criar um arquivo .res para guardar a imagem que quer, e adicioná-lo no via progração.


GOSTEI 0
Diegotiemann

Diegotiemann

15/10/2009

A questão das imagens no botão eu consegui fazer usando o .res, só faltam uns pequenos detalhes, mas coisa simples.


Quanto ao clique sobre o componente ainda não pesquisei sobre editor de componentes.


GOSTEI 0
Diegotiemann

Diegotiemann

15/10/2009

Olha só criei o componente com uma imagem padrão, para isso criei o RES
e adicionei no código da BPL da seguinte maneira:
 {$R imagens_btn.RES}



Em tempo de projeto funciona que é uma beleza, mas quando compilo o program que usa o novo componente dá o seguinte erro:

 raised exception class EResNotFound with message ´Resource lupa not found´.


OBS: lupa é o nome de um dos recursos que uso.

Dai se eu adicionar a diretiva
 {$R imagens_btn.RES}

no código do projeto funciona perfeitamente.


Queria saber como fazer pra não ter que adicionar essa diretiva nos projetos que vão usar o componente.


GOSTEI 0
Diegotiemann

Diegotiemann

15/10/2009

Já resolvi, bastou adicionar a diretiva
{$R imagens_btn.RES}


No create do componente (dentro da bpl) e remover do código da bpl e do projeto que usa o componente.


GOSTEI 0
POSTAR