我在对话框中添加了个EDIT控件,想让EDIT显示串口的数据,串口数据存放在自己定义的msg【3】中,现在想让EDIT显示出msg中的内容。怎么办啊
  关联了EDIT的变量m_edit 定义为string型的  
  用updatedata(0)不起作用,用setwidowstext编译显示不是类的对象。[修改本贴] [本帖已解决] 
程序代码为:
int CComList::ReceiveComm()
{    int i;
     char RMsg[10];
     for(i=0;i<10;i++)
        RMsg[i]='\0';
    DWORD dwByteRead=10;
    COMSTAT ComState;
    DWORD dwErrore;
    ClearCommError(hCom,&dwErrore,&ComState);
    BOOL bReadStat=ReadFile(hCom,RMsg,dwByteRead,&dwByteRead,NULL);
    if(!bReadStat){
       DWORD dwErrorIDE=GetLastError();
       //AfxMessageBox(&RMsg);
      
       PurgeComm(hCom,PURGE_RXCLEAR);       return -1;
    }                  //串口接收部分
//下面的需要将串口中的数据显示出来。
     
    m_edit.SetWindowText(RMsg);  //显示SetWindowText不是String类对象
    UpdateData(0);
        return dwByteRead;
}整个函数通过BOTTON的一个按钮响应来执行的void CComList::OnButton2() 
{
    // TODO: Add your control notification handler code here
    ReceiveComm();
}

解决方案 »

  1.   

    将m_edit.SetWindowText(RMsg); //显示SetWindowText不是String类对象
    替换为下面的
    m_edit = CString(RMsg);
    UpdateData(FALSE);
      

  2.   

    把要显示的数据传出来就可以了  ReceiveComm(char * Rmsg)
      

  3.   

     CString m_msg;//你将它申明为全局的试下;调试下它有值没,没有值说明你的串口根本没抓到数据.
     
     m_msg.Format("%s",RMsg)
     m_edit.SetWindowText(m_msg); 
     UpdateData(FALSE);