Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Нужен полный путь к файлу


Автор: Royan 4.12.2002, 08:06
Очень надо узнать как мне получить полный путь к только что открытому файлу в MDI приложении? Разумеется VC да MFC

Автор: Blade 5.12.2002, 11:29
А можно немножко поподробнее...
Если я правильно понял, нужно узнать, что было выбрано в диалоге "открытие файла". Если так, то всё совсе просто. В класс CYourDoc перегружаешь метод OnOpenDocument:
Код

BOOL CYourDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
AfxMessageBox(lpszPathName);//Вот он твой путь. Можешь его куда нибудь сохранить или передать :)
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;

return TRUE;
}
 :)

Автор: Royan 5.12.2002, 17:55
Спасибо, но так получилось, что я уже переделал, свой проект и теперь путь просекаю через CFileDialog. Возможно кому-то окажеться полезным знать как, посему вот как я поступил:
Код

TCHAR title[] = "Open file to sniff words in";
 
//Creating dilog window object
CFileDialog openDlgWnd(TRUE);

CString str("");
str += "Text files (*.txt,*.asc,*.text)"; str+=(TCHAR)NULL; str+="*.txt; *.asc; *.text";str+=(TCHAR)NULL;
str += "HTML Documents (*.htm,*.shtml,*.plg)"; str+=(TCHAR)NULL; str+="*.htm; *.shtml; *.plg";str+=(TCHAR)NULL;
str += "All files (*.*)"; str+=(TCHAR)NULL; str+="*.*";str+=(TCHAR)NULL;

//Launch filter
openDlgWnd.m_ofn.lpstrFilter = str;
//
openDlgWnd.m_ofn.nFilterIndex = 1;
//
TCHAR openFileName[_MAX_PATH];
//
openFileName[0] = (TCHAR)NULL;
//
openDlgWnd.m_ofn.lpstrFile=openFileName;
//
openDlgWnd.m_ofn.lpstrTitle = title;
//We'll be able to select a few files
openDlgWnd.m_ofn.Flags |= OFN_ALLOWMULTISELECT;

if(openDlgWnd.DoModal()==IDOK){
CChildFrame *pWnd = (CChildFrame *)GetActiveFrame();
pWnd->SetWindowText(openDlgWnd.m_ofn.lpstrFile);
}

Вот здесь:openDlgWnd.m_ofn.lpstrFileХраниться полный путь к файлу.

Автор: Baa 5.12.2002, 18:12
По-хорошему... если на форуме поискать, то можно много всего интересного найти... http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=1;t=4476

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)