Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/08/2009, 15:16
LeandroA
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
Respuesta: Mapeo de Imagen en VB

lo mejor es trabjar con regiones pero quizas te la complique mucho, pero bueno si eso seria es mas facil.

mas facil aun seria utilizar picurebox ya que estos tiene el evento click pero vamos a lo que tu buscas

agrega dos shape a un formulario y el siguiente codigo

Código:
Option Explicit

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If X > Shape1.Left And Y > Shape1.Top And X < Shape1.Left + Shape1.Width And Y < Shape1.Top + Shape1.Height Then
    MsgBox Now
End If

If X > Shape2.Left And Y > Shape2.Top And X < Shape2.Left + Shape2.Width And Y < Shape2.Top + Shape2.Height Then
    Unload Me
End If

End Sub

esto es sensillo porque solo dices de usar 2 shape ahora supongamos que quieres utilizar 50 el codigo seria muy extenxo entoses te combiene utilizar array de controles y puedes emplear un codigo como este

Código:
Option Explicit

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Long
For i = 0 To Shape1.Count - 1
    If X > Shape1(i).Left And Y > Shape1(i).Top And X < Shape1(i).Left + Shape1(i).Width And Y < Shape1(i).Top + Shape1(i).Height Then
        Call Shape_Click(i)
    End If
Next
End Sub


Private Sub Shape_Click(index As Long)
    Select Case index
        Case 0
            MsgBox "hola"
        Case 1
            MsgBox "chau"
        Case 2
            MsgBox "coca cola"
        Case 3
            MsgBox "sapallo"
    End Select
End Sub
Saludos
__________________
www.leandroascierto.com