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

在主线程不能接收工作线程发来的sendmessage消息附带的消息解决方法

2012-02-23 
在主线程不能接收工作线程发来的sendmessage消息附带的消息 - C++ Builder / Windows SDK/API在工作线程向

在主线程不能接收工作线程发来的sendmessage消息附带的消息 - C++ Builder / Windows SDK/API
在工作线程向主线程发送消息:

C/C++ code
int statuss = 1;SendMessage(FM->Handle, WM_MYMSG, 0, (LPARAM)status);


在主线程里接收:
C/C++ code
void __fastcall  FM::OnMYMSG(TMessage &MyMessage){     int x;     x = msg.lParam;}


这样在主线程里接收不到呢。。。。请教各位。。


[解决办法]
窗体中可作了消息映射?
[解决办法]
参数在TMessage的lParam或wParam里
[解决办法]
没看明白,楼主是否是下面的意思:这里SendMessage中发送的statuss的值,在OnMYMSG中取到?

如果是这样,用下面的代码即可:
int statuss = 1;
SendMessage(FM->Handle, WM_MYMSG, 0, (LPARAM)status);

在这里可以取到:
C/C++ code
void __fastcall  FM::OnMYMSG(TMessage &MyMessage){    int value;    switch (MyMessage.Msg)    {    case WM_MYMSG:        value = MyMessage.LParam;//这个就是statuss的值        break;    default:        break;    }} 

热点排行