Como desactivar botões predefinidos para caixa de diálogo do MFC de processamento

Traduções de Artigos Traduções de Artigos
Artigo: 122489 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

As caixas de diálogo do Windows suportam a utilização de um botão predefinido (pushbutton) é activada automaticamente quando a tecla ENTER é premida enquanto o foco não se encontra num botão de comando. A biblioteca de classes MFC chamará automaticamente a função virtual CDialog::OnOK() para uma caixa de diálogo sempre que o botão predefinido (pushbutton) é activado premindo a tecla ENTER.

Este comportamento conformidade com as directrizes estabelecidos "A Interface do Windows: Guia de concepção de aplicações." Este manual está incluído na documentação do Windows versão 3.1 SDK. Também está disponível a partir da Microsoft Press.

Mais Informação

Embora seja recomendado suporte de botão (pushbutton) predefinido, convém desactivar ou modificar a implementação padrão em determinadas situações. É possível efectuar este procedimento numa aplicação MFC seguindo estes passos:

  1. Carregar a caixa de diálogo para aplicações Studio e altere o botão ' OK ' identificador de IDOK para algo como IDC_MYOK. Além disso, desmarcada a verificação da propriedade botão predefinido.
  2. Utilize ClassWizard para criar uma mensagem de tratamento de função para este botão denominado OnClickedMyOK. Esta função será executada quando uma mensagem BN_CLICKED é recebida a partir deste botão.
  3. No código para OnClickedMyOK, chamar a versão de classe base da função OnOK. Eis um exemplo:
       void CMyDialog::OnClickedMyOK()
       {
          CDialog::OnOK();
       }
    						
  4. Substituir OnOK para a caixa de diálogo e não fazer nada dentro da função. Eis um exemplo:
       void CMyDialog::OnOK()
       {
       }
    						
  5. Execute o programa e abrir a caixa de diálogo. Atribuir o foco para um controlo seja o botão OK. Prima a tecla RETURN. Repare que CDialog::OnOK() nunca é executado.
Esta técnica eficazmente desactiva o suporte de botão (pushbutton) predefinido padrão num programa MFC. O botão OK vai continuar se comporte como anteriormente quando activado com o rato ou através de um batimento de tecla mnemónico, mas a tecla ENTER não disparará OnOK processamento.

Esta técnica mesma pode ser utilizada para desactivar ou modificar predefinido OnCancel processamento. A tecla escape gera uma chamada para CDialog::OnCancel tal como a chave de introdução gera uma chamada de função OnOK.

Propriedades

Artigo: 122489 - Última revisão: 21 de novembro de 2006 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Foundation Class Library 4.2 nas seguintes plataformas
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 1.5 Professional Edition
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 4.0 Standard Edition
Palavras-chave: 
kbmt KB122489 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 122489
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

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