Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];
Внизвывод текста через канвас Найти похожие ветки
← →
likenoother (2007-05-08 19:23) [0]доброго дня,такой вопрос,есть Tmemo текс из него через канвас пишеться на Timage но есть проблема,одна то что в конце каждой строки ставиться вертикальные черты,возможно ли от них как нибудь избавиться??
← →
{RASkov} © (2007-05-08 19:44) [1]> [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;
← →
{RASkov} © (2007-05-08 19:46) [2]> проблема,одна то что в конце каждой строки ставиться вертикальные черты
Может я и не правильно понял.... сорри. Приведи пример твоего кода.
← →
likenoother (2007-05-08 19:57) [3]код такой:
image1.canvas.textout(memo1.left,memo1.top,memo1.text);
просто мемо находиться на том месте где дожлен быть текст и при двойной щелчке появляется мемо в нем редавктируется текст и уже потом выводиться на Image.
это если в одну строку,если в две я думаю надо будет разбивать мемо построчно и каждую отдельно выводить на имейдж,только вот от символов в конце строки бы избавиться.
← →
{RASkov} © (2007-05-08 20:11) [4]> [3] likenoother (08.05.07 19:57)
Memo.ReadOnly:=True?
> если в две я думаю надо будет разбивать мемо построчно и
> каждую отдельно выводить на имейдж
Он уже "разбит" :) См. Lines
← →
{RASkov} © (2007-05-08 20:16) [5]> [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;
:))) Извращенец.
Строки со * каждый раз нет необходимости делать :)
← →
homm © (2007-05-09 11:06) [6]> * Image1.Height:=Memo1.Height;
> * Image1.Width:=Memo1.Width;
> * Image1.Left:=Memo1.Left;
> * Image1.Top:=Memo1.Top;
В КОЛ есть свойство Bounds: TRect. Вроде и в VCL было.
← →
{RASkov} © (2007-05-09 11:21) [7]> [6] homm © (09.05.07 11:06)
Ну да... и правильнее делать так:
Image1.SetBounds(Memo1.Left, Memo1.Top, Memo1.Width, Memo1.Height);
В коде [5] мы четыре раза вызываем данную функцию, что застовляет контрол перерисоваться 4 раза :( Но я пример приводил для наглядности а не по оптимизации...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c