2017-09-20 19 views
1

入力デバイスで利用可能なチャンネル数に応じて動的にTChartを追加するスクロールボックスを実装しました。チャートはループを描き、チャネルを通る電圧の値を表示するので、ディスプレイは各チャネルに印加される電圧の「リアルタイム」ビューを効果的に出力します。Delphi:リアルタイムでのスクロール

現在のところ、実行中にアプリケーションが応答しなくなるのを防ぐために、私はApplication.ProcessMessages機能を持っていますが、チャネルが表示されている間はスクロールすることができます。バーがクリックされます。

これは可能ですか?

+0

上記の「TChart」がSteemaのTeeChartの場合、これは読んだ価値があるかもしれません:http://www.teechart.net/reference/articles/VCLRealtime.pdf –

+1

主なものはあなたのデザインです。 UIスレッドからCPUバウンドコードを取得する必要があります。 –

答えて

2

はい、可能です。チャートはループに再描画

...自身のループによって駆動さ

再描画確かに正確にApplication.ProcessMessagesを必要とする理由である、システム上の呼吸distresを保証します。 Try not to use it。代わりに、新しいデータが入ったときにInvalidateで自分自身を再描画するようにチャートに依頼し、システムがそれが好都合であるときにいつシステムに決定させるべきです。

+2

'Refresh'は' Repaint'の呼び出しです。これは、ウィンドウコントロールの即時ペイントです(メッセージキューをバイパスする 'WM_PAINT'をもたらす' InvalidateRect'の後の 'UpdateWindow')。質問に。 –

+2

@Sertacええ、思い出してくれてありがとう。私は答えからそれを削除しました。 – NGLN

関連する問題