我有一个问题,这是我的代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Canvas.MoveTo(0, 0);
Form1.Canvas.LineTo(100, 100);
end;
此代码工作正常,表格上有一行。但是,当我单击最小化按钮然后显示正常表单时,该行消失了。我想要不使用OnPaint和OnResize事件进行绘制。请帮助我
答案 0 :(得分:9)
您无法执行的操作。 Windows没有持久性画布。当它们被隐藏,最小化,在其他窗口下移动等时,先前的内容将丢失。您必须重新粉刷它们。这就是Windows设计方式的本质。
要么绘制表单以响应绘制消息或事件,要么使用navigateForms() {
this.navigateService.navigate('forms');
}
之类的控件来保存持久图像。