電子書籍の厳選無料作品が豊富!

随時データを取得して、それを折れ線グラフで描画したいと思っています。
また一定期間をスクロールさせて表示できるようにしたいのですが、ピクチャボックスとスクロールバーを使用すれば出来るでしょうか?
アドバイスまたはサンプルのプログラム等がありましたら教えて下さい。

A 回答 (6件)

描画に関しては解決しそうですね。


私もピクチャボックスをずらしてスクロールさせる方法がよいと思います。
以前にスロットマシンのような画像回転サンプルを載せましたが、同様な方法を使用しています。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=167464

これはタイマーで回転させてますが、移動量をスクロールバーから取得したら応用できると思います。
あと画面のちらつきは、フォームとピクチャボックスのAutoRedrawプロパティで、少しは防げるけど、完全には防ぎきれないかも?

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=167464
    • good
    • 0

PaintPictureコマンドはどうでしょうか?



p.PaintPicture p.Image,ずらす分XY,p.Width,p.height

…のように
    • good
    • 1

私ならこうするという例をだします。

(実際にこれでデモを作った)

ピクチャボックスの中にピクチャボックスを貼り付けます。(前者をpicWIN、後者をpicGRAPHとする)
実行時にpicGRAPHのサイズをグラフ描画に必要なサイズにします。
例えば、Height=200、Width=20000ぐらいとか。

そしてグラフをpicGRAPHに描画していき、picWINの表示範囲から外れそうになったら
picGRAPHのLeftを調節します。

描画後、このpicGRAPH.Leftの値をスクロールバーで操作すれば長いグラフも見ることが出来ます。
    • good
    • 1

スクロールバーを使ったとしても


自動で過去のデータをスクロールしてくれるわけではありません。
スクロールバーが行ってくれるのは
右を押したか、左を押したか、或いはどれぐらいの量を
ドラッグしたのかを教えてくれるだけで視覚的な事は自分でやらなければ
なりません。

つまりスクロールさせる為には過去のデータを配列なりに
格納しておく必要があります。

1分ぐらいのというと大体
600(60秒)+300(現在表示分)=900のdouble型?の配列をとります。
この場合1分30秒を超えると配列オーパーがおきるので
900を超えた時点で配列は0からデータを上書きしていきます。

どこをピクチャーボックスで表示するかはスクロールバーを使い
判断するわけですが、
例えば2分後に20秒前(1分40秒後)の画面にスクロールすると、配列の700~899と0~99をつなぎ合わせた物を
ピクチャーボックスに表示させればいいわけです。

#あくまで私だったらこう作るという一例です。
    • good
    • 1

リアルタイムにスムースにスクロールさせて


いきたいのでしょうか?
だとするとスクロールバーは関係ありません。(使うのは自由ですが)
ピクチャーボックスでも可能ですが
リアルタイムに何度も描写しなおすと
画面にちらつきがおきます。

随時データ取得とありますがだいたいの時間間隔は
どれぐらいなのでしょうか?
    • good
    • 0

リアルタイムにスムースにスクロールさせて


いきたいのでしょうか?
だとするとスクロールバーは関係ありません。(使うのは自由ですが)
ピクチャーボックスでも可能ですが
リアルタイムに何度も描写しなおすと
画面にちらつきがおきます。

随時データ取得とありますがだいたいの時間間隔は
どれぐらいなのでしょうか?

この回答への補足

返信ありがとうございました。

データの取得間隔は1秒毎に10データ(0.1秒)を表示させたいと思っています。
ピクチャーボックスを使って作成してみたのですが、最初に採ったデータが数秒で画面から消えてしまうので、1分位のデータをスクロールさせて見れたらいいなと思っています。

補足日時:2002/09/21 17:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!