在子窗口中输入的内容,如何在按ok键关闭的时候把值传给主窗口?
比如说,点主窗口上的按钮,打开子窗口,输入一段文本/数字,按子窗口上的“关闭”按钮,然后子窗口关闭,主窗口的列表框显示出刚才输入的内容。

解决方案 »

  1.   

    这事我知道!可以用发消息的方法。你先在子窗口设一个HWND m_hMainWnd的成员变量。在子窗口显示前比如DOMODAL()前将主窗口的窗口句柄传给m_hMainWnd,而后再要一个消息给主窗口,主窗口就可以接收到了。不过要自定义一个接收的消息。WM_USER_PRINT代码大体如下:
    CMainFram::on......
    {
        CDlg dlg;
        dlg.m_hMainWnd = this->GetActivFram()->m_hWnd;
        dlg.DoModal();
    }
    CDlg::on.......
    {
        CSring s = "asdfkjajklsdfjklkljkljjkla;sklj;df";
        SendMessage(m_hMainWnd,WM_USER_PRINT,0,WPARA(&s));
    }
    接收到这个就可以了!呵 呵!我刚试过的。
      

  2.   

    CDlg dlg;
    dlg.DoModal();
    //在dlg的OnOk函数中将输入数值保存在m_a变量中
    int a= dlg.m_a;
      

  3.   

    GetParent
    AfxGetApp
    AfxGetMainWnd
    GetActiveFrame
    GetActiveView
      

  4.   

    以上的这些函数搭配使用,如果还是不行,那么就直接SendMessage或者PostMessage
      

  5.   

    http://blog.joycode.com/jiangsheng/archive/2004/05/14/21498.aspx