float buf[6];//存放数据
::SendMessage(m_hWnd,WM_PARTDISPLAY,0,(LPARAM)buf);//发送消息
void OnPartDisplay(LPARAM lp)// 接收函数
{
float *buf=(float *)lp;
.....
}
我想将数组里的数据通过消息响应函数传送到主线程,请问对于这样是数组该怎么传递?在线程怎样接收数据,我上述线程函数不能接受到我要的数据
请帮忙看看,谢谢!
::SendMessage(m_hWnd,WM_PARTDISPLAY,0,(LPARAM)buf);//发送消息
void OnPartDisplay(LPARAM lp)// 接收函数
{
float *buf=(float *)lp;
.....
}
我想将数组里的数据通过消息响应函数传送到主线程,请问对于这样是数组该怎么传递?在线程怎样接收数据,我上述线程函数不能接受到我要的数据
请帮忙看看,谢谢!
这个变量必须是全局变量
::SendMessage(m_hWnd,WM_PARTDISPLAY,0,(LPARAM)buf);//发送消息
如果你的buf是局部的变量,不行,接收端接到的不是你要的数据,你把BUF,改成动态分配的,或者是全局变量。
::SendMessage(m_hWnd,WM_PARTDISPLAY,0,(LPARAM)revrbuf);
void CFlatDeView::OnPartDisplay(WPARAM wparam , LPARAM lp)
{
CString sstr=(char*)lp;
MessageBox(sstr);
}
char 型的可以传递,是不是不可以传递float??
你看下MSDN,很简单的