Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

despegar un menu en evento onclick

Estas en el tema de despegar un menu en evento onclick en el foro de Visual Basic clásico en Foros del Web. Hola, queria saber como hacer para que cuando haga un click sobre un label se abra un menu contextual, donde cual elijo una opcion (por ...
  #1 (permalink)  
Antiguo 20/10/2008, 14:22
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
despegar un menu en evento onclick

Hola, queria saber como hacer para que cuando haga un click sobre un label se abra un menu contextual, donde cual elijo una opcion (por ejemplo ponerle un color).
Espero que se entienda mi pregunta.
Ahora estoy haciendo una prueba muy sencilla, cuando le hago click a un label me abre otro form

If chek1.Value = 1 Then
Form1.Label4 BackColor = vbYellow

End If
If chek2.Value = 1 Then
Form1.Label3 = vbBlue

End If
pero no me deja la opcion del back color

si alguien me puede ayudar!! gracias de antemano
  #2 (permalink)  
Antiguo 20/10/2008, 14:32
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Respuesta: despegar un menu en evento onclick

busca en la ayuda de visual POPUPMENU

funciona algo asi

promero defines en tu formulario un menu comun y corriente ejemplo :

menuprb
----Ingreso
----Modificacion
----Eliminar

luego a menuprb lo marcas como invisible

y en el evento click colocas

popupmenu menuprb

con eso te despliega el menu que definiste y las opciones las programas como si fuera un menu comun y corriente

pero te insisto esta todo en la ayuda de popupmenu
  #3 (permalink)  
Antiguo 20/10/2008, 14:52
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: despegar un menu en evento onclick

MUCHAS GRACIAS!!
lo que hice fue algo como lo que dijiste y despues me quedo el codigo asi
Private Sub Label3_MouseUp(Index As Integer, Label3 As Integer, Shift As Integer, X As Single, Y As Single)
If Label3 = vbRightButton Then
Me.PopupMenu mnuContextual
If mnuexis = True Then
Label3.backcolor = vbred
End If
End Sub

el menu me anduvo!! pero ahora el label no me toma la opcion backcolor....... bahh en realidad me pone que le label 3 "calificador no valido"..... yo le quiero poner el color que me seleccionen el el menu
  #4 (permalink)  
Antiguo 20/10/2008, 17:18
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Respuesta: despegar un menu en evento onclick

ke bueno ke funcione, ahora supongamos que tienes diseñado tu menu de la siguiente manera

mnucontextual
----rojo
----azul
----negro

entonces en la pantalla de siseño busco el evento rojo y escribo lo siguiente

Private Sub rojo_Click()
label3.backcolor=vbred
End Sub

lo mismo para el azun y el verde, ahora para que te muestre el menu cuando le de click con el boton derecho hago o siguiente :
ojo que segun el nombre que le pusiste a la opcion del menu es el que tienes buscar el evento click, yo le puse rojo quizas tu tengas que buscar mnuaxis_click y asi para cada opcion del menu que necesites buscar.... ahora me estoy puro dando vueltas, en tiempo de diseño dale click a cada opcion y la programas.. jejeje sorry

Private Sub Label3_MouseUp(Index As Integer, Label3 As Integer, Shift As Integer, X As Single, Y As Single)
if button=2 then
popupmenu mnucontextual
endif
End Sub


prueba y avisas, saludos
  #5 (permalink)  
Antiguo 20/10/2008, 18:03
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: despegar un menu en evento onclick

Hola!! muchas gracias por tu ayuda!!!

los eventos del menu me salieron... pero no entiendo muy bien como disparar el evento cuando le hago click derecho y selecciono por ejemplo rojo
yo hice esto
Private Sub mnuexis_Click(Index As Integer)
Label3.BackColor = vbRed
End Sub

y despues...??

Private Sub Label3_MouseUp(Index As Integer, Label3 As Integer, Shift As Integer, X As Single, Y As Single)

que pongo aca??
no me resulta igual a los menues comunes.... jeje


End Sub

Igualmente no me acepta esta sentencia
Label3.BackColor = vbRed, el BackColor sabes porque??

MUCHAS GRACIAS KRUZADO!!

Última edición por analoyra; 20/10/2008 a las 18:12 Razón: correccion
  #6 (permalink)  
Antiguo 21/10/2008, 07:58
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Respuesta: despegar un menu en evento onclick

para que te muestre el menu cuando apretes el boton derecho prueba con esto

Private Sub Label3_MouseUp(Index As Integer, Label3 As Integer, Shift As Integer, X As Single, Y As Single)
if button=2 then
popupmenu mnucontextual
endif
End Sub
  #7 (permalink)  
Antiguo 21/10/2008, 08:33
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: despegar un menu en evento onclick

OK, el menu funciona!!!
pero me sigue sin aceptar la propiedad de backcolor
Igualmente no me acepta esta sentencia
Label3.BackColor = vbRed,me pone que no se eoncontro el metodo o miembro de datos, si presiono crtl+ j directamente me muestra unas pocas propiedades......... sabes porque??

MUCHAS GRACIAS KRUZADO!!
  #8 (permalink)  
Antiguo 21/10/2008, 09:05
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: despegar un menu en evento onclick

Cita:
Iniciado por analoyra Ver Mensaje
OK, el menu funciona!!!
pero me sigue sin aceptar la propiedad de backcolor
Igualmente no me acepta esta sentencia
Label3.BackColor = vbRed,me pone que no se eoncontro el metodo o miembro de datos, si presiono crtl+ j directamente me muestra unas pocas propiedades......... sabes porque??

MUCHAS GRACIAS KRUZADO!!
No te lo acepta porque, aparentemente el label3 es un array de controles y le tienes que indicar el índice:

Label3(0).BackColor = vbRed

Y esto aparece así??
Private Sub Label3_MouseUp(Index As Integer, Label3 As Integer, Shift As Integer, X As Single, Y As Single)

No será 'Button'?

  #9 (permalink)  
Antiguo 21/10/2008, 09:09
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: despegar un menu en evento onclick

Tenias razon!!! anda perfecto

Por ultimo, como puedo guardar los colores que le pongo a cada label en una bd de access?

MUCHAS GRACIAS !!
  #10 (permalink)  
Antiguo 21/10/2008, 09:30
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: despegar un menu en evento onclick

Cita:
Iniciado por analoyra Ver Mensaje
Tenias razon!!! anda perfecto

Por ultimo, como puedo guardar los colores que le pongo a cada label en una bd de access?

MUCHAS GRACIAS !!
Pues creas la bd y en ella una tabla llamada p.e. 'Colores' con un campo tipo numérico (ten en cuenta que la propiedad BackColor devuelve un número y no un string) llamado 'Color'.

Abres la conexión a la BD y después con una consulta de datos añadidos:

conex.Execute "INSERT INTO Colores(Color) VALUES ('" & Label(x).BackColor & "'")



Edito: La tabla debería tener dos campos, uno para el Label (Texto) y otro (Numérico) para el BackColor.
Y en la consulta tienes que poner los dos campos.
  #11 (permalink)  
Antiguo 21/10/2008, 11:01
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Respuesta: despegar un menu en evento onclick

gracias avellaneda, lo voy a probar........

les agradezco al foro por toda la ayuda....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:55.