INFORMACIÓN: Utilizar aceleradores con un cuadro de diálogo no modal de MFC

Seleccione idioma Seleccione idioma
Id. de artículo: 117500 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Resumen

Para utilizar aceleradores con un cuadro de diálogo no modal, reemplace la función de PreTranslateMessage () en la clase derivada de CDialog.

Más información

Para utilizar aceleradores con el cuadro de diálogo no modal, siga estos pasos:

  1. Crear un cuadro de diálogo no modal. Para obtener información adicional, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
    103788Crear un cuadro de diálogo no modales con bibliotecas MFC
  2. Insertar este código de ejemplo en los archivos enumerados anteriormente el 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. Crear los aceleradores con aplicación Studio o con vista de recursos desde el área proyectos de Visual C++ de 32-bit Edition, versión 4.0. Los aceleradores deben estar en la tabla de aceleradores IDR_MAINFRAME. También deben tener el mismo identificador que los controles o elementos de menú con el que están asociados.

Propiedades

Id. de artículo: 117500 - Última revisión: sábado, 01 de febrero de 2014 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft Foundation Class Library 4.2 sobre las siguientes 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
Palabras clave: 
kbnosurvey kbarchive kbmt kbacceleratorkey kbarchitecture kbdlg kbinfo kbkeyaccel kbuidesign KB117500 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 117500

Enviar comentarios

 

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