首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

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

2012-04-23 
请教下,想自定义一个消息问题我想实现自顶一个消息,并且当窗口接受到这个消息时,自定义一个函数来处理。宏

请教下,想自定义一个消息问题
我想实现自顶一个消息,并且当窗口接受到这个消息时,自定义一个函数来处理。

宏定义:#define WM_YOURMESSAGE WM_USER+100

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

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

请写详细点,谢谢。

[解决办法]

C/C++ code
#define WM_YOURMESSAGE WM_USER+100...typedef struct ... TYOURMESSAGEParam;...TYOURMESSAGEParam Param;....SendMessage(DstHandle, WM_YOURMESSAGE, (WPARAM)&Param, NULL);...void __fastcall XXXXForm::WndProc(TMessage msg){   if(msg.Msg == WM_YOURMESSAGE)   {      ProcessYourMessage((TYOURMESSAGEParam *)msg.wParam);      rerutn ;   } }void __fastcall XXXXForm::ProcessYourMessage(TYOURMESSAGEParam* pMsgParam){      .... }
[解决办法]
基本就是1楼说的这些了。
关于参数的生命周期问题,我的建议是这样:如果用TYOURMESSAGEParam Param;这样的定义方式,建议用SendMessage,如果是用new创建的对象,可以用SendMessage,返回后delete,或者用PostMessage,由对方来负责delete
[解决办法]
特别注意:
如果跨进程的话,可能是出错的哟

热点排行