CDialog 与CFileDialog 类是平级的吗??CFileDialog如何使用??我在建立类向导里面找不到CFileDialog类,只能添加子类!CFileDialog这类如何定义??是已经定义好的吗???声明对象如何声明??
void CMatlabDlg::OnButton1() 
{

CFileDialog dlg(true,"文本文件",NULL,0,"所有文件|*.*");
dlg.DoModal();m_EdtFileName.SetWindowText(dlg.GetFileName());    //显示文件名
CFile file;    //声明一个CFile对象
file.Open(dlg.GetPathName(),CFile::modeRead);
float fFileLenght=(float)file.GetLength();    //取出文件大小
CString str;
str.Format("%f",fFileLenght/1024);
file.Close();
m_EdtPath.SetWindowText(dlg.GetPathName());     //取出文件完整路径
m_EdtFileExt.SetWindowText(dlg.GetFileExt());    //取出扩展名
m_EdtSize.SetWindowText(str);}m_EdtSize   m_EdtFileExt 等等对象在哪里声明???如何声明

解决方案 »

  1.   

    m_EdtFileName是一个和Edit控件关联的控件对象.后面的都是void CMyClass::OnFileOpen()
    {
       // szFilters is a text string that includes two file name filters:
       // "*.my" for "MyType Files" and "*.*' for "All Files."
       TCHAR szFilters[]= _T("MyType Files (*.my)|*.my|All Files (*.*)|*.*||");   // Create an Open dialog; the default file name extension is ".my".
       CFileDialog fileDlg(TRUE, _T("my"), _T("*.my"),
          OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters);   // Display the file dialog. When user clicks OK, fileDlg.DoModal() 
       // returns IDOK.
       if(fileDlg.DoModal() == IDOK)
       {
          CString pathName = fileDlg.GetPathName();      // Implement opening and reading file in here.      //Change the window's title to the opened file's title.
          CString fileName = fileDlg.GetFileTitle();      SetWindowText(fileName);
       }
    }这是一个FileDialog的例子,具体的资料msdn上面有.
      

  2.   

    m_EdtSize  m_EdtFileExt肯定是在你对话框上的edit控件了,在资源里面加啊,然后在头文件中定义变量;并且要和你资源的edit关联起来。
      

  3.   

    CFileDialog dlg(true,"文本文件",NULL,0,"所有文件|*.*"); 
    if(dlg.DoModal()==IDOK)
    {
       // 取得文件的路径,进行你的处理
    }PS:CFileDialog类是个通用对话框类,主要作用是取得用户输入或选择的文件路径