Como desativar o padrão pushbutton controle para caixa de diálogo do MFC

Traduções deste artigo Traduções deste artigo
ID do artigo: 122489 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

Caixas de diálogo do Windows oferece suporte ao uso de um botão padrão (pushbutton) que é ativado automaticamente quando a tecla ENTER é pressionada enquanto o foco não está em um botão de comando. A biblioteca de classes MFC automaticamente chamará a função virtual CDialog::OnOK() para uma caixa de diálogo sempre que o botão padrão (pushbutton) é ativado, pressionando a tecla ENTER.

Esse comportamento está de acordo com as diretrizes definidas "A Interface do Windows: um guia de design de aplicativo." Este manual está incluído com a documentação do SDK do Windows versão 3.1. Também está disponível na Microsoft Press.

Mais Informações

Embora padrão (pushbutton) botão suporte é recomendada, convém desabilitar ou modificar a implementação padrão em determinadas situações. Você pode fazer isso em um aplicativo MFC seguindo estas etapas:

  1. Carregar a caixa de diálogo no aplicativo Studio e altere o identificador do botão OK de IDOK para algo como IDC_MYOK. Além disso, desmarque a verificação da propriedade do botão padrão.
  2. Use ClassWizard para criar uma mensagem de tratamento de função para este botão chamado OnClickedMyOK. Essa função será executada quando uma mensagem BN_CLICKED é recebida partir desse botão.
  3. O código para OnClickedMyOK, chame a versão de classe base da função OnOK. Aqui está um exemplo:
       void CMyDialog::OnClickedMyOK()
       {
          CDialog::OnOK();
       }
    						
  4. Substitua OnOK para sua caixa de diálogo e não fazer nada dentro da função. Aqui está um exemplo:
       void CMyDialog::OnOK()
       {
       }
    						
  5. Execute o programa e coloque a caixa de diálogo. Colocar em foco para um controle diferente no botão OK. Pressione a tecla RETURN. Observe que CDialog::OnOK() nunca é executado.
Essa técnica efetivamente desativa o suporte de botão (pushbutton) padrão em um programa do MFC. O botão OK irá continuar a se comportam como antes, quando ativado com o mouse ou por meio de um pressionamento de tecla mnemônico, mas a tecla ENTER não dispararão OnOK tratamento.

Essa mesma técnica pode ser usada para desabilitar ou modificar o processamento de OnCancel padrão. A tecla escape gera uma chamada para CDialog::OnCancel exatamente como a tecla enter gera uma chamada de função OnOK.

Propriedades

ID do artigo: 122489 - Última revisão: terça-feira, 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 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: 122489
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

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