Я пишу свое первое приложение в MFC, и я хотел включить очень простую функцию: включить кнопку «Сохранить в файл», которая при нажатии откроет знакомое диалоговое окно «Сохранить как..» и в конечном итоге сохранит данные в текстовом файле. Я не мог найти, как вызвать это диалоговое окно - может ли кто-нибудь просто указать мне правильный способ сделать это?
Как записать строку из EditControl в текстовый файл в Visual Studio 2008, используя диалоговое окно «Сохранить в..»?
Ответы (2)
Что вам нужно, это CFileDialog :
CFileDialog d(FALSE);
if(IDOK == d.DoModal())
{
CString sFileName = dlg.GetPathName();
// ... Save your text to the file
}
В конструкторе CFileDialog есть множество параметров, которые можно изменить, чтобы повлиять на поведение диалогового окна. Подробности см. в документации MSDN.
Для того, что вы описали, вам, вероятно, следует просто использовать CEditView
вместо написания собственного кода. Он предварительно написан, протестирован и т. д.
В большинстве других ситуаций вы должны понимать, что MFC сама обрабатывает детали создания диалогового окна Save As...
и тому подобного, поэтому все, что вам обычно нужно сделать, это поместить код в функцию-член Serialize()
вашего класса документа для чтения и записи данных вашего документа. Это переданная ссылка на объект CArchive
, поэтому все, с чем вам нужно иметь дело, это запись или чтение данных для вашего объекта документа.