更新: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);
}
}
说明: