Cómo utilizar SetMenuItemInfo para implementar la función de ModifyMenu
Uso de 'SetMenuItemInfo
¿Privado?Const?MFT_RADIOCHECK?=?amp; H200amp;
¿Privado?Const?MIIM_TYPE?=?amp; >
¿Privado?Const?MIIM_SUBMENU?=?amp;H4
¿Privado?Tipo?MENUITEMINFO cbTamaño?As?Long fMask?As?Long fType?As?Long fState?As?Long wID?As ?Long hSubMenu?As?Long hbmpChecked?As?Long hbmpUnchecked?As?Long dwItemData?As?Long dwTypeData?As?String cch?As?Long
End?Type
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?"user32"?(ByVal?hMenu?As?Long,?ByVal?nPos?As?Long)?As?Long
¿Privado?Sub?Form_Load()
'URL:?
'Correo electrónico:?KPDTeam@allapi.net
Dim ?hMenu?As?Long, ?hSubMenu?As?Long, ?MII?As?MENUITEMINFO
'obtiene?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
?el?elemento?del?menú
GetMenuItemInfo?hSubMenu,?0,?True,?MII
If?MII.hSubMenu?lt;gt;?0?Then
¿MsgBox?"El?elemento?de?menú?especificado?tiene?un?submenú."
Else
¿MsgBox?"¿El?elemento?de?menú?especificado?no? ?tiene?un?submenú."
¿Fin?Si
'mostrar?elementos?de?menú?marcados?utilizando?una?marca?de?botón de opción?en?lugar?de?una? check?mark
MII.fMask?=?MIIM_TYPE
MII.fType?=?MFT_RADIOCHECK
MII.dwTypeData?=?mnuFileMenuItem.Caption
SetMenuItemInfo?hSubMenu,?0,?True,?MII
Fin?Sub
¿Privado?Sub?mnuFileMenuItem_Click()
'if? ¿marcado?luego?desmarcar
'si?desmarcado?luego?marcar
mnuFileMenuItem.Checked?=?No?(mnuFileMenuItem.Checked)
End?Sub