You are on page 1of 7

ACC2000: Cómo deshabilitar el botón Cerrar (X) en la ventana de aplica... https://support.microsoft.

com/es-es/kb/245746

Al usar este sitio acepta el uso de cookies para análisis, contenido personalizado y publicidad.
Más información

0 Iniciar sesión

ACC2000: Cómo deshabilitar el


botón Cerrar (X) en la ventana
de la aplicación de Access
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): 245746

Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.

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).

1 de 7 22/04/2016 12:09 p.m.


ACC2000: Cómo deshabilitar el botón Cerrar (X) en la ventana de aplica... https://support.microsoft.com/es-es/kb/245746

RESUMEN

Microsoft Access no tiene ningún método integrado para deshabilitar el botón


Cerrar (X) en la ventana de la aplicación o el comando Cerrar en el menú
sistema de la ventana de la aplicación. Este artículo describe cómo deshabilitar
mediante programación estos dos.

MÁS INFORMACIÓN

Para deshabilitar el botón Cerrar aplicación y el comando Cerrar en el menú


sistema , debe llamar a las funciones GetSystemMenu y ModifyMenu de la API
Win32.

Microsoft proporciona ejemplos de programación únicamente con fines


ilustrativos, sin ninguna garantía expresa o implícita. Esto incluye, pero no se
limita a, las garantías implícitas de comerciabilidad o idoneidad para un
propósito particular. Este artículo asume 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 Módulo de clase.

4. Escriba el código siguiente en la sección Declaraciones:

Option Compare Database


Option Explicit

2 de 7 22/04/2016 12:09 p.m.


ACC2000: Cómo deshabilitar el botón Cerrar (X) en la ventana de aplica... https://support.microsoft.com/es-es/kb/245746

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

Private Declare Function GetMenuItemInfo Lib "user3


2" Alias _
"GetMenuItemInfoA" (ByVal hMenu As Long, ByVal u
n As Long, ByVal b As _
Long, lpMenuItemInfo As MENUITEMINFO) As Long

Private Type MENUITEMINFO


cbSize 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

Const MF_GRAYED = &H1&


Const MF_BYCOMMAND = &H0&
Const SC_CLOSE = &HF060&

5. El módulo de clase, agregue los siguientes procedimientos:

Public Property Get Enabled() As Boolean


Dim hWnd As Long
Dim hMenu As Long
Dim result As Long
Dim MI As MENUITEMINFO

3 de 7 22/04/2016 12:09 p.m.


ACC2000: Cómo deshabilitar el botón Cerrar (X) en la ventana de aplica... https://support.microsoft.com/es-es/kb/245746

MI.cbSize = Len(MI)
MI.dwTypeData = String(80, 0)
MI.cch = Len(MI.dwTypeData)
MI.fMask = MF_GRAYED
MI.wID = SC_CLOSE
hWnd = Application.hWndAccessApp
hMenu = GetSystemMenu(hWnd, 0)
result = GetMenuItemInfo(hMenu, MI.wID, 0, MI)
Enabled = (MI.fState And MF_GRAYED) = 0
End Property

Public Property Let Enabled(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 Property

6. En el menú archivo , haga clic en Guardar Neptuno (para guardar el


proyecto)y, cuando se le pida el nombre del módulo de clase, guárdelo
como CloseCommand.

7. En el menú Insertar , haga clic en módulo para crear un nuevo módulo


estándar.

8. Agregue el procedimiento siguiente al módulo:

Function InitApplication()
Dim c As CloseCommand
Set c = New CloseCommand

4 de 7 22/04/2016 12:09 p.m.


ACC2000: Cómo deshabilitar el botón Cerrar (X) en la ventana de aplica... https://support.microsoft.com/es-es/kb/245746

'Disable Close menu.


c.Enabled = False
End Function

9. En el menú Depurar , haga clic en Compilar Neptuno. Si el proyecto no se


compila correctamente, corregir los errores de compilación y, a
continuación, vuelva a compilar el proyecto.

10. En el menú archivo , haga clic en Guardar Neptunoy utilice el nombre


predeterminado que aparece en el cuadro Nombre del módulo , haga clic
en Aceptar.

11. Cree una nueva macro con las siguientes acciones y argumentos de la
acción:

Action
-------
RunCode

Action Arguments
-------------------------------
Function Name: InitApplication()

12. Guarde la macro y asígnele el nombre Autoexec.

13. Cierre la base de datos.

14. Vuelva a abrir la base de datos.

Tenga en cuenta que el botón Cerrar y el comando Cerrar en el menú sistema


de la ventana de la aplicación están deshabilitados.

Uso

El módulo de clase CloseCommand descrito en este artículo permite fácilmente


habilitar o deshabilitar el botón Cerrar y el comando Cerrar de la ventana de la
aplicación. El módulo de clase también puede comprobar el estado de estos
comandos para determinar si actualmente están habilitados o deshabilitados.
Antes de realizar cualquiera de estos, el código debe crear una instancia de la

5 de 7 22/04/2016 12:09 p.m.


ACC2000: Cómo deshabilitar el botón Cerrar (X) en la ventana de aplica... https://support.microsoft.com/es-es/kb/245746

clase CloseCommand, como se muestra en la función InitApplication


anteriormente en este artículo.

Para comprobar el estado del botón Cerrar , consulte la propiedad Enabled de


la instancia CloseCommand que crea el código. Del mismo modo, para
establecer el estado del botón Cerrar , asignar True o False a la propiedad
Enabled de la instancia CloseCommand que crea el código.

Tenga en cuenta que esta técnica afecta el botón Cerrar de la ventana de la


aplicación de Microsoft Access, no en el botón Cerrar de la ventana Base de
datos. Después de deshabilitar el botón Cerrar , el botón no se
automáticamente vuelve a 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 Microsoft Access mediante el botón Cerrar . En este caso, la
aplicación debe volver a habilitar el botón Cerrar antes de que termine. De lo
contrario, el usuario tendrá que salir y reiniciar Microsoft Access en orden
habilitar el botón Cerrar .

Esta técnica no deshabilita el comando Salir en el menú archivo . Si la aplicación


necesita deshabilitar este comando, debe personalizar el menú archivo para
quitar el comando Exit .

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 245746 - Última revisión: 12/05/2015 17:25:45 - Revisión: 3.0

La información de este artículo se refiere a:


Microsoft Access 2000 Standard Edition

Palabras clave:
kbnosurvey kbarchive kbmt KB245746 KbMtes

6 de 7 22/04/2016 12:09 p.m.


ACC2000: Cómo deshabilitar el botón Cerrar (X) en la ventana de aplica... https://support.microsoft.com/es-es/kb/245746

Soporte técnico Seguridad Ponerse en contacto con nosotros

Soporte de cuenta Centro de seguridad y protección Informar sobre una estafa de


de Microsoft soporte técnico
Lista de productos admitidos
Descargar Security Essentials Answer Desk para personas con
Ciclo de vida del soporte técnico discapacidad
del producto Herramienta de eliminación de
software malintencionado Buscar direcciones de Microsoft en
todo el mundo

Español (España, alfabetización internacional)

Términos de uso Privacidad y cookies Marcas comerciales © 2016 Microsoft

7 de 7 22/04/2016 12:09 p.m.