![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Как сделать что бы восстанавливало изображение после полного или частичного перекрытия формы.
У меня рисуется круг, но как перекрою окно изображения пропадает... Задание: Цитата:
Цитата:
|
|
#2
|
|||
|
|||
|
Вероятно, надо перекрыть метод Paint.
И рисовать там. |
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
|||
|
|||
|
Цитата:
--- Извините. Я ввел Вас в заблуждение. Метод Paint надо перекрывать, если создается наследник от компонента. А если используется данный компонент на форме, то надо использовать обработчик OnPaint. Есть пример в Help`е : Код:
with PaintBox1.Canvas do
begin
Canvas.Pen.Color := clWhite;
Canvas.Polyline([Point(40, 10), Point(20, 60), Point(70, 30),
Point(10, 30), Point(60, 60), Point(40, 10)]);
end; |
|
#5
|
|||
|
|||
|
Sorry-2.
Код:
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
with PaintBox1.Canvas do
begin
Pen.Color := clWhite;
Polyline([Point(40, 10), Point(20, 60), Point(70, 30),
Point(10, 30), Point(60, 60), Point(40, 10)]);
end;
end; |
|
#6
|
||||
|
||||
|
Поскольку вы рисуете прямо на форме, то для корректной отрисовки формы все операции по рисованию на ней должны проводиться в событии OnPaint. (Roamer - верно сказал.)
Альтернативой является использование компонента на котором можно рисовать без этих проблем - например TImage или TPaintBox. |