Re[2]: Как работать с файловым диалогом в VC++ 6.0?
От: Vicont Россия  
Дата: 31.03.03 15:06
Оценка:
Здравствуйте, Игнат, Вы писали:

И>Здравствуйте, Турилин Александр Сергеевич, Вы писали:


ТАС>>Здравствуйте!


ТАС>>Я хочу при нажатии на стандартную кнопку Open из Toolbar'a получать ссылку на выбранный файл.

ТАС>>MSDN мне рекоммендует написать собственную функцию-реакцию на константу ID_FILE_OPEN. Спасибо. говорю я ему. Еще хотелось бы знать, что именно туда надо писать!
ТАС>>В том же самом МСДН я нашел диалог, который называется CFileDialog. Тут можно все задавать с помощью FLAGS ( только не понятно как этот FLAGS устроен — это массив или что?) и прочих параметров в конструкторе или с помощью разнообразных методов. Потом говориться, что нужно сделать DoModal. На этом месте все ломается...
ТАС>>В любом случае это не позволяло мне получить ссылку на файл.

ТАС>>Да — еще мне надо ограничить расширения. Это можно сделать в том же CFileDialog, а если в нем не получается, то как?


ТАС>>Заранее спасибо!


И>Если я правильно понял, то используется либо MDI или SDI интерфейс, в этом случае в классе документе необходимо переопределить виртуальную функцию

И>
И>BOOL CDoc::OnOpenDocument(LPCTSTR lpszPathName) 
И>{
И>    if (!CDocument::OnOpenDocument(lpszPathName))
И>        return FALSE;
И>    
И>    // TODO: Add your specialized creation code here
И>    return TRUE;
И>}

И>

И>Она вызывается после удачного закрытия окна "Open file", и её параметр есть имя файла.

И>


Наверно ты немного неправильно понял...
Надо переопределить ф-цию OnFileOpen() она м.б и не виртуальной, и обрабатываться на ID_FILE_OPEN
Там вызываешь диалог и читаешь документ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.