Menu contextual con el boton izquierdo

19/09/2005 - 04:50 por Fabian | Informe spam
Estoy buscando el codigo para menu contextual, en este caso, solo con dos
opciones.
Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
If Button <> 2 Then Exit Sub
Codigo para menu de boton izquierdo

End sub

Preguntas similare

Leer las respuestas

#1 Fabian
21/09/2005 - 17:54 | Informe spam
Encontre algo, para explicarlo mejor:
Set copyAndPasteMenu = CommandBars.Add( _
Name:="Custom", Position:=msoBarPopup, _
Temporary:=True)
Set copy = copyAndPasteMenu.Controls.Add
With copy
.FaceId = CommandBars("Standard").Controls("Copy").Id
.Caption = "Copy the selection"
End With
Set paste = copyAndPasteMenu.Controls.Add
With paste
.FaceId = CommandBars("Standard").Controls("Paste").Id
.Caption = "Paste from the Clipboard"
End With
copyAndPasteMenu.ShowPopup 200, 200

Con respecto a este codigo tengo algunas preguntas, despues de ejecutarlo no
se puede vover a ejecutar!!!???
Como hago para borrar el nombre?, como hago para volver a ver el menu si
solo lo puedo ejecutar una sola vez y luego da error, a menos que le cambie
el nombre?, como puedo hacer para asignarle una macro a cada sub menu tal
como lo hace excel con el contextual de las hojas?
Set copyAndPasteMenu = CommandBars.Add( _
Name:="MiMenu", Position:=msoBarPopup,¿[ MenuBar]?,Temporary:=True)
.Caption="Macro1"
.Caption="Macro2"
Respuesta Responder a este mensaje
#2 Fabian
22/09/2005 - 05:39 | Informe spam
Sub test()
On Error Resume Next
Set BorrarBuscar = CommandBars.Add( _
Name:="MiMenu", Position:=msoBarPopup, _
Temporary:=True)
Set BorrarB = BorrarBuscar.Controls.Add
With BorrarB
.Caption = "Borrar Celdas"
.OnAction = "Borrar"
End With
Set BuscarB = BorrarBuscar.Controls.Add
With BuscarB
.Caption = "Buscar Celda"
.OnAction = "Buscar"
End With
BorrarBuscar.ShowPopup
Application.CommandBars("MiMenu").Delete
End Sub
Respuesta Responder a este mensaje
#3 Héctor Miguel
22/09/2005 - 06:03 | Informe spam
hola, Fabian !

[solo unos comentarios 'al margen'] :D

[primero] FELICITARTE por haber 'llegado al punto' de resolver una cuestion que...
[aparentemente] te resultaba un tanto cuanto 'dificil de exponer/explicar/...' :))

[segundo] solo haria falta que el procedimiento lo asignes al evento 'apropiado'
[probablemente] notaras algunas 'inconsistencias' en tus mensajes con respecto de...
lo que decias 'necesitar'... y en que momento debia 'ejecutarse'... y con cual boton debia 'activarse' :(

[tercero] AGRADECERTE por exponer los avances de tus experimentos ;)

[cuarto] solamente 'sugerirte/advertirte/...' [es muy probable] que...
-> al ejecutar en repetidas ocasiones una accion de agregar/eliminar/reponer/volover_a_eliminar/...
una barra de herramientas o menus 'personalizada'...
-> estas corriendo el riesgo de 'corromper' el archivo que guarda la configuracion de las barras [*.XLB]
[no se ni mencionas cuantas veces se ejecutaria la accion de tus macros] -?-
-> te sugiero que agregues la barra personalizada UNA SOLA vez [p.e. al abrirse el libro]
[incluso... podrias ->adjuntarla<- a tu libro]
y que SOLO la elimines ->al salir<- de tu aplicacion [al cerrar 'el libro']

Felicidades !!! y... Gracias !!!
saludos,
hector.
Respuesta Responder a este mensaje
#4 Fabian
23/09/2005 - 02:30 | Informe spam
Gracias por contestar, les cuento, estoy usando el evento de mouseup y
utilizo el boton izquierdo, ya habia hecho una barra con botones para
diferentes macros, la cual se arma cuando se abre el libro y en determinadas
circunstancias se esconde, y como mencionaste se borra al cerrar el libro
para no aparecer cuando se abre otro libro. El tema es que el tipo de menu
que escribi no tiene el mismo comportamiento.(No pude lograr lo mismo).
Aqui transcribo un pedazo del codigo que tengo armado en el mismo libro,
(falta una parte del codigo que es similar a la transcripta).Con este tipo
de menu(Botones), me funciona el tema de ocultar y visualizar.
Private Sub workbook_open()
Application.CommandBars("Comandos Estadística").Delete
Dim Comandos As CommandBar
Dim i As Integer
Set Comandos = Application.CommandBars("Comandos Estadística")
On Error GoTo 0
Set Comandos = Application.CommandBars.Add(Name:="Comandos Estadística")
For i = 1 To 13
Comandos.Controls.Add Type:=msoControlButton
Next i
With Comandos.Controls(1)
.OnAction = "Orden"
.FaceId = 38
.TooltipText = "Ordenar por importe"
End With
With Comandos.Controls(13)
.OnAction = "Resguardo"
.FaceId = 1019
.TooltipText = "Hacer resguardo del archivo"
End With
Application.CommandBars("Comandos Estadística").Controls.Add Type:= _
msoControlButton, ID:9, Before:=6
With Comandos
.Left = 450
.Top = 100
.Width = 370
End With
Comandos.Enabled = True
Comandos.Visible = True
End Sub
Vuelvo al codigo que escribi en la nota anterior,(hago caso a tus
comentarios) ¿como hago para esconder y luego hacer visible este tipo de
menu?.
Saludos.
Respuesta Responder a este mensaje
#5 Héctor Miguel
23/09/2005 - 05:48 | Informe spam
hola, Fabian !

... ya habia hecho una barra con botones para diferentes macros
... el tipo de menu que escribi no tiene el mismo comportamiento
... transcribo un pedazo del codigo que tengo armado en el mismo libro
... como hago para esconder y luego hacer visible este tipo de menu? [...]



1) en el codigo que expones la barra que creas es del tipo 'normal'
-> Application.CommandBars.Add(Name:="Comandos Estadística") <-

2) el comportamiento que 'buscas' es inherente al 'tipo' de commandbar 'msoBarPopup'
-> CommandBars.Add(Name:="MiMenu", Position:=msoBarPopup, Temporary:=True) <-

3) para que 'aparezca' [segun el evento al que necesites asignar dicha 'aparicion']...
solo necesitas una instruccion similar al ejemplo anterior que expusiste... [p.e.]
-> Application.CommandBars.Add(Name:="Comandos Estadística").ShowPopup <-
[siempre y cuando al 'crear' la barra la definas como del tipo 'msoBarPopup'] <= OJO
-> p.e. en el evento: Private Sub ListBox1_MouseUp(... ... ...

comentas?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida