共用方式為


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