- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ログデータを表示するグラフについて)
ログデータを表示するグラフについて
このQ&Aのポイント
- VC++ MFCダイアログベースで、通信で取得した値をグラフにするソフトを作成しています。しかし、配列の要素数を増やすと処理が重くなり、別のエディットボックスの表示が更新されなくなる不具合が生じています。現在は0か1の値を表示していますが、もっと簡単な方法はないか考えています。アイデアをいただけないでしょうか?
- 作成中のソフトでは、VC++ MFCダイアログベースを使用して通信で取得した値をグラフに表示しています。ただし、配列の要素数を増やすと処理が重くなり、別のエディットボックスの表示が更新されなくなってしまう不具合が発生しています。そこで、値の表示方法をより簡単にしたいと考えています。お知恵をお貸しください。
- VC++ MFCダイアログベースのソフトで、通信で取得した値をグラフに表示しています。しかし、配列の要素数を増やすと処理が重くなり、別のエディットボックスの表示が更新されなくなるという不具合が生じています。そこで、現在の0か1の表示方法をより簡単にしたいと考えています。アイデアをいただけないでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
★折れ線グラフですか。 ・折れ線グラフなら MoveTo()、LineTo() を組み合わせなくても PolylineTo() の1つで実行できます。 配列の構造を PolylineTo() で利用可能な形式に変更して呼び出せば簡単に折れ線を描画してくれます。 つまり、配列を POINT 構造体にセットします。→ループ部分でセットしなおす。その後に実行。 ・下にそのサンプルを載せておきます。 サンプル: POINT Plot[ m_nNumPlot ]; for ( int j = 0 ; j < m_nNumPlot ; j++ ){ Plot[ j ].x = nWidth - PlotSpace * j; Plot[ j ].y = m_pPlotData[ j ]; } pDC->PolylineTo( Plot, m_nNumPlot ); 参考文献: ・http://wisdom.sakura.ne.jp/system/winapi/win32/win23.html→『カレントポジションと線』 ・http://msdn2.microsoft.com/ja-jp/library/534yk5b3(VS.80).aspx→『CDC::PolylineTo (MFC)』 基本的に GDI の操作は処理が低速です。これが処理を重くしているのかな。 ・以上。