Título: [Solucionado] Detectar posicion del click en imagen? Publicado por: Cromatico en 7 Diciembre 2010, 01:52 am Hola que tallll, tengo una nueva dudaa aver si alguien tiene alguna idea :P
Estoy intentando detectar la posicion del click sobre un control image externo... Ya tengo las dimenciones del image width, height, top, left, right y bottom... La pregunta es, se puede detectar en que posicion del image se hizo click? Graciasss!!! Título: Re: Detectar posicion del click en imagen? Publicado por: Psyke1 en 7 Diciembre 2010, 02:49 am Código
DoEvents! :P Título: Re: Detectar posicion del click en imagen? Publicado por: Cromatico en 7 Diciembre 2010, 02:54 am Hola Mr.Frog gracias por responder, pero como dije, la imagen es de un form externo a mi proyecto!! Gracias!
Si es posible que me diga en que posicion, left, right, top, bottom de la imagen se hizo click, pero la cagada es que el control image con el que estoy tratando no esta en mi proyecto, sino en uno externo al mio. Título: Re: Detectar posicion del click en imagen? Publicado por: Psyke1 en 7 Diciembre 2010, 03:27 am Hola Mr.Frog gracias por responder, pero como dije, la imagen es de un form externo a mi proyecto!! Gracias! Perdoname, no lei bien la pregunta... :PSi es posible que me diga en que posicion, left, right, top, bottom de la imagen se hizo click, pero la cagada es que el control image con el que estoy tratando no esta en mi proyecto, sino en uno externo al mio. Con un Hook se puede hacer, mi amigo Dessa estara orgulloso de mi... :xD Para ello debes sacar el Hwnd del control externo y lo metes en la variable lHwnd, te dejo un ejemplo: Código
DoEvents! :P Título: Re: Detectar posicion del click en imagen? Publicado por: Cromatico en 7 Diciembre 2010, 03:41 am Holass gracias por contestarr!! Estuve intentando con el codigo que posteaste pero me tira error:
Uso no válido del operador AddressOf Y me marca hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, AddressOf MouseProc, App.hInstance, 0&) exactamente: AddressOf MouseProc asigne en el form load el hwnd del control image externo lHwnd = "el handle puse aca" Y llame a starmousehook pero me tiro ese error :S Gracias Título: Re: Detectar posicion del click en imagen? Publicado por: BlackZeroX en 7 Diciembre 2010, 03:42 am Necesitas estas APĎS:
Código
Lo demas es solo hacer un Hook al Mouse y posiblemente quieras usar esta api... Código
Temibles Lunas!ˇ. Título: Re: Detectar posicion del click en imagen? Publicado por: BlackZeroX en 7 Diciembre 2010, 03:45 am Código
Sustituye por Código
y pega todo el codigo de la rana en un MODULO BAS!¡. EDITO]---> Agrega esta api al modulo de la rana Código
y sustituye la funcion MouseProc por esta... Código
Creo que esto es todo... Temibles Lunas!¡. Título: Re: Detectar posicion del click en imagen? Publicado por: Cromatico en 7 Diciembre 2010, 04:06 am Funciono perfecto me detecta la posicion de donde hago click en la imagen, muchas gracias a los dos!!!
Ahora me surgio otra duda, en que se basan esas posiciones... Es decir, en la esquina superior izquierda por ejemplo me marca (571;244) aproximadamente... Se puede relacionar con el width y height de la imagen? Gracias nuevamente! Título: Re: Detectar posicion del click en imagen? Publicado por: Cromatico en 7 Diciembre 2010, 05:16 am Huiiii me parece que cague, estuve probando y me di cuenta que si muevo la imagen externa de posicion en la pantalla, me cambian totalmente las posiciones aunque clickee en el mismo lugar de la imagen!!! Se podra ajustar para que siempre me tire la misma posicion si hago click en el mismo lugar por mas que la imagen no este siempre en el mismo lugar de la pantalla?
Gracias! Título: Re: Detectar posicion del click en imagen? Publicado por: Dessa en 7 Diciembre 2010, 05:35 am Funciono perfecto me detecta la posicion de donde hago click en la imagen, muchas gracias a los dos!!! Ahora me surgio otra duda, en que se basan esas posiciones... Es decir, en la esquina superior izquierda por ejemplo me marca (571;244) aproximadamente... Se puede relacionar con el width y height de la imagen? Gracias nuevamente! se basa en la pantalla del monitor X= 571 Pixeles desde la izquierda y= 244 Pixeles desde el tope de arriba Funciono perfecto me detecta la posicion de donde hago click en la imagen, muchas gracias a los dos!!! Ahora me surgio otra duda, en que se basan esas posiciones... Es decir, en la esquina superior izquierda por ejemplo me marca (571;244) aproximadamente... Se puede relacionar con el width y height de la imagen? Gracias nuevamente! GetWindowRect te devuelve la infomacion de un control con el mismo criterio o sea en pixeles y en base a las coordenadas x e y de la pantalla en donde se encuentra dicho control al momento de pedir su informacion El top y el left cambian al mover el contenedor del control (por ej al mover el formulario que lo contiene) porque repito que se basa en la posicion dentro de la pantalla, pero el HEIGHT y el WIDTH Dim TR As RECT Call GetWindowRect(ret, TR) "LEFT" = TR.Left "TOP" = TR.Top "HEIGHT"= TR.Bottom - TR.Top "WIDTH" = TR.Right - TR.Left Como notarás (a diferencia del otro hilo) esta vez no multiplique por 15 para que el retorno sea en pixeles. @l "Mister" El top y el left cambian al mover el contenedor del control (por ej al mover el formulario que lo contiene) porque repito que se basa en la posicion dentro de la pantalla, pero el HEIGHT y el WIDTH :xD Título: Re: Detectar posicion del click en imagen? Publicado por: Cromatico en 7 Diciembre 2010, 06:20 am Solucionado MILLONES DE GRACIAS A:
Mr. Frog BlackZeroX Dessa La verdad increible lo que ayudan, muchisimas gracias! Título: Re: Detectar posicion del click en imagen? Publicado por: BlackZeroX en 7 Diciembre 2010, 06:47 am .
Si quieres obtener la posicion x, y del mouse como si fuera este codigo de la rana: Código
DoEvents! :P debes usar las apis Código
Entre otras cosillas como el API IntersetRect o WindowFromPoint, pero bueno. Dulces Lunas!ˇ. Título: Re: Detectar posicion del click en imagen? Publicado por: Psyke1 en 7 Diciembre 2010, 09:15 am .
Una pregunta : para que el CallNextHookEx en MouseProc ? :huh: DoEvents! :P Título: Re: Detectar posicion del click en imagen? Publicado por: Karcrack en 7 Diciembre 2010, 16:44 pm Si no lo haces el resto de aplicaciones no recibiran este mensaje
Código: http://msdn.microsoft.com/en-us/library/ms644974(VS.85).aspx Título: Re: [Solucionado] Detectar posicion del click en imagen? Publicado por: Psyke1 en 8 Diciembre 2010, 00:35 am .
Comprendo, gracias Karcry! :xD PD: Vaya desastre de respuestas doy a partir de las 3 am :laugh:; a partir de esa hora leo solo la última linea.... :silbar: :laugh: DoEvents! :P |