Текстовый редактор[C++]
:eek: А что в Visual Studio нет RichEdit ? Есть.
Какое это приложение - диалог,однодокументное ? Начать необходимо с изучения класса CRichEditCtrl,имхо.Прежде всего, в RichEdit, существует возможность изменить: цвет, размер, шрифт определенных символов, а не всего текста, как это было в EditBox. Также, есть возможность работы с параграфами т.е. отступы, выравнивание абзацев и поддержка работы со списками .
Есть разные версии RichEdit. В Windows95 была версия RichEdit 1.0. В Windows 98, 2000, NT - версия RichEdit 2.0 Ее отличительная особенность это расширенные возможности форматирования символов (появилась структура CHARFORMAT2) и дополнительные функции для работы с параграфами (структура PARAFORMAT2).Для того чтобы использовать в диалоге RichEdit, необходимо в методе InitInstance класса приложения вызвать функцию BOOL AFXAPI AfxInitRichEdit( );Изменять параметры шрифта можно например так
CHARFORMAT cf;
m_Edit.GetSelectionCharFormat(cf);
CFontDialog dlg(cf);
if (dlg.DoModal() == IDOK)
{
dlg.GetCharFormat(cf);
m_Edit.SetSelectionCharFormat(cf);
}
...
где m_Edit - контрол-переменная расширенного текстового поля.
Тогда создавай приложение.Поудаляй с исходной формы ненужные элементы управления и добавь туда из ToolBox элемент Rich Edit 2.0 Control.Найди ф-ию InitInstance() и допиши в ней
ASSERT(AfxInitRichEdit());
...
Добавь в класс диалога контрол-переменную для Rich Edit,например так
CRichEditCtrl m_Edit.В ф-ии OnInitDialog допиши
CRect rectForm;
GetClientRect(&rectForm);
m_Edit.MoveWindow(&rectForm,TRUE);
this->CenterWindow(NULL);
...
Дальше смотри что получилось.Должен быть диалог с расширенным текстовым полем...