初学MFC 问题小结 一

初学MFC,写了一个小应用,选择文件显示其文件路径和文件大小。在win2003能成功运行,并显示结果,但是在win 7 的环境下就显示无法打开文件,还有显示文件大小为0的情况。编译环境是VS2010

 目前这一问题还在研究中。

关键代码如下

/*
    m_file 是CFile类型的,
    m_filePath和m_fileName都是CString类型的

*/

void Cno1Dlg::OnBnClickedButton1()
{
    CFileDialog dlg(TRUE);
    if(dlg.DoModal() == IDCANCEL)
        return;
    
    if(m_file.m_hFile != CFile::hFileNull)
        OnClose();

    m_fileName = dlg.GetFileName();

    if(!m_file.Open(m_fileName, CFile::modeCreate || CFile::modeReadWrite))
    {
        AfxMessageBox(_T("无法打开文件"));
        m_fileName.Empty();
        return;
    } 

    m_filePath = dlg.GetPathName();
    
    SetDlgItemTextW(IDC_EDIT1,m_filePath); //在IDC_EDIT1里显示文件路径

    SetDlgItemInt(IDC_EDIT2,m_file.GetLength()/1024); //在IDC_EDIT2显示文件大小,单位是K,

}
原文地址:https://www.cnblogs.com/ligongzi/p/2690245.html