【MFC笔记】窗口之间消息传递,自定义消息处理,消息参数的传递

本文介绍了如何在MFC应用程序中实现窗口之间的消息传递。通过创建非模态对话框,设置自定义消息,并在主对话框中响应按钮点击事件,将编辑框内容发送至另一窗口显示。同时,详细讲解了如何处理自定义消息及传递消息参数的过程。
摘要由CSDN通过智能技术生成

实现功能,1窗口如果check选中,点击按钮,将edit的内容通过消息发送到窗口2,显示在edit中,如果没有勾选check,清空edit。

1、新建对话框工程,在主对话框初始化函数中产生一个非模态对话框。

(新建对话框资源,添加控件,生成对话框类,将类.h包含到主窗.h文件中。添加以下,产生非模态对话框

	add *madd=new add;//add为新建窗口的类
	madd->Create(IDD_DIALOG1, this);  //新窗口的ID
	 madd->ShowWindow(SW_SHOW); //显示

 

2、自定义消息。在接收消息的对话框类中,用向导自定义消息。

自动生成消息映射和消息响应函数。

需要在接收消息类.h文件开头加以下。

#define mymesage WM_USER+1000

“2019.9.24修正,这个应该放在发送和接收的消息都包含的头文件内,比如都包含public.h,否则没有包含的会提示未定义”

3、双击主对话框的按钮,产生消息。

void CMy22Dlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	bool mb=((CButton *)GetDlgItem(IDC_CHECK1))->GetCheck();//获得check的值
	CString str;
	GetDlgItemTextA(IDC_EDIT1,str);//获得edit的值
	HWND nd;//是HWND
	nd=::FindWindow(NULL,"非模态");//用windows函数找到另一个窗口的句柄࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值