Compartir a través de


AfxEnableDRA

Actualización: noviembre 2007

Esta función habilita el conocimiento de la resolución de dispositivos en los proyectos de aplicaciones de dispositivos.

void AfxEnableDRA(BOOL bEnable);

Parámetros

  • bEnable
    Al especificar TRUE, se habilita el conocimiento de la resolución de dispositivos; al especificar FALSE o al no llamar a la función, se deshabilita dicho conocimiento.

Comentarios

Esta característica permite a la aplicación responder a los cambios que se producen en la resolución en tiempo de ejecución, como el cambio del modo vertical al modo horizontal.

Utilice la función AfxEnableDRA() cuando cree directamente instancias de CDialog. En esta situación, se utiliza el método OnSize definido en dlgcore.cpp e implementado en LIB y DLL de MFC. En estas versiones de la biblioteca, se utiliza AfxIsDRAEnabled() para realizar una comprobación en tiempo de ejecución con el fin de determinar si se va a llamar a DRA::RelayoutDialog(...). AfxIsDRAEnabled() devuelve true únicamente si se ha llamado anteriormente a AfxEnableDRA(TRUE).

Nota:

Cuando utiliza asistentes para crear un proyecto de MFC para dispositivos, el código generado implementa un reemplazo (CDialog::OnSize(int, int)) para las clases derivadas de CDialog. El conocimiento de la resolución de dispositivos se comprueba en tiempo de compilación y se adopta la decisión de llamar o no a DRA::RelayoutDialog(...).

Ejemplo

AfxEnableDRA(TRUE); //Enable Device Resolution Awareness
...
void CDialog::OnSize(UINT nType, int cx, int cy)
{
    if (AfxIsDRAEnabled())
    {
        DRA::RelayoutDialog(
            AfxGetInstanceHandle(), 
            this->m_hWnd, 
            DRA::GetDisplayMode() != DRA::Portrait ? 
                m_lpszWideTemplateName : m_lpszTemplateName);
    }
    else
    {
        CWnd::OnSize(nType, cx, cy);
    }
}

Vea también

Otros recursos

MFC única para clases de dispositivos