INFO: Utilização aceleradores com uma caixa de diálogo não modal MFC

Traduções de Artigos Traduções de Artigos
Artigo: 117500 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Sumário

Para utilizar aceleradores com uma caixa de diálogo não modal, substitua a função () PreTranslateMessage a classe CDialog derivada.

Mais Informação

Para utilizar aceleradores com a caixa de diálogo não modal, efectue os seguintes passos:

  1. Crie uma caixa de diálogo não modal. Para obter informações adicionais, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
    103788Criar uma caixa de diálogo não modal com bibliotecas MFC
  2. Inserir este código de exemplo os ficheiros 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 aplicações Studio ou com vista de recursos de trabalho do Project no Visual C++ 32-bit Edition, versão 4.0. Os aceleradores devem estar entre a tabela de acelerador IDR_MAINFRAME. São também devem ter o mesmo ID que os controlos ou itens de menu com os quais estão associadas.

Propriedades

Artigo: 117500 - Última revisão: 9 de fevereiro de 2014 - 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 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: 117500

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