我在【主对话框】中添加了按钮控件A,B,C,D和几个编辑框,点击时分别弹出【非模态对话框】A1,B1,C1,D1,我现在想点击其中一个【非模态对话框】中的【确定】按钮,将【非模态对话框】中得到的内容添加到【主对话框】的编辑框中,取得主对话框的句柄之后,
用CString str;//(内容)
::SendMessage(HWND, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)str);发送消息,然后怎么做,使主对话框的编辑框中能够得到数据。
谢谢高手指教,要类似的代码,只要有思路,就给分。

解决方案 »

  1.   

    1。你可以直接给主窗口的编辑框窗口发送设置文本的消息
    2。你可以给主窗口发送自定义消息,消息响应中SetDlgItemText设置文本框内容
      

  2.   

    在主窗体的 WM_SETTEXT 映射函数里面做动作
      

  3.   

    在A1,B1,C1,D1对话框中添加按钮响应消息时,直接加在主对话框里。
    添加消息处理函数时可以选择添加的类。
      

  4.   

    取得主对话框的句柄之后,
    用CString str;//(内容为什么还要用:SendMessage呢?
    直接:SetWindowText(编辑框的HWND,str)不行么?
      

  5.   

    简单一点, 你在创建非模态对话模框时,把父子针(this)传他, 这样想给父传什么值都行.
      

  6.   

        同意,在子窗体中,用fromHandle把父窗体的指针还原为窗体,之后爱怎么操作怎么操作,和再父窗体内部操作一样的。
        如果非得sendmesage的话,用WM_COPYDATA应该可以传数据。然后在父窗体里中加个onCopyData函数响应下也OK。不过没前者方便。
      

  7.   

    已经解决:
     在非模态对话框的确定按钮中,添加代码如下:
     CMainDialog *m_dlg=(CMainDialog*)AfxGetApp()->GetMainWnd();//定义主对话框的指针变量并初始化
      pDlg->m_editnum.SetWindowText(strSeanum1);//给主对话框的编辑框类型变量赋值