请教下,想自定义一个消息问题

xianymo2012 2012-04-06 09:15:01
我想实现自顶一个消息,并且当窗口接受到这个消息时,自定义一个函数来处理。

宏定义:#define WM_YOURMESSAGE WM_USER+100

我想在WM_YOURMESSAGE能够携带一些参数,比如带一个结构体。那该怎么定义这个消息的结构啊,

然后窗口接受到这个消息后,怎么把消息中的这个结构体变量给取出来啊,

请写详细点,谢谢。
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Behard 2012-04-07
  • 打赏
  • 举报
回复
特别注意:
如果跨进程的话,可能是出错的哟
ccrun.com 2012-04-07
  • 打赏
  • 举报
回复
基本就是1楼说的这些了。
关于参数的生命周期问题,我的建议是这样:如果用TYOURMESSAGEParam Param;这样的定义方式,建议用SendMessage,如果是用new创建的对象,可以用SendMessage,返回后delete,或者用PostMessage,由对方来负责delete
ccrun.com 2012-04-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
特别注意:
如果跨进程的话,可能是出错的哟
[/Quote]

是的,跨进程的话,推荐WM_COPYDATA消息。
yoke_wolf 2012-04-07
  • 打赏
  • 举报
回复

#define WM_YOURMESSAGE WM_USER+100
...
typedef struct ... TYOURMESSAGEParam;
...
TYOURMESSAGEParam Param;

....
SendMessage(DstHandle, WM_YOURMESSAGE, (WPARAM)¶m, NULL);

...
void __fastcall XXXXForm::WndProc(TMessage msg)
{
if(msg.Msg == WM_YOURMESSAGE)
{
ProcessYourMessage((TYOURMESSAGEParam *)msg.wParam);
rerutn ;
}
}
void __fastcall XXXXForm::ProcessYourMessage(TYOURMESSAGEParam* pMsgParam)
{
....
}


注意用PostMessage的话保证 TYOURMESSAGEParam Param 变量有效性
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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