работа с многострочным текстом
как в дочернее окно вставить многострочный текст
да так, чтобы размер тестового блока пропорционально изменялся при изменении размеров самого окна
Заранее всем спасибо
Подскажите, пожалуйста,
как в дочернее окно вставить многострочный текст
да так, чтобы размер тестового блока пропорционально изменялся при изменении размеров самого окна
Заранее всем спасибо
Что-то не совсем понятно... Можно подробнее?
В окне будет текст.
Несколько абзацев.
Можно ли сделать так, чтобы при изменении размеров окна менялся и размер текстового блока.
(пропорционально размерам окна).
Т.е. при уменьшении окна строки, которые вылезают за пределы окна автоматически переносились на новую строку.
При выборе пункта меню должно открываться новое окно.
В окне будет текст.
Несколько абзацев.
Можно ли сделать так, чтобы при изменении размеров окна менялся и размер текстового блока.
(пропорционально размерам окна).
Т.е. при уменьшении окна строки, которые вылезают за пределы окна автоматически переносились на новую строку.
Если текст будет выводиться в Label, то на форму кинуть TLabel, у него AutoSize:=false, Align:=alClient, WordWrap:=true
Для Memo - аналогично - WordWrap:=true
Вообще WordWrap отвечает за перенос текста по словам.
Если текст будет выводиться в Label, то на форму кинуть TLabel, у него AutoSize:=false, Align:=alClient, WordWrap:=true
Для Memo - аналогично - WordWrap:=true
Вообще WordWrap отвечает за перенос текста по словам.
А мона узнать как енто реализовать програмно??:)
А мона узнать как енто реализовать програмно??:)
Вот полезная ссылочка ;)
Если текст будет выводиться в Label, то на форму кинуть TLabel, у него AutoSize:=false, Align:=alClient, WordWrap:=true
Для Memo - аналогично - WordWrap:=true
Вообще WordWrap отвечает за перенос текста по словам.
Спасибо, все работает.
Можно еще вопросик.
TLabel позволяет работать только с одним абзацем, а в Memo строки получаются обрубленные. Как этого избежать?
Спасибо, все работает.
Можно еще вопросик.
TLabel позволяет работать только с одним абзацем, а в Memo строки получаются обрубленные. Как этого избежать?
Чтобы строки небыли обрубленные Memo.WordWrap поставь False;
Но тогда у тебя горизонтальный скролбар появляться будет...
Спасибо, все работает.
Можно еще вопросик.
TLabel позволяет работать только с одним абзацем, а в Memo строки получаются обрубленные. Как этого избежать?
Это происходит потому, что у тебя все строки текста разделены CRLF - перевод строки, и когда он встречается, мемо начинает вывод с новой строки. Надо убрать лишние CRLF (оставить только те, которые разделяют абзацы, заголовкм, etc.) и все будет нормально.
ЗЫ: Кстати насчет label - все нормально, он может работать с несколькими обзацами, просто в design time он не позволяет указать строку, разделенную CRLF, а в runtime - пожалуйста ;)
Это происходит потому, что у тебя все строки текста разделены CRLF - перевод строки, и когда он встречается, мемо начинает вывод с новой строки. Надо убрать лишние CRLF (оставить только те, которые разделяют абзацы, заголовкм, etc.) и все будет нормально.
ЗЫ: Кстати насчет label - все нормально, он может работать с несколькими обзацами, просто в design time он не позволяет указать строку, разделенную CRLF, а в runtime - пожалуйста ;)
Объясните, плиз:
А как их убирать и runtime - это где.
просто в design time он не позволяет указать строку, разделенную CRLF
В последних версиях IDE достаточно нажать на "три точки" в свойстве Caption, чтобы вызвать многострочный редактор.
Объясните, плиз:
А как их убирать и runtime - это где.
Runtime - это время, когда запущена программа. CRLF - проще говоря нажатие enter в конце строки и как его убрать - это тебе решать. Можно просто грубо вырезать символы #13#10 из текста, но тогда не будет разделения на абзацы. Можно заняться этим ручками - но это, видимо, гемор страшный. Ну или найти нормально оформленные текст...
Есть две формы (родительская и дочерняя), при выборе пункта меню должна открываться дочерняя форма, в которую в RichEdit загружается RTF-овский файл.
Так вот. Если дочерняя форма загружается сразу с родительской, то при выборе пункта меню открывается новая форма (пустая), а текст загружается в ту дочернюю форму, которая была загружена в самом начале.
Если же форму убрать из загрузки с родительской формой, то при выборе меню выдается ошибка
Что надо изменить?
Листинг родительской формы:
uses Richforma2;
{$R *.dfm}
procedure TForm1.asd1Click(Sender: TObject);
begin
TForm_rich.Create(Self);
Form_rich.RichEdit1.Lines.LoadFromFile('\vvedenie.rtf');
end;
end.
Спасибо, все заработало.только вот с какой проблемой столкнулся:
Есть две формы (родительская и дочерняя), при выборе пункта меню должна открываться дочерняя форма, в которую в RichEdit загружается RTF-овский файл.
Так вот. Если дочерняя форма загружается сразу с родительской, то при выборе пункта меню открывается новая форма (пустая), а текст загружается в ту дочернюю форму, которая была загружена в самом начале.
Если же форму убрать из загрузки с родительской формой, то при выборе меню выдается ошибка
Что надо изменить?
Листинг родительской формы:
uses Richforma2;
{$R *.dfm}
procedure TForm1.asd1Click(Sender: TObject);
begin
TForm_rich.Create(Self);
Form_rich.RichEdit1.Lines.LoadFromFile('\vvedenie.rtf');
end;
end.
Убираешь форму из автозагрузки, далее:
begin
with TForm_rich.Create(Self) do
RichEdit1.Lines.LoadFromFile('\vvedenie.rtf');
end;
Убираешь форму из автозагрузки, далее:
begin
with TForm_rich.Create(Self) do
RichEdit1.Lines.LoadFromFile('\vvedenie.rtf');
end;
Спасибо, makbeth, Ваши ответы очень помогают