Search code examples
visual-c++mfccomparecdialog

Difference between CDialog and CDialogEx


What is the difference between CDialog and CDialogEx? I decided to use CDialog because I can't assign m_pMainWnd to Dlg if Dlg is derived from CDialogEx.

BOOL CPreparationApp::InitInstance()
{
    MyClass2 Dlg; //derived from CDialog 
    m_pMainWnd = &Dlg;
    Dlg.DoModal();
    return TRUE;
}

What kind of problems might I have, by not using CDialogEx like form wizard was offering?

How to assign m_pMainWnd variable derived from CDialogEx?


Solution

  • CDialogEx is derived from CDialog, so, setting m_pMainWnd to a CDialogEx derived object should not be a problem. CDialogEx provides the abillity to set the background color or image of the dialog.