AfxEnableDRA
업데이트: 2007년 11월
이 함수는 장치 응용 프로그램 프로젝트에서 장치 해상도 인식을 활성화합니다.
void AfxEnableDRA(BOOL bEnable);
매개 변수
- bEnable
TRUE를 지정하면 장치 해상도 인식을 활성화합니다. FALSE를 지정하거나 이 함수를 호출하지 않으면 장치 해상도 인식을 활성화하지 않습니다.
설명
장치 해상도 인식 기능을 사용하면 응용 프로그램이 런타임 시 해상도 변경(예: 세로 모드에서 가로 모드로 변경)에 응답할 수 있습니다.
CDialog를 직접 인스턴스화하는 경우 AfxEnableDRA() 함수를 사용합니다. 이러한 경우 dlgcore.cpp에 정의되고 MFC DLL 및 LIB에 구현된 OnSize 메서드를 사용하는 것입니다. 이러한 라이브러리 버전에서는 런타임 검사에 **AfxIsDRAEnabled()**를 사용하여 **DRA::RelayoutDialog(...)**에 대한 호출 여부를 결정할 수 있습니다. **AfxEnableDRA(TRUE)**가 이전에 호출된 경우에만 **AfxIsDRAEnabled()**에서 true를 반환합니다.
![]() |
---|
마법사를 사용하여 장치에 대한 MFC 프로젝트를 만드는 경우 생성된 코드가 CDialog에서 파생 클래스에 대한 재정의(CDialog::OnSize(int, int))를 구현합니다. 따라서 컴파일 타임에 장치 해상도 인식이 확인되고 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);
}
}