Bueno esta es mi pregunta, cree unas funciones para median API crear un menu popup, y todo chevere tiene tres opciones que se llaman (1 mensaje, 2 saludos, 3 salir ) pero ahora tengo una duda, como al clikear una de estas opciones, puedo hacer que algo ocurra, por ejemplo en el 3 que al darle donde dice salir, cierre el form??
mmm a lo que entiendo es que tienes un menu como estos de archivo edicion etc etc no? bueno crealo ok
Pasos:
Crea los menus...
no los ocultes aun mejor ocutalos cuando se ejecute el form q los contiene
private sub form_load()
menu.visible=false
end sub
pero en el modo diseño despiegalos y dales un click a estos y te aparecera la region de programan de tal submenu
que deberia ser algo asi
private sub nombresubmenu_click()
unload me 'Descarga el formulario actual
end sub
o tambien puedes usar
private sub nombresubmenu_click()
end
end sub
no mira yo digo, con estas API ( y otras mas )
Private Declare Function CreatePopupMenu Lib "user32" () As Long
Private Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, ByVal lprc As Any) As Long
se puede hacer un PopUp menu, lo que no se hacer, es cuando cliokee una de las opciones que le pongo al menu ocurra algo!.. eso es lo que quiero saber como lo hago!
bien bueno aca esta deberias espesificar eso je xP
me acabe de leer esto <Click aca> (http://www.elguille.info/colabora/vb/menu_jordi.htm)
Private Declare Function CreatePopupMenu Lib "user32" () As Long
Private Declare Function DestroyMenu Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
Private Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, lprc As Any) As Long
Const TPM_NONOTIFY = &H80
Const TPM_RETURNCMD = &H100
Private Type PointAPI
x As Long
y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As PointAPI) As Long
Dim Menu As Long
Private Sub Form_Load()
Menu = CreatePopupMenu()
Call AppendMenu(Menu, MF_STRING, 1, "Me Corte las Venas")
Call AppendMenu(Menu, MF_STRING, 2, "Malditasea me muerrooo")
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim ID As Long
Dim Cursor As PointAPI
Call GetCursorPos(Cursor)
ID = TrackPopupMenu(Menu, TPM_NONOTIFY + TPM_RETURNCMD, Cursor.x, Cursor.y, 0, Me.hwnd, 0)
Select Case ID
Case 1:
MsgBox ("Me Corte las Venas")
Case 2:
MsgBox ("Malditasea me muerrooo")
Unload Me
End Select
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call DestroyMenu(Menu)
End Sub