TCHAR tszText[] = _T("0.1");
::SendMessage(GetDlgItem(m_hWnd,IDC_EDIT3),WM_SETTEXT,0,(LPARAM)tszText);

解决方案 »

  1.   

    ::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_SETTEXT,0,(LPARAM)"0.1");
    char ch1[10];
    ::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
    GetDlgItem(IDC_EDIT2)->SetWindowText(ch1);没问题啊.....都是0.1
      

  2.   

    使用堆内存,传递内容。TCHAR  * pTszText = new TCHAR[100];
    memSet(pTszText, 0, 100 * sizeof(TCHAR));使用memCopy将要传递的内容,复制到pTszText中。::SendMessage(GetDlgItem(m_hWnd,IDC_EDIT3),WM_SETTEXT,0,(LPARAM)pTszText);
      

  3.   

    :SendMessage(GetDlgItem(m_hWnd,IDC_EDIT3),WM_GETTEXT,10,(LPARAM)cstr);
     
    看一下cstr的类型是不是char。如果传值是:(LPARAM)"0.1",  cstr的类型为Char;
    如果是(LPARAM)_T("0.1)", cstr的类型为TChar;
      

  4.   

    为啥不直接用 getwindowtext  或者setwindowtext 呢  。 很好奇
      

  5.   

    找到原因了。我的工程用的是unicode,所以应该用TCHAR,而不是char。我之前定义的cstr是用char定义的,用TCHAR就对了。