Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MarKteus

Q objeto criado em tempo de execução, está se clicando ?

Recommended Posts

Mas isso em tempo de Designer (ou seja na construção do Formulário) :mellow:

 

Mas, e se eu só crio e atribuo nome em tempo de Execução como pode ser feito ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tava fazendo um teste aqui em casa pra ajudar o camarada MarkTeus e acabei fazendo a linha:

showmessage (sender as (sender.ClassName)).Caption;
Porque o operador não é aplicado a algum desses operandos? o tipo de objeto deve ser uma constante?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguindo tua linha de pensamento, bdexterholland, seria assim:

ShowMessage((Sender as Sender.ClassType).Caption);

Só que o Delphi não deixa fazer isto (ao menos eu não sei como). Você deve deixar explicito a classe do Componente, por exemplo, se o componente for um Label:

ShowMessage((Sender as TLabel).Caption);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente !! :rolleyes:

 

 

Seguinte, por exemplo:

 

Pressionei F9 para q o programa comece a ser executado, Aí com o programa em execução clico em um determinado botão, para informar q vou criar um TImage por exemplo.

 

Clico e arrasto sobre o formulário e desenho um quadrado usando Canvas, ao soltar o mouse o Timage é criado. Desse momento em diante ñ consigo mais obter valores do mouse com relação ao Form, pois o TImage q criei está em cima e impede q os eventos onMouseDown, onMouseMove, onMouseUp do Form sejam executados. (Form1.OnMouseDown, etc)

 

A saída seria então usar esses eventos com relação ao TImage (Timage1.OnMouseDown, etc) para criar um outro objeto qualquer sobre o form, como por exemplo jogar um Label q pudesse servir de legenda para a Imagem inserida.

 

Mas como acabei de criaR o Timage em tempo de execução, não existe código amarrado a ele q pudesse responder aos eventos do Mouse, sendo assim ñ consigo criar mais nada usando as cordenadas X,Y como referência de posição, tamanho para o novo objeto q quero criar.

 

Tem como resolver esse imbróglio :mellow:

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim mas,

 

O meu problema ñ é inserir a Imagem isso já consegui, o problema é depois, por acaso, se eu quiser inserir uma outra imagem ou uma caixa de texto sobre a imagem, principalmente se a imagem cobrir todo o form.

 

Pq acontece o seguinte Form1.FormMouseMove(sender: tobject, X:integer, y:integer)

 

se a Imagem cobrir todo o Form eu ñ consego mais inserir nada pois, com a Imagem sobre o Form os evento Form1.FormMouseMove não acontece, nesse caso eu deveria usar Image1.ImageMousemove(sender: tobject, X:integer, y:integer), só q como estou em tempo de execução ñ tem como amarrar um código ao evento Image1.ImageMouseMove.

Os parametros X e Y utilizo, como o local a ser colocado o novo objeto..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.