Visual Basic - Imágenes sensibles

Life is soft - evento anual de software empresarial
 
Vista:

Imágenes sensibles

Publicado por Herni (46 intervenciones) el 14/09/2004 02:06:35
Quería saber si es posible crear con Visual Basic imágenes sensibles. O si no por lo menos usar este tipo de imágenes al igual que ocurre en internet utilizando algún programa ajeno a Visual Basic.
Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Imágenes sensibles

Publicado por Ruri (583 intervenciones) el 14/09/2004 04:00:24
Henri: Tenés varias opciones:
1. Si las regiones son rectángulares, lo dudo, basta colocar un montón de controles image y utilizar el evento click.
2. Si no son rectángulares, se me ocurren tres soluciones:
a. Crear un bitmap con las regiones "sensibles", cargarlo en un control image y utilizar el evento Mouse_Down para reconocer la región "sensible" con un gran if o select case que identifique cada región. Vas a tener que dividir cad región en fetas pequeñas para que resulte útil.
b. Utilizar varios pictures con las imágenes cargadas, llamar a las Apis apropiadas para crear las regiones que vos querés y usás el evento click
c. Es la menos ortodoxa. Utilizá una página html con regiones sensibles. Por ejemplo, acabo de crear una página html con un cuadrado, un cículo grande y uno pequeño, cada una de estas regiones posee un link diferente, http:\\www.x.com,http:\\www.y.com,http:\\www.z.com respectivamente, (no hace falta que sea http:\\www.xxxx.com, puede ser cualquier cosa). Luego colocás un control webbroowser que muestre esta página y utilizás el evento BeforeNavigate2 para interceptar el link. El código sería así:

Option Explicit

Private Sub Form_Load()
WebBrowser1.Navigate2 App.Path & "\index.htm"
End Sub

Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)

Select Case URL
Case "http://www.x.com/"
Cancel = 1
MsgBox "Tocó el cuadrado"
Case "http://www.y.com/"
Cancel = 1
MsgBox "Tocó el círculo grande"
Case "http://www.z.com/"
Cancel = 1
MsgBox "Tocó el círculo chico"
End Select
End Sub

Ésta última es sencilla y funciona bien, la acabo de probar. Espero que te sea útil

Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar