Автор
|
Тема: Как мне вывести текст в диалоге?
|
RADIO |
опубликован 19-10-2001 19:30 MSK
Проблема следующая: есть файл (текст, многострочный) Я на него делаю объект CFile. Делаю диалог CViewDlg::public CDialog. На диалоге устанавливаю контрол типа CEdit и связываю его в ClassWizard с переменной CString m_Edit. Считываю из файла данные в переменную CString buffer и вывожу её с помощью AfxMessageBox(buffer) - всё ОК. Но, когда я пытаюсь сделать dlg.m_Edit = buffer; dlg.DoModal(); мне диалог рисует всё приблизительно в одну строчку (по крайней мере, его принцип перевода строки мне остался непонятен), заменяя перевод строки на вертикальную палочку.... Пытался сделать переменную, как Control (CEdit), но всё равно не получилось добиться нормального отображения текста в окошке.... Извините за столь дамерский (может быть) вопрос и заранее Спасибо!
|
andrewag
|
опубликован 19-10-2001 19:39 MSK
А поле ввода многострочечное? |
RADIO
|
опубликован 19-10-2001 20:08 MSK
Поле ввода - ты имеешь в виду CEdit с параметром Multiline? Если так - то это я уже пробовал и результат - энное количество вертикальных палок без корректного перевода строк. |
DenizK
|
опубликован 19-10-2001 21:57 MSK
Например так for (int i = 0; i < m_aInfo.GetSize(); i++) { int iTotalTextLength = m_edRec.GetWindowTextLength(); m_edRec.SetSel(iTotalTextLength, iTotalTextLength); str = m_aInfo[i]; str += "\r\n"; m_edRec.ReplaceSel(str); } m_edRec.LineScroll(-1000);где m_aInfo - CStringArray cо списком строк для вывода, m_edRec - твой едит |
Gaper
|
опубликован 20-10-2001 09:05 MSK
Правильно, конечно, но уж как-то шибко мудрёно... Можно же просто сказать - замени, мол \n на \r\n. Так же и в шаблонах диалогов следует поступать, и во многих других случаях... Винда-с :) |
RADIO
|
опубликован 20-10-2001 18:26 MSK
Спасибо - "\r" (в комплекте с "\n") оказалось именно тем, что я либо не знал, либо забыл.... |