Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > MDI и проблема с форматированием в RichEdit


Автор: AntonPavlov 24.8.2011, 16:55
Нужно создать приложение MDI. Есть главная (родительская) форма, сверху панель с кнопками – Открыть, Создать, Сохранить и т.д., а так же некоторые кнопки для форматирования текста в RichEdit, который имеет место быть на дочерней форме. Дочерние формы создаются щелчком по кнопке Создать, и быть их (дочерних форм) может быть сколько угодно много. Вопрос в следующем – когда я пытаюсь применить к тексту форматирование щелчком по соответствующей кнопке (ну например, RichEdit1.SelAttributes.Style := [fsBold] или RichEdit1.Paragraph.Alignment := taCenter) – выскакивает ошибка Access Violation…. Есть конечно мысль на счет того, чтобы панель форматирования сунуть непосредственно в дочернюю форму – тогда вроде все нормально. Но мне больше почему-то нравится первый вариант, когда панель в главной форме. 
Как тут поступать? В чем причина ошибки? Или использовать второй вариант? 

Автор: DarkProg 24.8.2011, 18:24
IMHO проблема в том что RichEdit1 находится на дочерней форме... Если форма не динамическая, а имеет фиксированное имя, то можно попробовать просто
Код

Form1.RichEdit1.SelAttributes.Font.Name:='Times New Roman'

Автор: Snowy 25.8.2011, 11:13
Вероятно ты неправильно обращаешься к RichEdit.
Не знаю, как сделано у тебя, поэтому прикрепляю тестовый проектик - как правильно.
Это MDI WordPad'ик в котором можно форматировать, сохранять и загружать файлы. 
Остальное не реализовывал - т.к. это пример. 
Но за образец можно взять функцию открытия файла - остальное по аналогии.

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