Autor Tema: Detectar click sobre icono cargado en el Form  (Leído 3356 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Detectar click sobre icono cargado en el Form
« en: Agosto 08, 2015, 01:45:00 pm »
Hola, tengo esta pequeña función en donde cargo una imagen dentro del form

Código: (VB) [Seleccionar]
Private Sub Command1_Click()
    Call PintarIcono(500, 500, Me)
End Sub

Código: (VB) [Seleccionar]
Public Sub PintarIcono(ByVal xPos As Integer, ByVal yPos As Integer, xForm As Form)

    Dim pic1 As StdPicture
    Set pic1 = LoadPicture("e:\icono.ico")
    xForm.PaintPicture pic1, xPos, yPos
   
End Sub

Hasta ahi todo bien puedo mostrar sin problema el icono, lo que necesito es saber si se puede hacer click sobre el icono que cargue en el form y que haga una accion pero solo donde esta situado el icono que se cargo.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Detectar click sobre icono cargado en el Form
« Respuesta #1 en: Agosto 08, 2015, 06:10:14 pm »
A ver si se puede hacer esto.
Capturás las coordenadas donde se hace clic sobre el form.
Comparás si la coordenada x es mayor o igual que la posisión x del ícono sobre el form y menor o igual que la posición x del ícono más el ancho del ícono, y lo mismo para la coordenada y.
Para esto las unidades de medida del form y del ícono debieran ser las mismas (twips, pixels, etc.)
Algo así (en bruto)

Código: (VB) [Seleccionar]
'Este código iría en el evento MouseDown del formulario
'ClicX y ClicY representan el punto donde se hizo clic en el formulario
'PosX y PosY representan  las coordenadas donde se dibujó el ícono
'Ancho y Alto representan el ancho y el alto del ícono
If ClicX >= PosX and ClicX <= PosX + Ancho and ClicY >= PosY and ClicY <= PosY + Alto then
'Se hizo clic sobre el ícono
End If

Jerónimo