Мне прогаммирование MFC и, вообще, под Windows пока мало знакомо. В институте мне дали задание написать AVL-дерево. В целях тренировки,я хочу написать программу для вывода результатов в окно. Используется окно диалога, как главное окно программы. Какую облать в нем надо создать, чтобы вывести туда результаты (тип ostreamstring). Подскажите, как реализовать вывод средствами MFC и Win32 API.
Заранее всем спасибо =))
Здравствуйте, El Mariachi, Вы писали:
EM> Используется окно диалога, как главное окно программы. Какую облать в нем надо создать, чтобы вывести туда результаты (тип ostreamstring). Подскажите, как реализовать вывод средствами MFC и Win32 API.
можно например так — в редакторе ресурсов бросаешь на диалог Edit Box, делаешь ему нужный размер, в свойствах ставишь нужные стили (MultiLine наверно понадобится), связываешь с ним при помощи ClassWizard-а переменную типа CString. Когда будут готовы результаты копируешь в эту переменную свою строку и делаешь UpdateData(FALSE);
... << RSDN@Home 1.0 beta 6a >>
Создал в ресурсах EditBox для вывода результата
Поставил в свойствах Multiline (Visual Studio .Net).
Вывожу текст из ostringstream,
а строки не переносятся?

Why???
Кусок кода...
void CDlgAVLTreeDlg::OnBnClickedNEW()
{
int_tree.Insert(12);
int_tree.Insert(2);
int_tree.Insert(0);
int_tree.Insert(34);
int_tree.Insert(1);
int_tree.Insert(1);
int_tree.Insert(12);
oss << int_tree;
CEdit *editBoxPtr = (CEdit *) (this->GetDlgItem(IDC_OUT_MES));
editBoxPtr->SetWindowText((oss.str()).c_str());
}
Что здесь не так?
Здравствуйте, Аноним, Вы писали:
А>Создал в ресурсах EditBox для вывода результата
А>Поставил в свойствах Multiline (Visual Studio .Net).
А>Вывожу текст из ostringstream,
А>а строки не переносятся?
Why???
Попробуй не EditBox, а RichEdit.
Здравствуйте, <Аноним>, Вы писали:
А>Создал в ресурсах EditBox для вывода результата
А>Поставил в свойствах Multiline (Visual Studio .Net).
А>Вывожу текст из ostringstream,
А>а строки не переносятся?
Why???
А>Кусок кода...
А>А>
А>Что здесь не так?
Возможно надо при переносе строки добавлять
_T("\r\n") — перевод строки
Т.е. что-то подобное
CString sz = _T("first string");
sz += _T("\r\n");
sz += _T("Second string");
editBoxPtr->SetWindowText(sz);
Удачи
... << RSDN@Home 1.0 beta 6a >>