pregunta sobre API

Iniciado por ricardovinzo, 16 Septiembre 2008, 02:16 AM

0 Miembros y 1 Visitante están viendo este tema.

ricardovinzo

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??
3# Convocacion de Moderadores en Code Makers, entra!

BlackZeroX

#1
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
The Dark Shadow is my passion.

ricardovinzo

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!
3# Convocacion de Moderadores en Code Makers, entra!

BlackZeroX

#3
bien bueno aca esta deberias espesificar eso je xP

me acabe de leer esto <Click aca>

Código (vb) [Seleccionar]

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
The Dark Shadow is my passion.