Delphi:滚动同时 运行 实时

Delphi: scrolling whilst running real time

我实现了一个滚动框,它根据输入设备上可用的通道数动态添加 TCharts。图表在循环上重新绘制以显示通过通道的电压值,以便显示器有效地输出 "real-time" 施加到每个通道的电压视图。

目前我有一个 Application.ProcessMessages 功能来防止应用程序在 运行 期间变得无响应,但我希望能够在显示频道时滚动框,而不会打扰当前在单击滚动条时暂停的显示。

这可能吗?

是的,这是可能的。

The charts repaint on a loop ...

由自己的循环驱动的重绘确实确保了系统的呼吸困难,这正是需要 Application.ProcessMessages 的原因。 Try not to use it。相反,您应该只要求图表在新数据进入时用 Invalidate 重新绘制自己,并让系统决定何时方便这样做。