VBasicFacil

Principal - Enlaces - Código - Controles - API


Función RemoveMenu

Declaración

Declare Function RemoveMenu Lib "user32" Alias "RemoveMenu" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long

Plataformas

Descripción

Elimina un item determinado del menú especificado. Si el item del menú abre un menú drop-down o un submenú, no podremos eliminar el item hasta eliminar el menú correspondiente.

Parámetros

hMenu Manejador del menú al que se le va a quitar algún item.

uPosition Indica el item del menú a eliminar, determinado por el parametro uFlags parameter.

wFlags Indica como es interpretado el parametro uPosition. Este parametro debe tener uno de los siguientes valores:

MF_BYCOMMAND Indica que el parametro uPosition da el identificador del item del menú. Si no se pone ninguno de los dos indicadores se supone que es MF_BYCOMMAND.

MF_BYPOSITION Indica que el parametro uPosition se refiere a la posición relativa del item en el menú (comenzando en 0).

Valor devuelto

Si se produce un error devuelve 0, sino devuelve distinto de 0.

Ejemplo

Este ejemplo permite eliminar un item del menú de la barra de título de una ventana que localizamos por su título.

Formulario (Crear un formulario con un CommandButton)

Option Explicit


Private Sub Form_Load()
    Dim hWndWindow As Long  'Manejador de la ventana
    Dim hWndMenu As Long    'Manejador del menu
    Dim Cont As Long        'Contador de items del menu
    
    'Capturamos el manejador de la ventana cuyo título es "MS-DOS"
    hWndWindow = FindWindow(vbNullString, "MS-DOS")
    'Si existe la ventana MS-DOS capturamos el manejador del menú
    If hWnd <> 0 Then
        hWndMenu = GetSystemMenu(hWndWindow, False)
    End If
    If hWndMenu <> 0 Then
        'Si existe el menu borramos el item 6 del mismo
        'En Windows 2000 el item 6 es cerrar
        RemoveMenu hWndMenu, 6, MF_BYPOSITION Or MF_REMOVE
    End If
End Sub

Private Sub Command1_Click()
    Unload Me
End Sub

Modulo

Option Explicit


Public Declare Function GetSystemMenu _
        Lib "user32" _
       (ByVal hWnd As Long, _
        ByVal bRevert As Long) As Long
Public Declare Function RemoveMenu _
        Lib "user32" _
       (ByVal hMenu As Long, _
        ByVal nPosition As Long, _
        ByVal wFlags As Long) As Long
Public Declare Function FindWindow _
        Lib "user32" _
        Alias "FindWindowA" _
       (ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
        
Public Const MF_BYPOSITION = &H400&
Public Const MF_REMOVE = &H1000&
Public Const MF_BYCOMMAND = &H0
Public Const MF_GRAYED = &H1
Descargar código : RemoveMenu.zip

 

VB.NET

Clase

System.Windows.Forms.Menu.Remove

Aplicaciones:

Ver también: FindWindowEx, ShowWindow

Categoría: Window


Ultima actualización : 29 de noviembre de 2003
Copyright © 2003 Silared, s.l.
correo-e : vbasicfacil@silared.com
Site : www.vbasicfacil.com