程序是个单文档的多视图,A视图用来载入CHtml这个视图类
我是将对话框创建的代码放到嵌入对话框的视图类的下面消息函数中的, 
void CHtml::OnDocumentComplete(LPCTSTR lpszURL) 

// TODO: Add your specialized code here and/or call the base class 
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd; 
CHtml* pHtmlView = (CHtml*)(pMain->m_wndSplitter).GetPane(0,1); // 
CToolDlg *ToolDlg = new CToolDlg; 
ToolDlg->Create(IDD_DIALOG_TOOL,pHtmlView); 
ToolDlg->ShowWindow(SW_SHOW); CHtmlView::OnDocumentComplete(lpszURL); 
}
这样的话,控件没响应,且覆盖视图的内容,
1、对话框的创建应该放在哪比较合适
2、A视图载入内容放在哪比较合适
3、对话框的控件该如何才能响应

解决方案 »

  1.   

    CMainFrame类中添加一个对话框窗口类的成员变量
    CMainFrame创建完视图A之后就可以创建对话框窗口,并使对话框的父窗口是视图A
      

  2.   

    楼主用的是非模态对话框吧,非模态对话框在Create后不需要ShowWindow的。
    你的问题是不是控件都设置成了Disable呢?
      

  3.   

    单文档的工程,切分多视图:一行两列,
    自己创建了一个类:CHtml继承于CHtmlView,载入到第二个视图中:
    m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CHtml),CSize(250,250),pContext);
    然后自己创建了一个对话框类ToolDlg,对话框上有控件Btn,
    并在CHtml的OnDocumentComplete消息函数中添加如下代码:
    void CHtml::OnDocumentComplete(LPCTSTR lpszURL) 

    // TODO: Add your specialized code here and/or call the base class 
    CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd; 
    CHtml* pHtmlView = (CHtml*)(pMain->m_wndSplitter).GetPane(0,1); // 
    CToolDlg *ToolDlg = new CToolDlg; 
    ToolDlg->Create(IDD_DIALOG_TOOL,pHtmlView); 
    ToolDlg->ShowWindow(SW_SHOW); 
    CHtmlView::OnDocumentComplete(lpszURL); 

    这样这个ToolDlg会覆盖掉视图的内容,而且对话框上的控件是没有响应的
    我的目的是想在第二个视图窗口中 上部分 加一个对话框,并添加一些控件(要用)
    同时将视图的内容显示在视图的下部分,
    该怎么实现???
      

  4.   

    第一个你是不是说反了,非模态不ShowWindow怎么显示
    第二个,控件并没有设那个属性,只是设成了child的风格,因为这种风格才可以嵌入到视图中