如何使一个窗体给另一个窗体发消息 问题描述:我在窗体A中,点击按纽button1,创建一个对话框B。B中一个按纽button2,我想点击button2后给窗体A发送一个消息,让A响应该消息来修改A的数据成员?这怎么实现啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 创建B的时候指定A为父窗口, 然后在B中SendMessage(GetParent()->GetSafeWnd, WM_XXX, w, l); 例如可以在CView里面这样:AfxGetMainWnd()->PostMessage(); SendMessage建议好好理解一下MSDN上的说明,做到举一反三。 指定B窗口的父窗口为A,在点击Button2的响应里加上GetParent->SendMessage( WM_XXX, wParam, lParam );在A中添加消息WM_XXX的响应处理。 SendMessage就可以啊,楼上几位说的挺明白了 在主对话框中创建非模式对话框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")); 在B对话框的类的构造函数中加入A对话框类的指针就可以SendMessage了,这样比较简单。 如在B类里设置一个A类的指针变量class A;class B : public CDialog{.....public: B(A* pParent,....); A* pA;.....};//B.cppB:B(A* pParent,....){ pA=pParent;}B:按钮事件的响应函数(){ ASSERT_VALID(pA); pA->SendMessage(....); // 发送消息,在A类的处理自定义的消息} 关于io完成端口的几个问题 怎么将一个很长的字符串转换成相应的数值? 100分求 动态的添加二级子菜单,急! 是选择菜单变灰色(急求!) 世上有没有真正的vc++6.0中文版? 在点击 clistbox 的空白处的时候, 怎么自动清除所有的已选行? 请问如何让记录集指针指象指定的记录?ADO方式. 列表控件 请问有没有方法使VC.NET编译的程序在Win9X下运行呢? 第二次打开程序,就出现在下面的错误,大家帮我看看 为优盘设置访问口令 类的问题
AfxGetMainWnd()->PostMessage();
建议好好理解一下MSDN上的说明,做到举一反三。
GetParent->SendMessage( WM_XXX, wParam, lParam );
在A中添加消息WM_XXX的响应处理。
注意父子关系要设置好
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"));
在B对话框的类的构造函数中加入A对话框类的指针就可以SendMessage了,这样比较简单。
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类的处理自定义的消息
}