Ayuda con implementación de programa con eventos dinámicos de ratón sobre una imagen de mapa

Hola muchísimas gracias de antemano por toda la ayuda que me has brindado, eres mi experto favorito, quisiera que me orientara y si sabes como hacerlo me dijeras como le puedo hacer para lo siguiente, tengo un mapa de la república mexicana en el control imagen en un formulario, cuando el usuario de un click en algún estado que le diga el nombre del estado, yo creo que por medio de una label. Pero no se como, recuerda que soy novato en esto.
Muchas gracias de nuevo y saludos.

3 respuestas

Respuesta
1
Utiliza un control image
Pon la imagen centrada y usa estos eventos :
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
End Sub
Si nos olvidamos del shift, te gustará saber que button puede ser vbleftButton y VBrightButton (algo así se escribía, pero pulsando ctrl + j te lo soluciona VB) si sitúas las coordenadas (te las dan POR e Y) puedes saber con exactitud donde estás pulsando en el mapa. (Seguro que te gusta más que una mierda de label). En último caso, si no quieres usar un imgage, usa un picture :
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
End Sub
Es tres cuartos de lo mismo. De hecho puedes hasta cambiar el icono del ratón si no hay botón pulsado. Je je.
MousePointer era...
Bueno, si quieres que te aclare algo más.
Ah, si aun así prefieres por labels, lo lógico es poner labels transparentes y controlar si reciben el evento click.
Private Sub Label1_Click()
End Sub
Sin mas.
Para controlar las POR y las Y en todo el mapa create dos cajas de texto (por ejemplo TXTX y TXTY) y pon este evento :
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
txtX.Text = X
txtY.Text = Y
End Sub
Voila.
Venga un saludo.
Respuesta
1
Me alegra saber que soy tu experto favorito, ademas esta todo más que bien con la gente de Mexico, mi hermano vive allí! =)
...
Bueno mira, por lo que me preguntas se que hay muchísimos controles ActiveX para realizarlo, naturalmente con VB no se puede realizar, salvo que utilices funciones de la API de Win32, pero seria muy complejo su uso, te recomiendo que ingreses a www.planet-source-code.com y ahí busca que seguramente encontrás algo, cualquier duda o consulta ya sabes que podes consultarme.
Respuesta
1
Esta difícil... Más debido a la distribución Geográfica del país... No se que tan grande sea tu mapa... pero hacer eso con los estados más chicos... va a ser una proeza...
Efectivamente... usando un control label... Estableces la propiedad Backstyle en 0-Transparent y El Fontcolor en color Opuesto al de la imagen... aunque lo puedes dejar sin texto... para que sirva solo de Mascara...
Al darle click... pues ya pones en el evento... un Msgbox... o hasta ponerla en un label debajo del mapa... Aunque incluso puedes poner en la Propiedad ToolTip... el nombre del estado... para que a la hora de que se posicione el Cursor sobre el label... muestre el mensajito con el nombre del estado... Lo más pesado va a ser acomodar los Labels...
Cualquier cosa... aquí estamos...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas