AfxEnableDRA

Mise à jour : novembre 2007

Cette fonction active la prise en compte de la résolution de l'appareil dans les projets d'application Smart Device.

void AfxEnableDRA(BOOL bEnable);

Paramètres

  • bEnable
    La spécification de TRUE active la prise en compte de la résolution de l'appareil ; la spécification de FALSE, ou le fait de ne pas appeler la fonction, désactive la prise en compte de la résolution de l'appareil.

Notes

La fonctionnalité de prise en compte de la résolution de l'appareil permet à l'application de réagir aux modifications de la résolution au moment de l'exécution, comme changer du mode portrait au mode paysage.

Utilisez la fonction AfxEnableDRA() lorsque vous instanciez CDialog directement. Dans cette situation, vous utilisez la méthode OnSize définie dans dlgcore.cpp et implémentée dans la DLL MFC et LIB. Dans ces versions de bibliothèque, AfxIsDRAEnabled() est utilisé pour exécuter un contrôle au moment de l'exécution pour déterminer s'il convient ou non d'appeler DRA::RelayoutDialog(...). AfxIsDRAEnabled() retourne true uniquement si AfxEnableDRA(TRUE) a été appelé précédemment.

Remarque :

Lorsque vous utilisez des Assistants pour créer un projet MFC for Devices, le code généré implémente une substitution (CDialog::OnSize(int, int)) pour les classes dérivées de CDialog. La prise en compte de la résolution de l'appareil est ensuite vérifiée au moment de la compilation, et la décision d'appeler ou pas DRA::RelayoutDialog(...) est prise.

Exemple

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

Voir aussi

Autres ressources

MFC unique pour les classes Devices