Condividi tramite


AfxEnableDRA

Aggiornamento: novembre 2007

Questa funzione attiva Device Resolution Awareness nei progetti di applicazioni per dispositivi.

void AfxEnableDRA(BOOL bEnable);

Parametri

  • bEnable
    Se si specifica TRUE viene attivato Device Resolution Awareness. Se si specifica FALSE o non si chiama la funzione, viene disattivato Device Resolution Awareness.

Note

La funzionalità Device Resolution Awareness consente all'applicazione di rispondere alle modifiche di risoluzione apportate durante la fase di esecuzione, ad esempio una modifica dalla modalità verticale alla modalità orizzontale.

Utilizzare la funzione AfxEnableDRA() quando si crea un'istanza di CDialog direttamente. In questa situazione si utilizza il metodo OnSize definito in dlgcore.cpp e implementato nei file DLL MFC e LIB. In tali versioni di librerie, si utilizza AfxIsDRAEnabled() per eseguire un controllo di runtime e stabilire se chiamare o meno DRA::RelayoutDialog(...). AfxIsDRAEnabled() restituisce True solo se è stata eseguita la chiamata a AfxEnableDRA(TRUE) in precedenza.

Nota:

Quando si utilizzano procedure guidate per la creazione di un progetto MFC per dispositivi, il codice generato implementa un override (CDialog::OnSize(int, int)) per le classi derivate da CDialog. Device Resolution Awareness viene quindi controllato in fase di compilazione e viene deciso se chiamare o meno DRA::RelayoutDialog(...).

Esempio

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

Vedere anche

Altre risorse

Classi univoche di MFC per dispositivi