只会做到单击按钮 出现了一个选择文件的对话框 求点击确定打开对话框之后 把文档的内容显示在static text中

解决方案 »

  1.   

    使用 CStdioFile 读入文件的内容,然后通过 SetWindowText 显示在static text对应的控件中即可。
    不过static text 可能不能显示太多的文字,可以尝试使用带有 ES_MULTILINE | ES_READONLY | NOT WS_BORDER 等属性的 Edit,应该有相同的显示效果。
      

  2.   

    你好,我在编辑框中实现了显示文件中的内容,希望可以给你提供思路://代码一,中文会乱码,换行存在问题
    void CSampleDlg::OnBnClickedButton1()
    {
    // TODO: Add your control notification handler code here
    CFileDialog FileDlg(true, _T("txt"), 
    NULL, OFN_FILEMUSTEXIST|OFN_HIDEREADONLY, 
    _T("文本文件(*.TXT)|*.TXT|All Files(*.*)|*.*||")); 
    if( FileDlg.DoModal() == IDOK ) 
    {    
    CString fileName=FileDlg.GetPathName();
    CStdioFile file; 
    file.Open(fileName,CFile::modeRead,0);    
    CEdit* pEdit = (CEdit *)GetDlgItem(IDC_EDIT);   
    CString tmp,str;
    while(file.ReadString(tmp))
    {
    str+=tmp;
    }
    pEdit->SetWindowText(str);
    file.Close(); 
    }
    }//代码二,中文不会乱码,但换行仍然存在问题
    void CSampleDlg::OnBnClickedButton1()
    {
    // TODO: Add your control notification handler code here
    CFileDialog FileDlg(true, _T("txt"), 
    NULL, OFN_FILEMUSTEXIST|OFN_HIDEREADONLY, 
    _T("文本文件(*.TXT)|*.TXT|All Files(*.*)|*.*||")); 
    if( FileDlg.DoModal() == IDOK ) 
    {    
    CString fileName=FileDlg.GetPathName();
    CStdioFile file; 
    file.Open(fileName,CFile::modeRead,0);    
    const int len=(const int)file.GetLength();
    char* lpBuf=new char[len];
    memset(lpBuf,0,len);
    file.Read(lpBuf, len);
    ::SetWindowTextA(GetDlgItem(IDC_EDIT)->GetSafeHwnd(),lpBuf);
    file.Close(); 
    }
    }
      

  3.   

    双击按钮添加响应函数,把一下粘贴进去,调试试试。txt可以打开。
    CFileDialog fileDlg(TRUE);
    if(fileDlg.DoModal() == IDOK)
    {
    CString str;
    CFile f;
    f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
    f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
    f.Close();
    GetDlgItem(IDC_EDIT4)->SetWindowText(str);//把IDC_EDIT4改成你要显示的静态文本ID
    }