#include "AchiveMsg.h"
// CMsgDlgDlg 对话框
class CMsgDlgDlg : public CDialog
{
private:
CAchiveMsg dlg;
};
//以下是发送消息的按钮的实现
void CMsgDlgDlg::OnBnClickedMessage()
{
// TODO: 在此添加控件通知处理程序代码
if (!m_bCanSendMsg)
{
dlg.Create(IDD_DIALOG_ACHIVE,this); //创建对话框
}
m_bCanSendMsg = TRUE; //标记对话框已被创建
dlg.ShowWindow(SW_HIDE); //显示对话框
WPARAM wParam = CMSG; //宏定义的值,可以改变,可以用来标识按钮已点击
::PostMessage(dlg.GetSafeHwnd(), WM_MY_MSG,wParam,0); //传送消息
}
// 接受消息 对话框的头文件和.cpp文件
#define WM_MY_MSG (WM_USER + 100) //宏定义消息类型
#define CMSG 1001 //标识一个数值,无特别意义
class CAchiveMsg : public CDialog
{
protected:
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
};
BEGIN_MESSAGE_MAP(CAchiveMsg, CDialog)
ON_MESSAGE(WM_MY_MSG, OnMyMessage) //注意别忘记添加这一句!!!
END_MESSAGE_MAP()
//以下是接受的消息要实现的功能
LRESULT CAchiveMsg::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
if (wParam == CMSG)
{
GetDlgItem(IDC_ACHIVE_MSG)->SetWindowText("A message form other dlg..");
}
return 0;
}
一个简单的例子放在资源里可以下载看看、、、、、