在Delphi窗体不可见时强制其绘制
我有一个表格,我刮一个位图发送到一个小的嵌入式TFT显示器。然后,我将触摸事件从显示器注入表单以激活控件。这一切都非常有效,除非表单不可见。如果将其移出可见桌面、最小化或关闭,则不会获得绘制事件,也不会更新 有没有办法强制画布重新绘制自身可见或不可见?在Delphi窗体不可见时强制其绘制,delphi,canvas,vcl,Delphi,Canvas,Vcl,我有一个表格,我刮一个位图发送到一个小的嵌入式TFT显示器。然后,我将触摸事件从显示器注入表单以激活控件。这一切都非常有效,除非表单不可见。如果将其移出可见桌面、最小化或关闭,则不会获得绘制事件,也不会更新 有没有办法强制画布重新绘制自身可见或不可见? 所有明显的事情,如重新绘制,都不起作用。是的,您可以在表单上使用painto方法: procedure TForm1.Button1Click(Sender: TObject); var Bitmap: TBitmap; begin Bi
所有明显的事情,如重新绘制,都不起作用。是的,您可以在表单上使用
painto
方法:
procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
Bitmap.Width := Form2.Width;
Bitmap.Height := Form2.Height;
Form2.PaintTo(Bitmap.Canvas, 0, 0);
Image1.Picture.Assign(Bitmap);
Bitmap.Free;
end;
我举了一个小例子,我做了一个项目,有两个表单Form1
和Form2
。在表格2上,我放置了一个标签和计时器
这是Form2
procedure TForm2.Timer1Timer(Sender: TObject);
begin
Label1.Caption := FloatToStr(now);
end;
而且我做得很好 我总是忘记画画的方法。谢谢