MarKteus 1 Denunciar post Postado Fevereiro 5, 2007 Olá Existe como saber qual objeto (criado em tempo de execução), está sendo clicado ? Uma boa semana a todos ! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Fevereiro 6, 2007 Pelo o Sender você consegue trabalhar e descobrir o que precisa. Compartilhar este post Link para o post Compartilhar em outros sites
MarKteus 1 Denunciar post Postado Fevereiro 6, 2007 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
bdexterholland 0 Denunciar post Postado Fevereiro 6, 2007 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
Vinicius Callegaro 0 Denunciar post Postado Fevereiro 6, 2007 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
MarKteus 1 Denunciar post Postado Fevereiro 6, 2007 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
Vinicius Callegaro 0 Denunciar post Postado Fevereiro 6, 2007 Colega. Dê uma olhada neste tópico, que acredito ser exatamente o que você está procurando... http://www.forumweb.com.br/foruns/index.php?showtopic=57300 Compartilhar este post Link para o post Compartilhar em outros sites
MarKteus 1 Denunciar post Postado Fevereiro 6, 2007 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