对话框,里有A、B两个按钮,点激A按钮时,产生一非摸态对话框,点激B按钮时产生一个摸态对话框,鼠标双激A对话框的列表,将A对话框列表某项的值传递给B对话框的某个编辑框,请问如何实现这一功能?

解决方案 »

  1.   

    AB不是按钮么 到底哪个是A对话框哪个是B
      

  2.   


    将模态对话框、非模态对话框都设为成员变量m_Modal、m_Modaless.在A按钮生成的双击列表框的事件中判断模态对话框成员的hwnd是否不为空,如不为空则直接调用模态对话框的自定义函数,更新其UI即可。m_Modaless内的更表双击事件:if( m_Modal.m_hWnd!=NULL )
    {
       m_Modal.UpdateUI();
    }
      

  3.   


    问题是A、B对话框,不是父子关系,值传递过去了,调用m_oEdit.setwindowtext()设置值时,就发生错误了,很郁闷!
      

  4.   

    自己在B对话框里写一个传值的函数例如GetData("参数1", "参数2"), 在按下B按钮DoModal B对话框之前调用这个函数就传过去了,然后将参数赋值给B的两个编辑框就行了,如果是编辑框的话,这里参数可以设计为CString类型
    例如按下B按钮创建B对话框时候:
    DlgB m_Dlg;
    m_Dlg.GetData("参数1", "参数2"); //传参,想传什么参数自己设定
    m_Dlg.DoModal(); 
      

  5.   

    晕倒
    把对话框B的实例句柄保存到全局变量
    CXXXDlgB *g_hDlgB;在DlgA的cpp中
    extern CXXXDlgB *g_hDlgB;
    在DlgA的双击响应函数中
    CString str=......;
    g_hDlgB->m_editXXX.SetWindowText("str");