INFO: Usando aceleradores com uma caixa de diálogo sem janela restrita do MFC

Traduções deste artigo Traduções deste artigo
ID do artigo: 117500 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sumário

Para usar aceleradores com uma caixa de diálogo sem janela restrita, substitua a função de () PreTranslateMessage em sua classe derivada CDialog.

Mais Informações

Para usar aceleradores com sua caixa de diálogo sem janela restrita, execute as seguintes etapas:

  1. Crie uma caixa de diálogo sem janela restrita. Para obter informações adicionais, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
    103788Criar uma caixa de diálogo sem janela restrita com bibliotecas MFC
  2. Inserir este código de exemplo os arquivos listados acima do código:
       // .h file with your derived CDialog class.
       class CModeless : public CDialog
       {
          .
        public:
          virtual BOOL PreTranslateMessage(MSG*);
          .
       };
    
       //.cpp file.
       BOOL CModeless::PreTranslateMessage(MSG* pMsg)
       {
          HACCEL hAccel =
          ((CMainFrame*)AfxGetApp()->m_pMainWnd)->GetAccelTable();
          if(!(hAccel &&
               ::TranslateAccelerator(AfxGetApp()->m_pMainWnd->m_hWnd, hAccel,
                                      pMsg)))
               return CDialog::PreTranslateMessage(pMsg);
          else
             return TRUE;
       }
    
       // Mainfrm.h file, where CMainFrame is the main window class.
       HACCEL CMainFrame::GetAccelTable() { return m_hAccelTable; }
    						
  3. Crie os aceleradores com aplicativo Studio ou com exibição de recurso do espaço de trabalho Project no Visual C++ 32-bit Edition, versão 4.0. Devem ser os aceleradores na tabela de aceleração IDR_MAINFRAME. Eles também devem ter a mesma identificação de controles ou itens de menu com o qual eles estão associados.

Propriedades

ID do artigo: 117500 - Última revisão: sexta-feira, 13 de setembro de 2013 - 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.51
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ 4.0 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbacceleratorkey kbarchitecture kbdlg kbinfo kbkeyaccel kbuidesign KB117500 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: 117500

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