关于自定义消息的发送与接受

mayudong1 2007-03-20 12:51:01
我自己在对话框定义一个消息视图向客户区发消息, 自己定义的消息的声明及注册,以及定义消息映射函数,应该在视图类里还是在自己定义的对话框类里。
char buff[20];
static UINT WM_PRINTF;
strcpy(buff,"WM_PRINTF");
WM_PRINTF=::RegisterWindowMessage(buff);
麻烦大家在给指点一下。谢谢
...全文
152 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovesnow1314 2007-03-20
  • 打赏
  • 举报
回复
在全局中,既能在Dialog中识别消息,也能在客户区识别。
li45214521 2007-03-20
  • 打赏
  • 举报
回复
可以这样定义: 定义非模态对话框
1:在全局头文件中添加
#define WM_DATA (WM_APP+1)
2: 在视图类中添加成员:
afx_msg long OnData(UINT wParam,LONG lParam);
并定义消息映射:
BEGIN_MESAAGE_MAP(CMYVIEW,CVIEW)//在你的视图中
ON_MESSAGE(WM_DATA,OnData)
END_MESSAGE_MAP()
3:实现OnData函数
long CMYVIEW::OnData(UINT wParam,LONG lParam)
{
return 0L;
}
4:在对话框中编写发送消息的函数 如 我添加一个button
在对话框消息映射中
写出:
if(UpdateData())
{
CWnd* pParent=GetParent();
ASSERT(pParent);
if(pParent)
{
pParent->SendMessage(WM_Data,0,0);
}
}
这样就能调用OnData的函数了,到此 就完成的回调(或是消息发送)


li45214521 2007-03-20
  • 打赏
  • 举报
回复
LS 说的对
xlzxlich 2007-03-20
  • 打赏
  • 举报
回复
发送:在自己定义的对话框类里
响应:在视图类里

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧