Вниз
Скачать: CL | DM;

вывод текста в PaintBox.canvas   Найти похожие ветки 

 
Leos   (2004-05-23 15:28) [0]

Как реализовать вывод текста в PaintBox.canvas , но не просто, а чтобы его можно было там редактировать. Затем выполнить некоторые другие действия (рисование...), а потом опять вернуться обранно.
Я имею ввиду редактирование текста как в  PhotoShop"e.


 
jack128 ©   (2004-05-23 15:48) [1]

ну ты же где то хранишь те фигуры, линии, которые рисуешь в пайнтбоксе? Вот удаляй информацию о фигуре и Invalidate"ть PaintBox..

Например простейший пример

type
 TLine = record
   StartPoint, FinalPoint: TPoint;
 end;

var
 HasLine: boolean;
 Line: TLine;
 HasLineArhive: TBits;
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
 if HasLine then
 begin
   with (Sender as TPaintBox).Canvas do
   begin
     MoveTo(Line.StartPoint.x, Line.StartPoint.y);
     LineTo(Line.FinalPoint.x, Line.FinalPoint.y);
   end;  
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 HasLine := not HasLine;
 PaintBox1.Invalidate;
end;
В более сложно случае с множеством линий можно хранить их дин массиве и удалять или добовлять линии в этот массив. То же с другими фигурами(не линиями)

Насчет отмены(тебе как я понял мужно Undo/Redo) твоя структура(переменная HasLine в моем примере или массив линий) должна уметь сохранять себя в какой нибудь массив. Тогда при Undo ты будешь брать предыдущий элемент из массива и рисовать его, а при Redo брать следущий..


 
Leos   (2004-05-23 16:02) [2]

Нет это понятно. Может я несовсем точто выразился.
Мне нужен инструмент для вывода текста на картинку, причём с возможностью его прямо там и редактировать, вставлять и буфера обмена форватированный текст. При отключении этого инструмента текст превращается в картинку...


 
jack128 ©   (2004-05-23 16:08) [3]

ну так создавай эдит поверх картинки , когда нужно редактировать текст, а потом укничтожай его..



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
1-1085399943
С Виктор Н
2004-05-24 15:59
2004.06.06
Программа написанная на Delphi не завершается


3-1084423055
vlgrig1961
2004-05-13 08:37
2004.06.06
Не понятно почему из TMemo в function появляются пустые строки


14-1084981103
Piter
2004-05-19 19:38
2004.06.06
Преобразование числа в рубли и копейки


14-1084759068
Думкин
2004-05-17 05:57
2004.06.06
С днем рождения! 17 мая


1-1085131196
Ivolg
2004-05-21 13:19
2004.06.06
Поиск




   Наверх