float buf[6];//存放数据
::SendMessage(m_hWnd,WM_PARTDISPLAY,0,(LPARAM)buf);//发送消息
void  OnPartDisplay(LPARAM lp)// 接收函数
{
float *buf=(float *)lp;
.....
}
我想将数组里的数据通过消息响应函数传送到主线程,请问对于这样是数组该怎么传递?在线程怎样接收数据,我上述线程函数不能接受到我要的数据
请帮忙看看,谢谢!

解决方案 »

  1.   

    WM_PARTDISPLAY 是你自己定义的消息?
      

  2.   

    你如果这样用,float buf[6];//存放数据
    这个变量必须是全局变量
      

  3.   

    float buf[6];//存放数据
    ::SendMessage(m_hWnd,WM_PARTDISPLAY,0,(LPARAM)buf);//发送消息
    如果你的buf是局部的变量,不行,接收端接到的不是你要的数据,你把BUF,改成动态分配的,或者是全局变量。
      

  4.   

    char revrbuf[100]="wo so sss sss !";
    ::SendMessage(m_hWnd,WM_PARTDISPLAY,0,(LPARAM)revrbuf);
    void CFlatDeView::OnPartDisplay(WPARAM wparam , LPARAM lp)
    {  
       CString sstr=(char*)lp;

    MessageBox(sstr);
    }
    char 型的可以传递,是不是不可以传递float??
      

  5.   

    直接发WM_COPYDATA消息,多省心啊。
    你看下MSDN,很简单的