问题描述:
我在窗体A中,点击按纽button1,创建一个对话框B。
B中一个按纽button2,我想点击button2后给窗体A发送一个消息,让A响应该消息来修改A的数据成员?
这怎么实现啊?

解决方案 »

  1.   

    创建B的时候指定A为父窗口, 然后在B中SendMessage(GetParent()->GetSafeWnd, WM_XXX, w, l);
      

  2.   

    例如可以在CView里面这样:
    AfxGetMainWnd()->PostMessage();
      

  3.   

    SendMessage
    建议好好理解一下MSDN上的说明,做到举一反三。
      

  4.   

    指定B窗口的父窗口为A,在点击Button2的响应里加上
    GetParent->SendMessage( WM_XXX, wParam, lParam );
    在A中添加消息WM_XXX的响应处理。
      

  5.   

    SendMessage就可以啊,楼上几位说的挺明白了
      

  6.   

    在主对话框中创建非模式对话框B这个不用我讲吧?
    注意父子关系要设置好
    CMyDialog *myDialog=new CMyDailog;
    myDialog->Parrent=this;
    myDialog->Create(IDD_MYDIALOG)
    myDialog->ShowWindow(SW_SHOW);
    然后在B对话框的按钮事件中这么写:GetParent()->SendMessage( WM_SETTEXT,0, (LPARAM)(LPCTSTR)_T("HELLO")); 
      

  7.   


    在B对话框的类的构造函数中加入A对话框类的指针就可以SendMessage了,这样比较简单。
      

  8.   

    如在B类里设置一个A类的指针变量class A;
    class B : public CDialog
    {
    .....
    public:
     B(A* pParent,....);
     A* pA;
    .....
    };//B.cpp
    B:B(A* pParent,....)
    {
      pA=pParent;
    }B:按钮事件的响应函数()
    {
       ASSERT_VALID(pA);
       pA->SendMessage(....); // 发送消息,在A类的处理自定义的消息
    }