gpt4 book ai didi

delphi - 强制 Delphi 窗体在其不可见时绘制

转载 作者:行者123 更新时间:2023-12-03 18:31:17 25 4
gpt4 key购买 nike

我有一个表单,我可以抓取一个位图发送到一个小型嵌入式 TFT 显示器。然后,我将显示器中的触摸事件注入(inject)到表单中以激活控件。除非表格不可见,否则这一切都非常有效。如果它从可见桌面上移开、最小化或关闭,它将不会获得绘制事件并且永远不会更新。

有没有办法强制 Canvas 重新绘制自己可见或不可见?所有显而易见的事情,如所谓的重绘都不起作用。

最佳答案

是的,您可以在表单上使用 PaintTo 方法:

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;

在我的小例子中,我创建了一个包含两种形式的项目 Form1Form2。在 Form2 上,我放置了一个标签和计时器。

这是 Form2

的代码
procedure TForm2.Timer1Timer(Sender: TObject);
begin
Label1.Caption := FloatToStr(now);
end;

而且我工作得很好。

关于delphi - 强制 Delphi 窗体在其不可见时绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29661839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com