我建了2个对话框 IDD_Process1和IDD_Process2,对应类CDlgp1和CDlgp2,对话框上各添加了一个列表控件m_list1和m_list2,设置属性为报表,各添加了一个按钮SEND1和SEND2用来互相发送Item  我的Item有5列,还有定义好了m_nIndex.   就是要实现把一个列表框中的某一行删除,然后通过两个对话框的通信,把删除的那一行,添加到另一个列表中。主要还是列表框的操作还有两个对话框的通信。 求具体实现方式和代码,不用数据库的!求解释 求答案 

解决方案 »

  1.   

    通过指针访问就行了,CDlgp1中加入CDlgp2的指针,或CDlgp2加入CDlgp1的指针,通过指针访问
      

  2.   

    你的Dlg1和Dlg2有什么关联没有?
      

  3.   

    可提供的方法:     1)DDE这个很难
          2)同一个DOC提供同一份数据,对应两个CFormView
         3)在两个Dlg的共同父窗定义数据结构
      

  4.   

    应该有一个父窗口来放IDD_Process1和IDD_Process2吧,假设父窗口为DLG_A,类为CMainDlg.
    那么你可以在父窗口类中写一个函数,用这个函数来实现list数据的转移,只需要在CDlgp1和CDlgp2中调用这个函数就可以了.用GetParent();可以得到父窗口对象指针.CMainDlg *pDlg = (CMainDlg*)GetParent();
    调用方法:
    pDlg->FunName(记录某条记录的结构体,添加到CDlgp1或CDlgp2的标志位int类型);
      

  5.   

    就是做的2个除了ID 其他都一样的DLG,就是为了完成2个在不同DLG中CLISTCTRL中ITEM的互相发送
      

  6.   

    没有直接的关联吗?比如Dlg2是通过点击Dlg1中的某个按钮然后DoModal()弹出来的,这样Dlg2就是Dlg1的子窗口,Dlg1是Dlg2的父窗口,如果没有这个关系,你可以通过主窗口来中转,AfxGetMainWnd()可以获取主窗口的指针。