Visual Basic - problemas botones

Life is soft - evento anual de software empresarial
 
Vista:

problemas botones

Publicado por scorpionhack (120 intervenciones) el 28/10/2005 00:51:02
buenas:
Estoy aciendo un mp3 y quiero ponerle skins, pero tengo un problema con los botones ya k todos los botones los tengo metidos en una imagen(k es la siguiente):
<img src="http://usuarios.lycos.es/scorpionhack/player_buttons.bmp">

pero no se ke puedo hacer para k el picture solo reproduska una de las imagenes.
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:problemas botones

Publicado por Arnaldo (53 intervenciones) el 28/10/2005 03:07:22
si trabajas sobre un pictureBox o image que contiene esa imagen, entonces, podes jugar con las coordenadas de la imagen, Cuando realizas click derecho o hizquierdo, reconoce un rango de puntos y realiza determinada tardea. Por ejemplo:

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)

Select Case Button
'x,y conservan las coordenadas de la imagen
Case 1 'Boton derecho
'preguntas si la posicion esta dentro del los rangos que comprende
' alguno de los botones de tu programa, y ejecutas accion.
a=0
b=0
for t=0 to 5
For h=0 to 5
if ((x> (t*10)) and (x< (t+1)*10)) and ((y> h*10) and (y< (h+1)*10)) then
a=t
b=y
end if
next h
next t
Case 2 'Boton Izquierdo
' si te sirve el boton para algo, lo utlizas
End Select
Ejecutar Matriz(a,b) 'Ejecutar nombre del proceso de acciones parametro strinfg
End Sub

Dentro del case recorres la matriz comparando las coordenadas x, y dentro de un rango de posiciones.
Cada posicion dentro de la matriz puede contener en nombre de la accion (reproducir, adelantar, abrir,volumen, retroceder, etc)
entonces envias el nombre por parametro a un procedimiento y ejecutas la accion correspondiente.
Yo utlice un FOR, pero si elejis otra estructura mejor, asi no recorres toda la matriz, si no es necesario.

t=0 y h=0 corresponden al vertice superior izquierdo de tu imagen, calculas la coordenada del vertice opuesto, entonces te aseguras preguntar por todo el area que corresponderia a un boton. Yo supuse que cada boton tiene una dimencion de 10 x 10 unidades.
Al salir del FOR llamas al procedimiento correspondiente al control que señalaste en la imagen.
Fijate la menera de realizar las operaciones logicas que mas te convenga. Yo exprese esa, pero podes reducir la expresion.

Bueno espero que te haya sido de ayuda.

Arnaldo
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

RE:problemas botones

Publicado por Arnaldo (53 intervenciones) el 28/10/2005 03:07:24
si trabajas sobre un pictureBox o image que contiene esa imagen, entonces, podes jugar con las coordenadas de la imagen, Cuando realizas click derecho o hizquierdo, reconoce un rango de puntos y realiza determinada tardea. Por ejemplo:

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)

Select Case Button
'x,y conservan las coordenadas de la imagen
Case 1 'Boton derecho
'preguntas si la posicion esta dentro del los rangos que comprende
' alguno de los botones de tu programa, y ejecutas accion.
a=0
b=0
for t=0 to 5
For h=0 to 5
if ((x> (t*10)) and (x< (t+1)*10)) and ((y> h*10) and (y< (h+1)*10)) then
a=t
b=y
end if
next h
next t
Case 2 'Boton Izquierdo
' si te sirve el boton para algo, lo utlizas
End Select
Ejecutar Matriz(a,b) 'Ejecutar nombre del proceso de acciones parametro strinfg
End Sub

Dentro del case recorres la matriz comparando las coordenadas x, y dentro de un rango de posiciones.
Cada posicion dentro de la matriz puede contener en nombre de la accion (reproducir, adelantar, abrir,volumen, retroceder, etc)
entonces envias el nombre por parametro a un procedimiento y ejecutas la accion correspondiente.
Yo utlice un FOR, pero si elejis otra estructura mejor, asi no recorres toda la matriz, si no es necesario.

t=0 y h=0 corresponden al vertice superior izquierdo de tu imagen, calculas la coordenada del vertice opuesto, entonces te aseguras preguntar por todo el area que corresponderia a un boton. Yo supuse que cada boton tiene una dimencion de 10 x 10 unidades.
Al salir del FOR llamas al procedimiento correspondiente al control que señalaste en la imagen.
Fijate la menera de realizar las operaciones logicas que mas te convenga. Yo exprese esa, pero podes reducir la expresion.

Bueno espero que te haya sido de ayuda.

Arnaldo
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