Red de conocimiento informático - Material del sitio web - Cómo utilizar SetMenuItemInfo para implementar la función de ModifyMenu

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