对话框嵌入子对话框有关问题

对话框嵌入子对话框问题
我按照下面的方法操作,但是在]m_InnerDlg.MoveWindow()那里出错,求高手指点;我跟踪了下,是在assert(::Iswindow(m_hwnd)  ||  (m_pCtrlSite != NULL)),这里出错的,但不知道原因,求指教



一、对话框中显示对话框的方法:  
1、首先创建要在对话框里显示的那个对话框,命名为:IDD_INNER。  
设置这个对话框的属性:  
1)、“Style”选择“Child”;中文版“样式”选择“下层”。  
2)、“Border”为“None”;中文版“边框”选择“无”。  
   
2、为了显示时能够准确定位,我们可以在右边要显示对话框的地方放入一个Pic控件,命名为:IDC_STATIC_RECT,Visible属性去掉。  
   
3、得到Pic控件客户区坐标  
//CDlgParent.cpp ——OnInitDialog()  
CRect rect;  
GetDlgItem(IDC_STATIC_RECT)-> GetWindowRect(&rect);  
ScreenToClient(&rect);   //千万注意别用成ClientToScreen(&rect);  
   
4、创建并显示对话框  
方式一:  
//CDlgParent.h  
CDialog m_InnerDlg;  
//CDlgParent.cpp——OnInitDialog()  
m_InnerDlg.Create(IDD_INNER, this);  
m_InnerDlg.MoveWindow(rect);
m_InnerDlg.ShowWindow( SW_SHOW );  
   
------解决思路----------------------

方式一:  双击IDD_INNER对话框,新建一个类CInner;
//CDlgParent.h  
CInner m_InnerDlg;  
//CDlgParent.cpp——OnInitDialog()    
m_InnerDlg.MoveWindow(rect);
m_InnerDlg.ShowWindow( SW_SHOW );
方式二:
CInner *m_InnerDlg;
m_InnerDlg = new CInner;
m_InnerDlg->Create(IDD_INNER);  
m_InnerDlg->MoveWindow(rect);
m_InnerDlg->ShowWindow( SW_SHOW );