消息传递的方法:使用ON_MESSAGE
使用ON_MESSAGE响应消息,必须配合定义消息
在stdafx.h中
#define WM_MYDEFMSG (WM_USER + 1301)
对于发送消息者-Dialog_1.cpp,
// CDialog_1 消息处理程序
void CDialog_1::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CWnd *wnd = FindWindow(NULL,_T("ICCard"));
::SendMessage(wnd->GetSafeHwnd(),WM_MYDEFMSG,0L,0L);
}
对于消息的接受者-ICCardDlg.cpp,
ICCardDlg.h 中:
//TAB框消息
afx_msg LRESULT OnUserDefMsg(WPARAM wParam,LPARAM lParam);
ICCardDlg.cpp 中:
BEGIN_MESSAGE_MAP(CICCardDlg, CDialog)
ON_MESSAGE (WM_MYDEFMSG, &CICCardDlg::OnUserDefMsg)
END_MESSAGE_MAP()
LRESULT CICCardDlg::OnUserDefMsg(WPARAM wParam,LPARAM lParam)
{
AfxMessageBox(_T("响应了自定义的消息!"));
return 0;
}
本文介绍了一种在Windows应用程序中自定义消息传递的具体实现方法。通过定义自定义消息、使用发送消息函数及设置消息响应函数,实现了不同窗口间的通信。文章详细展示了如何在对话框和自定义窗口中应用这一技术。
1022

被折叠的 条评论
为什么被折叠?



