Рисование в форме delphi без события OnPaint - PullRequest
0 голосов
/ 13 октября 2018

У меня проблема, это мой код:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form1.Canvas.MoveTo(0, 0);
  Form1.Canvas.LineTo(100, 100);
end;    

Этот код работает нормально, в форме есть строка.Но когда я нажимаю кнопку сворачивания и затем показываю форму нормально, линия исчезает.Я хочу рисовать без события OnPaint и OnResize.Пожалуйста, помогите мне

1 Ответ

0 голосов
/ 13 октября 2018

То, что вы пытаетесь сделать, невозможно.У окон нет постоянных полотен.Когда они скрыты, свернуты, перемещены под другие окна и т. Д., Предыдущее содержимое теряется.Вы должны перекрасить их.В этом суть дизайна Windows.

Либо рисуйте форму в ответ на сообщения или события рисования, либо используйте элемент управления, например TImage, для хранения постоянного изображения.

...