![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вывод текста через канвас [D7, XP]
likenoother © (2007-05-08 19:23:00)доброго дня,такой вопрос,есть Tmemo текс из него через канвас пишеться на Timage но есть проблема,одна то что в конце каждой строки ставиться вертикальные черты,возможно ли от них как нибудь избавиться??
{RASkov} (2007-05-09 11:21:00) [1]> [6] homm © (09.05.07 11:06)
Ну да... и правильнее делать так:
Image1.SetBounds(Memo1.Left, Memo1.Top, Memo1.Width, Memo1.Height);
В коде [5] мы четыре раза вызываем данную функцию, что застовляет контрол перерисоваться 4 раза :( Но я пример приводил для наглядности а не по оптимизации...
homm (2007-05-09 11:06:00) [2]> * Image1.Height:=Memo1.Height;
> * Image1.Width:=Memo1.Width;
> * Image1.Left:=Memo1.Left;
> * Image1.Top:=Memo1.Top;
В КОЛ есть свойство Bounds: TRect. Вроде и в VCL было.
{RASkov} (2007-05-08 20:16:00) [3]> [3] likenoother (08.05.07 19:57)
procedure TForm1.Memo1DblClick(Sender: TObject);
begin
* Image1.Height:=Memo1.Height;
* Image1.Width:=Memo1.Width;
* Image1.Left:=Memo1.Left;
* Image1.Top:=Memo1.Top;
Memo1.PaintTo(Image1.Canvas, 0, 0);
Memo1.Hide;
end;
procedure TForm1.Image1DblClick(Sender: TObject);
begin
Memo1.Show;
end;
:))) Извращенец.
Строки со * каждый раз нет необходимости делать :)
{RASkov} (2007-05-08 20:11:00) [4]> [3] likenoother (08.05.07 19:57)
Memo.ReadOnly:=True?
> если в две я думаю надо будет разбивать мемо построчно и
> каждую отдельно выводить на имейдж
Он уже "разбит" :) См. Lines
likenoother (2007-05-08 19:57:00) [5]код такой:
image1.canvas.textout(memo1.left,memo1.top,memo1.text);
просто мемо находиться на том месте где дожлен быть текст и при двойной щелчке появляется мемо в нем редавктируется текст и уже потом выводиться на Image.
это если в одну строку,если в две я думаю надо будет разбивать мемо построчно и каждую отдельно выводить на имейдж,только вот от символов в конце строки бы избавиться.
{RASkov} (2007-05-08 19:46:00) [6]> проблема,одна то что в конце каждой строки ставиться вертикальные черты
Может я и не правильно понял.... сорри. Приведи пример твоего кода.
{RASkov} (2007-05-08 19:44:00) [7]> [0] likenoother (08.05.07 19:23)
Возможно...
Текст выводи построчно с Мемо на Канву Image с увеличением координаты Y на TextHeight(Строки)...
Но может тебя устроит:
begin
Image.Height:=Memo.Height;
Image.Width:=Memo.Width;
Memo.PaintTo(Image.Canvas, 0, 0);
end;