Freigeben über


AfxEnableDRA

Aktualisiert: November 2007

Diese Funktion aktiviert in Geräteanwendungsprojekten die Erkennung der Geräteauflösung.

void AfxEnableDRA(BOOL bEnable);

Parameter

  • bEnable
    Durch die Angabe von TRUE wird die Erkennung der Geräteauflösung aktiviert. Wird FALSE angegeben oder die Funktion nicht aufgerufen, wird die Erkennung der Geräteauflösung deaktiviert.

Hinweise

Durch das Erkennungsfeature für die Geräteauflösung können Anwendungen zur Laufzeit auf Auflösungsänderungen reagieren, z. B. auf die Änderung vom Hoch- ins Querformat.

Verwenden Sie die AfxEnableDRA()-Funktion direkt beim Instanziieren von CDialog. In diesem Fall verwenden Sie die in dlgcore.cpp definierte und in der MFC DLL und LIB implementierte OnSize-Methode. In diesen Bibliotheksversionen wird mithilfe von AfxIsDRAEnabled() zur Laufzeit ermittelt, ob DRA::RelayoutDialog(...) aufgerufen werden soll. AfxIsDRAEnabled() gibt nur true zurück, wenn zuvor AfxEnableDRA(TRUE) aufgerufen wurde.

Hinweis:

Wenn Sie ein MFC-Projekt für Geräte mithilfe von Assistenten erstellen, implementiert der generierte Code eine Überschreibung (CDialog::OnSize(int, int)) für die von CDialog abgeleiteten Klassen. Die Erkennung der Geräteauflösung wird dann zur Kompilierzeit überprüft, woraus sich ergibt, ob DRA::RelayoutDialog(...) aufgerufen wird.

Beispiel

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);
    }
}

Siehe auch

Weitere Ressourcen

Eindeutige Klassen in MFC für Geräte