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

请参见

其他资源

设备类的唯一 MFC