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


Автор: Doublefaced 17.5.2009, 23:38
не могу найти функцию, коотрая по нажатию клавиши открывала бы файл... т.е. в прямом смысле открывала .тхт, словно я нажал открыть в папке...

не подскажите?

Автор: Dmi3ev 17.5.2009, 23:52
ShellExecute()?

Автор: zim22 18.5.2009, 09:20
Цитата(Doublefaced @  17.5.2009,  23:38 Найти цитируемый пост)
не подскажите?

http://lmgtfy.com/?q=mfc+file+open

Автор: Doublefaced 18.5.2009, 21:39
решил просто открыть диалогом...

Код

char strFilter[] = { "Text Files (*.txt)|*.txt|All Files (*.*)|*.*||" };
    CFileDialog FileDlg(TRUE, ".txt", NULL, 0, strFilter);
    
if( FileDlg.DoModal() == IDOK )
{
      filename=FileDlg.GetPathName();  
}
else
return;


        char fname[2000];
strcpy(fname, filename.GetBuffer(2000));
    s.LoadMachine(fname);



а потом надо в editbox из тхт вывести весь файл... и как-то...
смысл такой (по крайней мере так задумывался)...открываем файл с результатом длиной 1024
и выводим в поле...

C
Код

File file;
    CString rname="Rez.txt";
    char ch[1024];
    file.Open(rname, CFile::modeRead, NULL);
    file.Read(&ch, sizeof(ch)); 
    m_EditText.SetWindowText(ch);
    file.Close(); 




ошибка: error C2039: 'SetWindowTextA' : is not a member of 'CString' в строке 
Код

m_EditText.SetWindowText(ch);

смотрел разобранные примеры там как раз таким образом делали...

как поправить сию ситуацию?

Автор: voov 19.5.2009, 10:15
Doublefacedsmile ты просто перепутал или недосмотрел.

Цитата(Doublefaced @  18.5.2009,  21:39 Найти цитируемый пост)
'SetWindowTextA' : is not a member of 'CString' 

это метод не CString, а окна. Так нужно делать, когда у тебя переменная является экземпляром класса контрола (в твоем случае это был бы CEdit). Но ты связал контрол с переменной по значению (класс CString).
В этом случае нужно делать так
Код

m_EditText = ch;     // записать значение в переменную
UpdateData(FALSE);        // обновить контрол значением из переменной

Автор: Doublefaced 19.5.2009, 10:45
просто с MFC недавно познакомился...
спс!

только проблема.. он считывает только первую строчку из файла(
нужно весь файл вывести...
другой метод нужен?

Автор: bek08 21.5.2009, 16:34
Модератор: Сообщение скрыто.

Автор: Doublefaced 21.5.2009, 17:57
нэ...никто не сталкивался?
или дешевле гетлайном читать и по строчке выводить?

Автор: Doublefaced 22.5.2009, 23:01
цэ! горит дело!
плз! неужели никто не сталкиввался?

считал в массив все строки из файла, потом пытаюсь присвоить переменной для editbox значение строки - получается, если перечислять строки через for то выводится ерунда... т.е. ладно бы они стирали друг друга или еще что, но выводится абсолютная ахинея(

помогите вывести txt файл в editbox...

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