Esempio n. 1
0
void CDocument::SetPathName( LPCTSTR lpszPathName, BOOL bAddToMRU )
/*****************************************************************/
{
    TCHAR szFullPath[MAX_PATH];
    if( ::GetFullPathName( lpszPathName, MAX_PATH, szFullPath, NULL ) == 0 ) {
        throw new CFileException( CFileException::badPath );
    }
    m_strPathName = szFullPath;

    TCHAR szFileTitle[MAX_PATH];
    if( ::GetFileTitle( lpszPathName, szFileTitle, MAX_PATH ) != 0 ) {
        SetTitle( lpszPathName );
    } else {
        SetTitle( szFileTitle );
    }

    if( bAddToMRU ) {
        CWinApp *pApp = AfxGetApp();
        ASSERT( pApp != NULL );
        pApp->AddToRecentFileList( szFullPath );
    }
}