** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Desactivar el botón de cerrar aplicación
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoDesactivar el botón de cerrar aplicación

 Responder Responder
Autor
Mensaje
zelarra Ver desplegable
Habitual
Habitual


Unido: 21/Octubre/2020
Localización: España
Estado: Sin conexión
Puntos: 122
Enlace directo a este mensaje Tema: Desactivar el botón de cerrar aplicación
    Enviado: 11/Febrero/2021 a las 22:19
Buenas noches. He encontrado en este foro un post sobre cómo desactivar el botón de cerrar aplicación (la X de la esquina superior derecha de la ventana de Access). Sin embargo, el código que facilita es para 32 bits, y lo necesito para 64 bits, y la página que aporta ya no está disponible. Pero, vamos, que con que alguien me diga cómo se actualiza para 64 bits me doy por satisfecho.

El post es este: http://www.mvp-access.com/foro/quitar-boton-cerrar_topic81075.html

Y el código en cuestión este:

'*********************************************************
' DeleteMainMenu
'
' Rutina que desactiva las opciones del menú de la ventana
' principal de Access, como el botón cerrar, minimizar,
' etc.
' ' Argumentos
' ItemMenu: Opcional. Una cualquiera de las constantes
' declaradas más abajo, y que comienzan con el prefijo
' "SC_". Si no se pasa ningún argumento, la rutina
' desactivará todas las opciones
'

Private Declare Function GetSystemMenu _ Lib "user32" _ (ByVal hWnd As Long, _ ByVal bRevert As Long) As Long Private Declare Function DrawMenuBar _ Lib "user32" _ (ByVal hWnd As Long) As Long Private Declare Function DeleteMenu _ Lib "user32" _ (ByVal hMenu As Long, _ ByVal nPosition As Long, _ ByVal wFlags As Long) As Long

Public Const MF_BYCOMMAND = &H0& Public Const MF_BYPOSITION = &H400& ' Constante para la opción Cerrar
Public Const SC_CLOSE = &HF060 ' Constante para la opción Maximizar
Public Const SC_MAXIMIZE = &HF030 ' Constante para la opción Minimizar
Public Const SC_MINIMIZE = &HF020 ' Constante para la opción Mover
Public Const SC_MOVE = &HF010 ' Constante para la opción Restaurar
Public Const SC_RESTORE = &HF120 ' Constante para la opción Tamaño
Public Const SC_SIZE = &HF000 Public Sub DeleteMainMenu(Optional ItemMenu) Dim hMenu As Long ' obtenemos el identificador del menú de la ' ventana principal de Access hMenu = GetSystemMenu(Access.hWndAccessApp, False) If hMenu Then ' si no se le pasan argumentos a esta rutina ' entonces desactivara todas las opciones del menú If IsMissing(ItemMenu) Then ' deshabilita la opción "Maximizar" Call DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND) ' deshabilita la opción "Minimizar" Call DeleteMenu(hMenu, SC_MINIMIZE, MF_BYCOMMAND) ' deshabilita la opción "Tamaño" Call DeleteMenu(hMenu, SC_SIZE, MF_BYCOMMAND) ' deshabilita la opción "Mover" Call DeleteMenu(hMenu, SC_MOVE, MF_BYCOMMAND) ' deshabilita la opción "Restaurar" Call DeleteMenu(hMenu, SC_RESTORE, MF_BYCOMMAND) ' deshabilita la opción "Cerrar" Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND) ' por último quitamos la barra separadora Call DeleteMenu(hMenu, 0, MF_BYPOSITION) Else ' deshabilita la opción indicada en ItemMenu Call DeleteMenu(hMenu, ItemMenu, MF_BYCOMMAND) End If ' Redibujamos botones y menú Call DrawMenuBar(Access.hWndAccessApp) End If End Sub '
' La siguiente rutina restaura el menú de la ventana
' principal de Access a su estado original '

Public Sub RestoreMainMenu() ' Habilita el menú a su estado original Call GetSystemMenu(Access.hWndAccessApp, True) Call DrawMenuBar(Access.hWndAccessApp) End Sub
'
' Si queremos desactivar del todo la opción "Cerrar" del
' programa, deberemos añadir en algún punto de nuestro
' código la siguiente instrucción, que deshabilitará la
' opción "Salir" del menú "Archivo"
'

CommandBars("Menu Bar"). _
Controls("Archivo"). _
Controls("Salir"). _
Enabled = False
'
' y eso es todo, amigos ;-)
'*********************************************************

¡Mil gracias!
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 11/Febrero/2021 a las 22:50
Un Saludo.
Arriba
zelarra Ver desplegable
Habitual
Habitual


Unido: 21/Octubre/2020
Localización: España
Estado: Sin conexión
Puntos: 122
Enlace directo a este mensaje Enviado: 11/Febrero/2021 a las 22:56
Muchas gracias, mounir. El primer código que has posteado me sirve.

Podéis cerrar el hilo.

Buenas noches.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable