Cómo deshabilitar el botón Cerrar en la ventana de aplicación y el comando Salir en el menú archivo

Seleccione idioma Seleccione idioma
Id. de artículo: 300688 - Ver los productos a los que se aplica este artículo
Avanzado: Requiere codificación experto, interoperabilidad, conocimientos y multiusuario.

Este artículo hace referencia a una base de datos de Microsoft Access (.mdb) y a un proyecto de Microsoft Access (.adp).

Para obtener una versión de Microsoft Access 2000 de este artículo, consulte 245746.
Para obtener una versión de Microsoft Access 97 de este artículo, consulte 258049.
Expandir todo | Contraer todo

En esta página

Resumen

Microsoft Access no tiene ningún método integrado para deshabilitar el botón Cerrar (X) en la ventana de aplicación, el comando Cerrar del menú de sistema de la ventana de la aplicación o el comando Salir del menú archivo . En este artículo describe cómo deshabilitar mediante programación todos ellos.

Más información

Precaución : Si sigue los pasos descritos en este ejemplo, modificará la base de datos de ejemplo Neptuno.mdb. Quizás desee hacer una copia de seguridad del archivo Neptuno.mdb y realizar estos pasos sobre una copia de la base de datos.

Para deshabilitar el botón Cerrar aplicación y el comando Cerrar del menú sistema , debe llamar a las funciones GetSystemMenu y EnableMenuItem de la API Win32.

Para deshabilitar el comando Salir en el menú archivo , debe utilizar la colección CommandBars , que expone todas las barras de menús, barras de herramientas y menús contextuales en la aplicación a Visual Basic para aplicaciones de modo que se puede manipular mediante programación.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

Ejemplo paso a paso

  1. Inicie Microsoft Access.
  2. Abra la base de datos de ejemplo Neptuno.mdb.
  3. En el menú Insertar , haga clic en un módulo para crear un nuevo módulo estándar.
  4. Escriba el siguiente código en la sección Declaraciones:
    Option Compare Database
    Option Explicit
    
    Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _
        ByVal bRevert As Long) As Long
    
    Private Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As _
        Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As Long
    
    Const MF_GRAYED = &H1&
    Const MF_BYCOMMAND = &H0&
    Const SC_CLOSE = &HF060&
    
    Public Function SetEnabledState(blnState As Boolean)
        Call CloseButtonState(blnState)
        Call ExitMenuState(blnState)
    End Function
    
    'Disable the Menu Option
    Sub ExitMenuState(blnExitState As Boolean)
        Application.CommandBars("File").Controls("Exit").Enabled = blnExitState
    End Sub
    
    'Disable the Close Button Option
    Sub CloseButtonState(boolClose As Boolean)
        Dim hWnd As Long
        Dim wFlags As Long
        Dim hMenu As Long
        Dim result As Long
           
        hWnd = Application.hWndAccessApp
        hMenu = GetSystemMenu(hWnd, 0)
        If Not boolClose Then
            wFlags = MF_BYCOMMAND Or MF_GRAYED
        Else
            wFlags = MF_BYCOMMAND And Not MF_GRAYED
        End If
        
        result = EnableMenuItem(hMenu, SC_CLOSE, wFlags)
    End Sub
    					
  5. En el menú archivo , haga clic en Guardar Neptuno y utilice el nombre predeterminado que aparece en el cuadro Nombre haciendo clic en Aceptar .
  6. Crear un nuevo formulario con las siguientes características:
       Form: frmSetCloseState
       -------------------------
       Caption: Set Close State
    
       Command button
       ------------------------
       Name: cmdEnable
       Caption: Enable
       OnClick: Event Procedure
    
       Command button
       ------------------------
       Name: cmdDisable
       Caption: Disable
       OnClick: Event Procedure
    					
  7. En la vista Diseño, haga clic en el botón de comando Habilitar y haga clic en Generar evento en el menú que aparece.
  8. Haga clic en Generador de código , haga clic en Aceptar y, a continuación, escriba el código siguiente en el módulo resultante:
    Private Sub cmdEnable_Click()
        Call SetEnabledState(True)
    End Sub
    					
  9. Agregue el código siguiente en el botón de comando Deshabilitar
    Private Sub cmdDisable_Click()
        Call SetEnabledState(False)
    End Sub
    					
  10. Guarde el formulario y ábralo en la Vista formulario
Observe que el botón de comando Deshabilitar , el botón Cerrar , el comando Cerrar de la ventana de la aplicación y el comando Salir en el menú archivo están deshabilitadas. Si hace clic en el botón de comando Habilitar , se volverá a habilitar estos comandos.

Uso

El código descrito en este artículo permite fácilmente, habilitar o deshabilitar el botón Cerrar , el comando Cerrar de la ventana de la aplicación y el comando Salir en el menú archivo para impedir que salir de la aplicación utilizando estos métodos a los usuarios.

Tenga en cuenta que esta técnica afecta el botón Cerrar en la ventana de aplicación de Microsoft Access, no en el botón Cerrar la ventana base de datos . Después de deshabilitar estas opciones, ni se vuelve a automáticamente habilitar cuando se cierra la base de datos. Si el usuario cierra la base de datos y deja abierto Microsoft Access, el usuario no podrá salir de Access de Microsoft mediante el botón Cerrar o el comando Salir en el menú archivo . En este caso, la aplicación debe volver a habilitar ambas opciones antes de finalice. En caso contrario, el usuario tendrá que salir y reiniciar Microsoft Access para el botón Cerrar y el comando de salida en el menú archivo para habilitarse.

Propiedades

Id. de artículo: 300688 - Última revisión: miércoles, 31 de enero de 2007 - Versión: 6.2
La información de este artículo se refiere a:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Palabras clave: 
kbmt kbvba kbprogramming kbhowto KB300688 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 300688

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com