Visual Basic - PopUpMenu en listbox

Life is soft - evento anual de software empresarial
 
Vista:

PopUpMenu en listbox

Publicado por Oneko (5 intervenciones) el 15/01/2003 20:01:48
Hola, queria saber si hay alguna manera de crear un menu que aparezca al pulsar con el boton derecho del raton en una listbox, y que ademas seleccione el item correspondiente de la lista. Gracias.
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:PopUpMenu en listbox

Publicado por maCo (123 intervenciones) el 16/01/2003 00:19:50
segun creo, esto no es posible desde visual basic, quizas me equivoque, pero una vez mas las API\'s de Windows estan aqui para salvarnos :D

mira este codigo que hize:

Option Explicit

Private Declare Function SendMessage Lib \"user32\" Alias \"SendMessageA\" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_ITEMFROMPOINT = &H1A9

Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Index As Long
Dim XPoint As Long
Dim YPoint As Long
Dim ZPoint As Long

If Button = vbRightButton Then \'-- boton derecho presionado
XPoint = CLng(X / Screen.TwipsPerPixelX)
YPoint = CLng(Y / Screen.TwipsPerPixelY)
ZPoint = CLng(YPoint * &H10000 + XPoint)
With List1
Index = SendMessage(.hWnd, LB_ITEMFROMPOINT, 0, ByVal ZPoint)
If Index >= 0 And Index <= .ListCount Then
.Selected(Index) = True '-- selecionar item
End If
End With
PopupMenu mnuFile '-- mostrar popupmenu
End If
End Sub

chao
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:PopUpMenu en listbox

Publicado por Pedro Luis (878 intervenciones) el 16/01/2003 13:37:41
Espero que lo que dice el compañero Maco funcione, pero nunca me gustaron las Apis .
Si estamos hablando de Vb6, tenemos un metodo Popupmenu que junto con el editor de menus nos permite crear menus emergentes.
En el editor de menus crea una linea principal de menu con la propidad visible false y nombre MenuAux (por ejemplo)
A continuacion varias lineas secundarias y visibles (un sangrado)
Este menu al tener la linea principal no visible, no se verá al ejecutar.
En el Formulario elegido en el evento mouseup escribir
if Button=2 then popupmenu menuaux (el boton derecho es el 2)
Si ejecutais y pulsais el derecho sobre el formulario debe aprecer el menú, en caso contrario no habrá devolución de dinero
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:PopUpMenu en listbox

Publicado por Oneko (5 intervenciones) el 16/01/2003 23:24:35
Lo que ha mandau Maco funsiona de maravilla, pero la funsion del codigo no es sacar un menu emergente solamente, sino que ademas te seleccione el item deseado de una listbox.
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