Como desativar o botão Fechar na janela do aplicativo e o comando Sair no menu Arquivo

Traduções deste artigo Traduções deste artigo
ID do artigo: 300688 - Exibir os produtos aos quais esse artigo se aplica.
Avançadas: Requer especialista de codificação, interoperabilidade e habilidades de multiusuário.

Este artigo se aplica a um banco de dados do Microsoft Access (.mdb) e para um projeto Microsoft Access (.adp).

Para uma versão deste artigo do Microsoft Access 2000, consulte 245746.
Para uma versão deste artigo do Microsoft Access 97, consulte 258049.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Microsoft Access não tem nenhum método interno para a desabilitação do botão Fechar (X) na janela do aplicativo, o comando Fechar no menu de sistema da janela do aplicativo ou o comando Sair no menu arquivo . Este artigo descreve como desabilitar todos esses programaticamente.

Mais Informações

cuidado : se você seguir as etapas neste exemplo, você modificar o banco de dados de exemplo Northwind.mdb. Convém fazer o backup do arquivo Northwind.mdb e seguir essas etapas numa cópia do banco de dados.

Para desativar o botão Fechar do aplicativo e o comando Fechar no menu de sistema , você deve chamar as funções GetSystemMenu e EnableMenuItem da API Win32.

Para desativar o comando Sair no menu arquivo , você deve usar a coleção CommandBars , que expõe todas as barras de menus, barras de ferramentas e menus de atalho em seu aplicativo para o Visual Basic for Applications para que você pode manipulá-los por meio de programação.

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.

Exemplo passo a passo

  1. Inicie o Microsoft Access.
  2. Abra o banco de dados de exemplo Northwind.mdb.
  3. No menu Inserir , clique em módulo para criar um módulo novo, padrão.
  4. Digite o seguinte código na seção declarações:
    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. No menu arquivo , clique em Salvar Northwind e usar o nome padrão que aparece na caixa Nome do módulo clicando em OK .
  6. Criar um novo formulário com as seguintes 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. No modo Design, clique com o botão de comando Ativar direito do mouse e clique em Construir evento no menu que aparece.
  8. Clique em Construtor de código , clique em OK e, em seguida, digite o código a seguir no módulo resultante:
    Private Sub cmdEnable_Click()
        Call SetEnabledState(True)
    End Sub
    					
  9. Adicione o seguinte código para o botão de comando Desativar
    Private Sub cmdDisable_Click()
        Call SetEnabledState(False)
    End Sub
    					
  10. Salvar o formulário e abra-o no Modo formulário
Observe que o botão de comando Desativar , no botão Fechar , o comando Fechar da janela do aplicativo e o comando Sair no menu arquivo são desabilitados. Se você clicar no botão de comando Habilitar , esses comandos estarão reativados.

Uso

O código descrito neste artigo lhe permite facilmente ativar ou desativar o botão Fechar , o comando Fechar da janela do aplicativo e o comando Sair no menu arquivo para impedir que usuários saindo do aplicativo usando esses métodos.

Observe que essa técnica afeta no botão Fechar na janela do aplicativo do Microsoft Access, não no botão Fechar na janela banco de dados. Depois de desativar essas opções, nem será automaticamente reabilitada quando fecha o banco de dados. Se o usuário fecha o banco de dados e deixa o Microsoft Access aberto, o usuário não poderá sair do Microsoft Access utilizando o botão Fechar ou o comando Sair no menu arquivo . Nesse caso, seu aplicativo reabilite ambas as opções antes de ele termina. Caso contrário, o usuário terá encerrar e reiniciar o Microsoft Access para que o botão Fechar e o comando Sair no menu arquivo para ser ativado.

Propriedades

ID do artigo: 300688 - Última revisão: quarta-feira, 31 de janeiro de 2007 - Revisão: 6.2
A informação contida neste artigo aplica-se a:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Palavras-chave: 
kbmt kbvba kbprogramming kbhowto KB300688 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 300688

Submeter comentários

 

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