我的程序是用CFormView作为基类的,另外我又添加了一个基于CDialog的对话框,对话框中用了一个listctrl控件,CDialog控件里面的项,与主对话框中的edit是对应的,我想当双击listctrl时把数据显示到主对话框中,怎么做啊?是不是要在基于CDialog的对话框中声明一个基于CFormView派生的视图类的对象啊?
void CQueryDlg::OnDblclkListCtrl(NMHDR* pNMHDR, LRESULT* pResult) 
{
// TODO: Add your control notification handler code here
CCheckView pView;//这样对吗?
         
*pResult = 0;
}

解决方案 »

  1.   

    可以在CQueryDlg中声明一个CCheckView的指针
    CCheckView *m_pMainView;
    然后在弹出CQueryDlg的时候把m_pMainView赋值
    在双击listctrl的时候就可以直接控制CCheckView了
      

  2.   

    domodal之前将你的formview类指针传给dialog,双击listctrl的时候对指针进行操作就可以
      

  3.   

    也可以这样:
    在APP.h文件中定义
    extern class CCheckView* g_pView;在APP.cpp中出始化
    CCheckView g_pView=NULL;在CCheckView构造函数中付值
    CCheckView::CCheckView()
    {
    g_pView=this;}
    这样定义的是一个全局指针;
    在CQueryDlg可直接用g_pView操作。
    这样定义的好处是,不必在其它类中经常定义View指针。
      

  4.   

    在CQueryDlg中声明CCheckView *m_pMainView;有错误,怎么搞啊?
      

  5.   

    在CQueryDlg中只声明不附值,当然有错。