Cómo utilizar SetMenuItemInfo para implementar la función de ModifyMenu
Uso de 'SetMenuItemInfo
¿Privado?Const?MFT_RADIOCHECK?=?&H200&
Privado?Const?MIIM_TYPE?=?&H10
Privado ?Const?MIIM_SUBMENU?=?&H4
¿Privado?Tipo?MENUITEMINFO cbTamaño?As?Long fMáscara?As?Long fTipo?As?Long fEstado?As?Long wID?As?Long hSubMenu?As?Long ¿hbmpChecked?As?Long hbmpUnchecked?As?Long dwItemData?As?Long dwTypeData?As?String cch?As?Long
Fin?Tipo
¿Privado?Declarar?Función?GetMenu? Lib?"user32"?(ByVal?hwnd?As?Long)?As?Long
¿Privado?Declarar?Función?GetMenuItemInfo?Lib?"user32"?Alias?"GetMenuItemInfoA"?(ByVal?hMenu ?As?Long,?ByVal?un?As?Long,?ByVal?b?As?Boolean,?lpmii?As?MENUITEMINFO)?As?Long
¿Privado?Declarar?Función?SetMenuItemInfo?Lib ?"user32"?Alias?"SetMenuItemInfoA"?(ByVal?hMenu?As?Long,?ByVal?uItem?As?Long,?ByVal?fByPosition?As?Long,?lpmii?As?MENUITEMINFO)?As?Long
¿Privado?¿Declarar?Función?GetSubMenu?Lib?"usuario32"?(ByVal?hMenu?As?Long,?ByVal?nPos?As?Long)?As?Long
Privado ?Sub?Form_Load()
'URL:?
'E-Mail:?KPDTeam@allapi.net
Dim?hMenu?As?Long, ?hSubMenu?As?Long,?MII?As?MENUITEMINFO
'obtener?el?identificador?del?menú?actual
hMenu?=?GetMenu(Me.hwnd )
'obtener?el?identificador?del?primer?submenú
hSubMenu?=?GetSubMenu(hMenu,?0)
'inicializar? la?estructura
MII.cbSize?=?Len(MII)
MII.fMask?=?MIIM_SUBMENU
'recuperar?información?sobre?la? menu?item
GetMenuItemInfo?hSubMenu,?0,?True,?MII
Si?MII.hSubMenu?<>?0?The
n
¿MsgBox?"El?elemento?de?menú?especificado?tiene?un?submenú."
Else
¿MsgBox?"¿El?menú?especificado? ¿El elemento? no? ?de?una?marca de verificación
MII.fMask?=?MIIM_TYPE
MII.fType?=?MFT_RADIOCHECK
MII.dwTypeData?=?mnuFileMenuItem .Caption
SetMenuItemInfo?hSubMenu,?0,?True,?MII
Fin?Sub
Privado?Sub?mnuFileMenuItem_Click()
'si?marcado?entonces?desmarcar
'si?desmarcado?entonces?marcar
mnuFileMenuItem.Checked?=?No?(mnuFileMenuItem.Checked)
Fin?Sub