掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
動的に値の上限が変わるスクロールバーの制御をするには? (ID:54921)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
横軸を時間軸としたグラフにスクロールバーを取り付けようとしています。 グラフは、タスクマネージャの「CPU使用率」グラフのように、時間とともに右に流れて行き、画面からはみだします。 このグラフの過去の履歴を、スクロールで見ることができるようにしようとしています。 スクロールバーを取り付け、グラフが停止状態の時はスクロールで、過去の履歴を見ることができるようになったのですが、グラフが動いている時、つまり、タイマーイベントで定期的にスクロールバーのScrollRangeのMax値が増えている時、スクロールバーをドラッグ移動すると、Max値が増えるタイミングで、ドラッグしているはずのバーが動いてしまいます。 このバーを動かさない為には、どのようにするのが良いでしょうか。 スクロールバーの詳しい仕様等、何か参考になるものがあれば、教えてください。 □試したけどダメだったやり方 maxを増やす処理を以下のようにしてみましたところ、バーが動く幅は減りましたが、微妙に動いてしまいます。また、バーを一番左までスクロールさせた時の挙動がヘンでした。 pSBar->GetScrollRange(&lastMin, &lastMax); lastPos = pSBar->GetScrollPos(); pSBar->SetScrollRange(newMin, newMax); pSBar->SetScrollPos(newMin + ((newMax - newMin) * (lastPos - lastMin) / (lastMax - lastMin))); □環境 Windows XP SP1 VC .Net
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.