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