none
SetDlgItemText的问题 RRS feed

  • 问题

  • wchar_t wText[250] = {L" "};

    TCHAR cstr[255];
    file.Read(cstr,file.GetLength());
    MultiByteToWideChar (CP_ACP, 0, cstr, -1, wText, 0);
     
     SetDlgItemText(IDC_EDIT_CONTENT,cstr);

    最后一句为什么会出错, SetDlgItemText(IDC_EDIT_CONTENT,wText);也出错,

    2011年4月23日 11:13

答案

  • try
     {
      CFile file;
      file.Open(_T("F:\\11.txt"), CFile::modeRead);
      char* buf = NULL;
      DWORD dwSize = (DWORD)file.GetLength();
      buf = new char[dwSize+1];
      memset(buf, 0, sizeof(char)*(dwSize+1));
      file.Read(buf, dwSize);
      file.Close();

      SetDlgItemText(IDC_EDIT_CONTENT, CString(buf));
      delete[] buf;
      buf = NULL;
     }
     catch(CFileException* e)
     {
      e->ReportError();
      e->Delete();
     }
    这样就可以了,SetDlgItemText(IDC_EDIT_CONTENT, CString(buf));这句就可以正确的将数据写到编辑框中了。


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 Rob Pan 2011年4月28日 8:35
    2011年4月25日 0:08
    版主