使用CFileDialog打开文件,但是程序的标题栏无法显示文件名,只是出现“无标题-程序名”。请教是什么原因?

解决方案 »

  1.   

    CString str;
    str = "lll"+ "iii"+"ddddddddd";
    也是这个错误,
    那就可以理解只能进行两个加
    str = "lll"+"iii";
    str = str + "dddddddd"
    给分吧
      

  2.   

    刚才发错地方了,呵呵
    CFileDialog mydlg;
    mydlg.m_ofn.lpstrInitialDir = 设置默认打开路径
    mydlg.m_ofn.lpstrTitle 设置打开对话框标题你的问题描述不清楚,,,不好答啊
      

  3.   

    晕。没说清楚。还是要谢谢shawnwan!
    在缺省情况下,窗口标题栏中显示的标题为程序名 + 当前文档的文件名。
    但是我的却无法显示文件名。
    我是用CFileDialog来打开文件的。请问如何才能使标题栏显示打开的文件名?
      

  4.   

    在vc的资源中有一个String Table选项,打开这个选项下的String Table,在主窗口菜单ID和字窗口菜单ID后面的Caption中分别加入你想显示的东西即可.
      

  5.   

    你是怎么打开这个文件的?
    文档类Doc中打开的吗?还是自己用CFile open打开的呢?
      

  6.   

    在Doc类里,CFileDialog对话框里用CFile::open打开的 。
      

  7.   

    正常情况下不应该出现你说的问题的,我没有遇到过.要是实在不行,可以在文档类中重载virtual void SetTitle(LPCTSTR lpszTitle) 在函数实现加入
    void CYourDoc::SetTitle(LPCTSTR lpszTitle) 
    {
    // TODO: Add your specialized code here and/or call the base class
    CDocument::SetTitle(lpszTitle);//lpszTitle=你打开的文件名称;
    }
      

  8.   

    重载OnFileOpen函数
    CFileDialog dlg 得到路径
    然后用AfxGetApp()->OpenDocumentFile(strFilePathName)打开
    不能用CFile::open这样的函数打开,因为这样的打开没有和文档类建立实质的联系
      

  9.   

    我的程序如下:
    void CMyDoc::OnFileOpen()
    {
    // TODO: Add your command handler code here
    static char szFilter[]="文本格式(*.txt)|*.txt||";
    CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_EXPLORER,szFilter,NULL);
    if (dlg.DoModal()==IDOK)
    {
    CString infilename=dlg.GetPathName();
    COpenFile.Open(infilename,CFile::modeReadWrite|CFile::shareDenyNone);

    }

    }
      

  10.   

    if (dlg.DoModal()==IDOK)
    {
           CString infilename=dlg.GetPathName();
           //COpenFile.Open(infilename,CFile::modeReadWrite|CFile::shareDenyNone);
           CLinkmestApp* pApp=(CLinkmestApp*) AfxGetApp();     
           pApp->OpenDocumentFile(infilename);
    }
      

  11.   

    错了,
    if (dlg.DoModal()==IDOK)
    {
           CString infilename=dlg.GetPathName();
           //COpenFile.Open(infilename,CFile::modeReadWrite|CFile::shareDenyNone);
           CYourApp* pApp=(CYourApp*) AfxGetApp();     
           pApp->OpenDocumentFile(infilename);
    }
      

  12.   

    COpenFile.Open(infilename,CFile::modeReadWrite|CFile::shareDenyNone);
    这句话出错了
    不能这样打开 这样打开和pDoc文档没有联系 
    必须用AfxGetApp()->OpenDocumentFile(infilename)