AfxEnableDRA
Обновлен: Ноябрь 2007
Эта функция включает распознавание разрешения экрана в проектах приложений для устройств.
void AfxEnableDRA(BOOL bEnable);
Параметры
- bEnable
Указание значения TRUE приведет к распознаванию разрешения устройством; указание значения FALSE или отсутствие вызова этой функции приведет к отключению распознавания разрешения.
Заметки
Функциональная возможность распознавания разрешения экрана устройством позволяет приложениям реагировать на изменения разрешения во время выполнения, например изменять ориентацию с книжной на альбомную.
Используйте функцию AfxEnableDRA() для создания экземпляра CDialog напрямую. В этой ситуации используется метод OnSize, определенный в dlgcore.cpp и реализованный в MFC DLL и LIB. В этих версиях библиотек AfxIsDRAEnabled() используется для выполнения проверки во время выполнения для определения необходимости вызова DRA::RelayoutDialog(...). AfxIsDRAEnabled() возвращает значение true, только если до этого был вызван объект AfxEnableDRA(TRUE).
Примечание. |
---|
При использовании мастеров для создания проекта MFC для устройства созданный код реализует переопределение (CDialog::OnSize(int, int)) для классов, производных из CDialog. Затем распознавание разрешения экрана проверяется во время компиляции и принимается решение о необходимости вызова DRA::RelayoutDialog(...). |
Пример
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);
}
}