TNB Library
クラス | 公開型 | 公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
CLineGraphViewCtrl クラス

折れ線グラフコントロール. [詳解]

#include <TnbMfcLineGraphViewCtrl.h>

+ CLineGraphViewCtrl の継承関係図

公開型

enum  { EDGE_VALUE = 10000 , INTERNALLY_COLOR = RGB(1, 1, 1) }
 定数 [詳解]
 
enum  ELineStyle {
  LineStyle_Non , LineStyle_Solid , LineStyle_Dot , LineStyle_Bold ,
  LineStyle_EdgeDot
}
 ラインスタイル [詳解]
 

公開メンバ関数

void ClearPoint (void)
 [設定] ポイントクリア. [詳解]
 
 CLineGraphViewCtrl (void)
 コンストラクタ. [詳解]
 
DWORD GetExStyle (void) const
 [取得] ウィンドウ拡張スタイル取得. [詳解]
 
INDEX GetHorizontalIndexLimit (void) const
 [取得] 横軸最大インデックス取得. [詳解]
 
int GetHorizontalIndexPixel (void) const
 [取得] インデックスピクセル取得. [詳解]
 
CDC * GetImageDC (void)
 [取得] グラフイメージ DC 取得. [詳解]
 
const SIZE & GetImageSize (void) const
 [取得] グラフイメージサイズ取得. [詳解]
 
HWND GetSafeHwnd (void) const
 [取得] ウィンドウハンドル取得. [詳解]
 
DWORD GetStyle (void) const
 [取得] ウィンドウスタイル取得. [詳解]
 
INDEX GetViewHorizontalPos (void) const
 [取得] 水平表示位置取得. [詳解]
 
size_t GetViewHorizontalPosLimit (void)
 [取得] 水平表示最大位置取得. [詳解]
 
void GetViewValueRange (double &_topValue, double &_bottomValue) const
 [取得] 垂直表示範囲取得. [詳解]
 
bool HasScrollBar (void) const
 [確認] スクロールバーあり?. [詳解]
 
int HorizontalIndexToX (INDEX horizontalIndex)
 [取得] 横軸インデックス to X座標. [詳解]
 
bool IsReverseHorizontalIndexMode (void) const
 [確認] 逆インデックスモード?. [詳解]
 
BOOL ModifyStyle (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 [設定] ウィンドウスタイル変更. [詳解]
 
BOOL ModifyStyleEx (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 [設定] ウィンドウ拡張スタイル変更. [詳解]
 
void ReleaseImageDC (void)
 [設定] グラフイメージ DC 返却. [詳解]
 
bool SetBackgroundWidth (COLORREF backgroundColor, size_t graphWidth=0)
 [設定] グラフ背景幅設定. [詳解]
 
bool SetHorizontalIndexPixel (int pixel=1, bool isReverseIndexMode=false)
 [設定] インデックスピクセル設定. [詳解]
 
bool SetOverlayText (INDEX pos, COLORREF color=RGB(0, 0, 0), LPCTSTR lpsz=NULL, HFONT hFont=NULL)
 [設定] 文字列設定. [詳解]
 
void SetPoint (COLORREF color, double value, INDEX horizontalIndex=0, bool withContinuousLine=true)
 [設定] ポイント設定. [詳解]
 
size_t SetPointMakertSize (size_t width)
 [設定] ポイントマーカーサイズ設定. [詳解]
 
void SetScaleLine (COLORREF color, ELineStyle style=LineStyle_Solid)
 [設定] スケール線設定. [詳解]
 
bool SetScrollBarHeight (int height=0)
 [設定] スクロールバー高さ. [詳解]
 
void SetScrollOneStep (size_t os=1)
 [設定] スクロールバー1ステップ幅. [詳解]
 
bool SetSubScaleLine (INDEX number, ELineStyle style=LineStyle_Non, COLORREF color=0, double step=0.0)
 [設定] サブスケール線設定. [詳解]
 
void Settle (bool isForce=false)
 [設定] 確定. [詳解]
 
void SetVerticalLine (COLORREF color, INDEX horizontalIndex, int length=-1)
 [設定] 縦スケール設定. [詳解]
 
void SetViewHorizontalPos (INDEX pos)
 [設定] 水平表示位置設定. [詳解]
 
bool SetViewValueRange (double topValue, double bottomValue)
 [設定] 垂直表示範囲設定. [詳解]
 
BOOL SetWindowPos (const CWnd *pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
 [設定] ウィンドウサイズポジション設定. [詳解]
 
void Shift (int count=1)
 [移動] シフト. [詳解]
 
BOOL ShowWindow (int nCmdShow)
 [設定] ウィンドウ表示状態. [詳解]
 

限定公開メンバ関数

void OndemandRemakeViewImage (void)
 [通知] 再構築要求通知. [詳解]
 
virtual void OnMadeViewImage (CDC *pDC, const SIZE &sz)
 [通知] 表示用イメージ作成通知. [詳解]
 
virtual void PreSubclassWindow (void)
 [通知] subclassing/unsubclassing functions. [詳解]
 
virtual LRESULT WindowProc (UINT message, WPARAM wParam, LPARAM lParam)
 [通知] for processing Windows messages. [詳解]
 

詳解

折れ線グラフコントロール.

最下限 〜 0(基準) 〜 最上限 の縦軸を持った折れ線グラフを表示するコントロールです。
表示の上限と下限を指定することが出来ます。
この表示の上限下限がコントロールの上部下部にマッピングされて表示されます。
→ SetViewValueRange()

横軸はコントロールのクライアント幅以上も指定可能です。
その場合、横スクロールバーが表示されます。
→ SetBackgroundWidth()

また、スクロールすると親ウィンドウに、 WM_HSCROLL メッセージが飛びます。その際、
WPARAM の下位ワードは SB_THUMBPOSITION 固定、上位ワードは現在の水平表示位置が入っています。 
LPARAM は本コントロールのウィンドウハンドルです(MFC のハンドラの場合、 OnHScroll() の第三引数は
CScrollBar* ですが、 このコントロールのポインタが入ってますので扱いには注意してください)。

横軸インデックス1個を何ピクセルにするか指定することが出来ます。デフォルトは1です。
→ SetHorizontalIndexPixel()

スケール線を表示することが出来ます(メイン線とサブ線)。それぞれ、スタイル、色を指定可能です。
→ SetScaleLine() , SetSubScaleLine()

任意の文字を、グラフ内に表示することが出来ます(8隅の位置)。それぞれフォント、色の指定が可能。
これらの文字は横スクロールには影響されません。
→ SetOverlayText()

線は、色毎に管理され、連続したポイントを線で接続することが可能です。

横軸インデックス0は、通常左ですが、右にすることも可能です(表示が左右反転する)。
→ SetHorizontalIndexPixel()

静的なグラフの他、全体をスクロールさせて連続的に新しい情報を表示していくことも可能です(最新を最右か最左に固定)。
→ Shift()

また、DCを取得し、自由に描画することも可能です。
→ GetImageDC() , ReleaseImageDC()
使い方
リソースエディタでスタティックコントロールを張り、コントロール変数に割り当て後、 そのコントロール変数の型(CStatic)を本クラスに置き換えて使用します。
使用例(固定の値を表示するグラフ)
// *.h
class CFooDlg : public CDialog {
;
// *.cpp
void CFooDlg::OnInitDialog(void) {
;
m_graph.SetHorizontalIndexPixel(5); //横軸インデックス1個の幅は 5ピクセルとする
m_graph.SetBackgroundWidth(RGB(0, 0, 0), 1000); //最新が一番右 背景は黒。幅は 1000ピクセル。横軸インデックスでは 200個となる。
m_graph.SetPointMakertSize(1); //ポイントマーカーの大きさは 1ピクセルとする。
m_graph.SetViewValueRange(5000, -5000); //縦軸値の表示範囲は 5000 〜 -5000 とする
m_graph.SetScaleLine(RGB(255, 255, 255), m_graph.LineStyle_Bold); //主線は白の太線とする。
m_graph.SetSubScaleLine(1, m_graph.LineStyle_Dot, RGB(50, 50, 50), 1000); //副線1は 1000毎にグレーの破線とする。
m_graph.SetSubScaleLine(2, m_graph.LineStyle_EdgeDot, RGB(50, 50, 50), 100); //副線2は 100毎に左右に目印とする。
m_graph.SetOverlayText(7, RGB(255, 255, 255), _T("タイトル")); // 左上に文字表示
;
loop ( i, 200 ) {
int d = this->GetData(i);
if ( (i % 10) == 0 ){
m_graph.SetVerticalLine(RGB(100, 20, 20), i, 20); //中央軸にちっちゃい縦線
}
m_graph.SetPoint(RGB(255, 0, 0), d, i);
}
m_graph.Settle();
}
#define loop(VAR, CNT)
loop構文.
Definition: TnbDef.h:343
CLineGraphViewCtrl(void)
コンストラクタ.
使用例(動的に変化し続けるグラフ)
// *.h
class CFooDlg : public CDialog {
;
// *.cpp
void CFooDlg::OnInitDialog(void) {
;
m_graph.SetHorizontalIndexPixel(5, true); //横軸インデックス1個の幅は 5ピクセルとする 最新が一番右
m_graph.SetBackgroundWidth(RGB(0, 0, 0)); //背景は黒
m_graph.SetPointMakertSize(3); //ポイントマーカーの大きさは 3ピクセルとする。
m_graph.SetViewValueRange(5000, -10); //縦軸値の表示範囲は 5000 〜 -10 とする。
m_graph.SetScaleLine(RGB(255, 255, 255), m_graph.LineStyle_Bold); //主線は白の太線とする。
m_graph.SetSubScaleLine(1, m_graph.LineStyle_Dot, RGB(50, 50, 50), 100); //副線は 100毎にグレーの破線とする。
m_graph.SetOverlayText(7, RGB(255, 255, 255), _T("タイトル")); // 左上に文字表示。
;
// データ受信
void CFooDlg::OnReceivedData(int data) {
// 受信したデータをグラフの右端に追加していく。左に行くにつれ、古いデータになる。
m_graph.Shift(); // まず、グラフを右に一つシフト。
m_graph.SetPoint(RGB(255, 0, 0), data); //一番右にポイントマーカーを打つ
m_graph.SetOverlayText(1, RGB(155, 155, 155), CStr::Fmt(_T("%d"), data); // 左下に文字表示
m_graph.Settle(); // 確定
}
static CStrT Fmt(const TCHAR *lpszFormat,...)
[作成] 書式付き文字列作成
Definition: TnbStr.h:1206
必要ファイル
TnbMfcLineGraphViewCtrl.h
日付
11/05/23 新規作成
11/06/15 画面をプレスして移動する処理を修正。
11/08/02 ClearPoint() 追加。

TnbMfcLineGraphViewCtrl.h135 行目に定義があります。

列挙型メンバ詳解

◆ anonymous enum

anonymous enum

定数

列挙値
EDGE_VALUE 

デフォルトの上下端のポイント値

INTERNALLY_COLOR 

内部処理用カラー

TnbMfcLineGraphViewCtrl.h141 行目に定義があります。

◆ ELineStyle

enum ELineStyle

ラインスタイル

列挙値
LineStyle_Non 

非表示

LineStyle_Solid 

実線

LineStyle_Dot 

破線

LineStyle_Bold 

太線

LineStyle_EdgeDot 

両端のみ

TnbMfcLineGraphViewCtrl.h148 行目に定義があります。

構築子と解体子

◆ CLineGraphViewCtrl()

CLineGraphViewCtrl ( void  )

コンストラクタ.

TnbMfcLineGraphViewCtrl.h158 行目に定義があります。

関数詳解

◆ ClearPoint()

void ClearPoint ( void  )

[設定] ポイントクリア.

SetPoint() で指定したポイントマーカーを全てクリアします。

TnbMfcLineGraphViewCtrl.h524 行目に定義があります。

◆ GetExStyle()

DWORD GetExStyle ( void  ) const
inherited

[取得] ウィンドウ拡張スタイル取得.

本インスタンスが管理しているウィンドウの拡張スタイルを返します。

戻り値
ウィンドウスタイル。 WS_EX_LEFT や WS_EX_TOPMOST などのシンボルが論理和(or)されている。

◆ GetHorizontalIndexLimit()

INDEX GetHorizontalIndexLimit ( void  ) const

[取得] 横軸最大インデックス取得.

SetPoint()SetVerticalLine() に指定できる横軸インデックスの最大を取得できます。

覚え書き
GetViewHorizontalPosLimit() とは値が異なります。
戻り値
最大インデックス.

TnbMfcLineGraphViewCtrl.h515 行目に定義があります。

◆ GetHorizontalIndexPixel()

int GetHorizontalIndexPixel ( void  ) const

[取得] インデックスピクセル取得.

覚え書き
SetHorizontalIndexPixel() 設定した値が返ります。
戻り値
インデックスピクセル

TnbMfcLineGraphViewCtrl.h238 行目に定義があります。

◆ GetImageDC()

CDC * GetImageDC ( void  )

[取得] グラフイメージ DC 取得.

グラフの書かれているイメージの DC を取得できます。 DC のサイズは GetImageSize() で得られます。 描画後は、 ReleaseImageDC() を実行する必要があります。

戻り値
NULL失敗.
NULL以外成功。値は CDC のポインタ.

TnbMfcLineGraphViewCtrl.h428 行目に定義があります。

◆ GetImageSize()

const SIZE & GetImageSize ( void  ) const

[取得] グラフイメージサイズ取得.

グラフの書かれているイメージのサイズを取得できます。

戻り値
サイズ

TnbMfcLineGraphViewCtrl.h455 行目に定義があります。

◆ GetSafeHwnd()

HWND GetSafeHwnd ( void  ) const
inherited

[取得] ウィンドウハンドル取得.

本インスタンスが管理しているウィンドウのハンドルを返します。

戻り値
ウィンドウハンドル

◆ GetStyle()

DWORD GetStyle ( void  ) const
inherited

[取得] ウィンドウスタイル取得.

本インスタンスが管理しているウィンドウのスタイルを返します。

戻り値
ウィンドウスタイル。 WS_CHILD や WS_MINIMIZE などのシンボルが論理和(or)されている。

◆ GetViewHorizontalPos()

INDEX GetViewHorizontalPos ( void  ) const

[取得] 水平表示位置取得.

戻り値
表示位置.

TnbMfcLineGraphViewCtrl.h616 行目に定義があります。

◆ GetViewHorizontalPosLimit()

size_t GetViewHorizontalPosLimit ( void  )

[取得] 水平表示最大位置取得.

SetViewHorizontalPos() に渡せる最大値を取得できます。

戻り値
最大値

TnbMfcLineGraphViewCtrl.h607 行目に定義があります。

◆ GetViewValueRange()

void GetViewValueRange ( double &  _topValue,
double &  _bottomValue 
) const

[取得] 垂直表示範囲取得.

引数
[out]_topValue最上の縦軸値
[out]_bottomValue最下の縦軸値

TnbMfcLineGraphViewCtrl.h261 行目に定義があります。

◆ HasScrollBar()

bool HasScrollBar ( void  ) const

[確認] スクロールバーあり?.

覚え書き
SetBackgroundWidth() のグラフの幅により、スクロールバーが現れます。その確認が出来ます。
戻り値
trueあり
falseなし

TnbMfcLineGraphViewCtrl.h415 行目に定義があります。

◆ HorizontalIndexToX()

int HorizontalIndexToX ( INDEX  horizontalIndex)

[取得] 横軸インデックス to X座標.

横軸インデックスを GetImageDC() で描画するための X 座標に変換します。

引数
horizontalIndex横軸インデックス.
戻り値
X 座標

TnbMfcLineGraphViewCtrl.h466 行目に定義があります。

◆ IsReverseHorizontalIndexMode()

bool IsReverseHorizontalIndexMode ( void  ) const

[確認] 逆インデックスモード?.

正インデックスモードは最左が横軸インデックス0。逆インデックスモードは横軸インデックス0が最右です。

戻り値
true逆インデックスモード
false正インデックスモード

TnbMfcLineGraphViewCtrl.h404 行目に定義があります。

◆ ModifyStyle()

BOOL ModifyStyle ( DWORD  dwRemove,
DWORD  dwAdd,
UINT  nFlags = 0 
)
inherited

[設定] ウィンドウスタイル変更.

引数
dwRemove除去するスタイルを指定する。
dwAdd追加するスタイルを指定する。
nFlagsSetWindowPos() に渡すフラグ。0なら SetWindowPos() を呼びません。
戻り値
TRUE成功.
FALSE失敗.

◆ ModifyStyleEx()

BOOL ModifyStyleEx ( DWORD  dwRemove,
DWORD  dwAdd,
UINT  nFlags = 0 
)
inherited

[設定] ウィンドウ拡張スタイル変更.

引数
dwRemove除去する拡張スタイルを指定する。
dwAdd追加する拡張スタイルを指定する。
nFlagsSetWindowPos() に渡すフラグ。0なら SetWindowPos() を呼びません。
戻り値
TRUE成功.
FALSE失敗.

◆ OndemandRemakeViewImage()

void OndemandRemakeViewImage ( void  )
protected

[通知] 再構築要求通知.

TnbMfcLineGraphViewCtrl.h652 行目に定義があります。

◆ OnMadeViewImage()

virtual void OnMadeViewImage ( CDC *  pDC,
const SIZE &  sz 
)
protectedvirtual

[通知] 表示用イメージ作成通知.

表示用のイメージを作成後に通知されます。 渡された pDC に描画することも可能です。

引数
pDCデバイスコンテキスト
szデバイスコンテキストの大きさ

TnbMfcLineGraphViewCtrl.h664 行目に定義があります。

◆ PreSubclassWindow()

virtual void PreSubclassWindow ( void  )
protectedvirtual

[通知] subclassing/unsubclassing functions.

サブクラス化する時コールされます。

覚え書き
CWndのメソッドをオーバーライドしています。

TnbMfcLineGraphViewCtrl.h673 行目に定義があります。

◆ ReleaseImageDC()

void ReleaseImageDC ( void  )

[設定] グラフイメージ DC 返却.

GetImageDC() で取得した DC を返却します。

TnbMfcLineGraphViewCtrl.h442 行目に定義があります。

◆ SetBackgroundWidth()

bool SetBackgroundWidth ( COLORREF  backgroundColor,
size_t  graphWidth = 0 
)

[設定] グラフ背景幅設定.

覚え書き
SetPoint() でポイントを描画後、でこのメソッドをコールすると、ポイントがクリアされます。
引数
backgroundColor背景色
graphWidthグラフのピクセル幅を指定します。クライアント幅より大きい場合、スクロールバーが表示されます。 省略するか0を指定すると、クライアント幅と同じになります。
戻り値
true成功。
false失敗。

TnbMfcLineGraphViewCtrl.h175 行目に定義があります。

◆ SetHorizontalIndexPixel()

bool SetHorizontalIndexPixel ( int  pixel = 1,
bool  isReverseIndexMode = false 
)

[設定] インデックスピクセル設定.

横軸インデックス1が何ピクセルかを指定できます。通常1ですが、例えば、ポイントマーカーを 3 ピクセル幅にしたら、 横軸も 3 ピクセル以上あけないとマーカーがかぶってしまいます。 そこでこのガイド設定をすることで、横軸インデックス指定時に意識することなく+1するだけでいいようになります。 SetPoint(), SetVerticalLine() , Shift() , SetViewHorizontalPos() に影響があります。

m_graph.SetPointMakertSize(3); //ポイントマーカーの大きさは 3ピクセルとする。
m_graph.SetHorizontalIndexPixel(5); //横軸インデックス1個の幅は 5ピクセルとする
;
m_graph.SetPoint(color, 100, 0); //この二点は横軸インデックスが1しか違わないが、
m_graph.SetPoint(color, 100, 1); // 間は 5 ピクセルになる。
覚え書き
SetPoint() でポイントを描画後、でこのメソッドをコールすると、ポイントがクリアされます。
引数
pixel横軸インデックス1が何ピクセルかを指定できます。
isReverseIndexMode省略か false なら横軸インデックス0が一番左、 true なら一番右になります。
戻り値
true成功。
false失敗。

TnbMfcLineGraphViewCtrl.h217 行目に定義があります。

◆ SetOverlayText()

bool SetOverlayText ( INDEX  pos,
COLORREF  color = RGB(0, 0, 0),
LPCTSTR  lpsz = NULL,
HFONT  hFont = NULL 
)

[設定] 文字列設定.

グラフの上に表示される文字を設定します。一度設定したら、取り消すまで表示されます。

引数
pos位置を示す 1 〜 9(テンキーの並び)。
color文字の色。省略すると、表示取り消しになります。
lpsz文字。
hFontフォント。本クラスで使用が終わるまで、破棄しないでください。 省略すると、コントロールに設定されているフォントが使用される。
戻り値
true成功。
false失敗。

TnbMfcLineGraphViewCtrl.h385 行目に定義があります。

◆ SetPoint()

void SetPoint ( COLORREF  color,
double  value,
INDEX  horizontalIndex = 0,
bool  withContinuousLine = true 
)

[設定] ポイント設定.

指定の横軸インデックス、縦軸値の位置に指定の色でポイントマーカーが描かれます。また、一つ前のポイントと連続線が引かれます。

覚え書き
色がキーとなり、連続線が引かれます。
色に INTERNALLY_COLOR は指定しないでください。
引数
color色。
value縦軸値。
horizontalIndex横軸インデックス。正インデックスモードなら 0 が一番左です。
withContinuousLinetrue なら連続線を引きます。 false なら引きません。

TnbMfcLineGraphViewCtrl.h544 行目に定義があります。

◆ SetPointMakertSize()

size_t SetPointMakertSize ( size_t  width)

[設定] ポイントマーカーサイズ設定.

覚え書き
SetPoint() の直前に変えても対応できます。
引数
width
戻り値
設定前の値

TnbMfcLineGraphViewCtrl.h249 行目に定義があります。

◆ SetScaleLine()

void SetScaleLine ( COLORREF  color,
ELineStyle  style = LineStyle_Solid 
)

[設定] スケール線設定.

縦軸値0の位置に表示される線の設定をします。

引数
color
styleスタイル

TnbMfcLineGraphViewCtrl.h344 行目に定義があります。

◆ SetScrollBarHeight()

bool SetScrollBarHeight ( int  height = 0)

[設定] スクロールバー高さ.

覚え書き
SetPoint() でポイントを描画後、でこのメソッドをコールすると、ポイントがクリアされます。
引数
height高さ(単位ピクセル)。0ならシステムの高さになります。マイナスなら、スクロールバーを出さないようにします。
戻り値
true成功。
false失敗。

TnbMfcLineGraphViewCtrl.h311 行目に定義があります。

◆ SetScrollOneStep()

void SetScrollOneStep ( size_t  os = 1)

[設定] スクロールバー1ステップ幅.

デフォルトでは 1 です。

引数
os

TnbMfcLineGraphViewCtrl.h333 行目に定義があります。

◆ SetSubScaleLine()

bool SetSubScaleLine ( INDEX  number,
ELineStyle  style = LineStyle_Non,
COLORREF  color = 0,
double  step = 0.0 
)

[設定] サブスケール線設定.

指定のステップごとに表示される線の設定をします。最大3つ指定できます。

引数
numberサブスケール番号 1〜3 を指定できます。
styleスタイル
color
stepステップ。 表示の縦軸値が -10000 〜 10000 の場合、1000 を指定するとスケール線の上下にそれぞれ、10本引かれます。
戻り値
true成功。
false失敗。

TnbMfcLineGraphViewCtrl.h359 行目に定義があります。

◆ Settle()

void Settle ( bool  isForce = false)

[設定] 確定.

設定情報を確定し、画面に反映させます。

覚え書き
SetPoint() , SetVerticalLine()SetOverlayText() など実行後、これをコールしないと、画面に反映されません。
引数
isForcetrue を指定すると、すぐに描画用イメージを作成します。通常、 省略か false を指定します(必要な時に作成する)。

TnbMfcLineGraphViewCtrl.h589 行目に定義があります。

◆ SetVerticalLine()

void SetVerticalLine ( COLORREF  color,
INDEX  horizontalIndex,
int  length = -1 
)

[設定] 縦スケール設定.

指定の index に指定の色で縦線のスケールを書きます。

覚え書き
色に INTERNALLY_COLOR は指定しないでください。
引数
color色。
horizontalIndex横軸インデックス。正インデックスモードなら 0 が一番左です。
length中心線からの上下それぞれの長さ(pixel)。-1 なら上から下まで書かれます。

TnbMfcLineGraphViewCtrl.h561 行目に定義があります。

◆ SetViewHorizontalPos()

void SetViewHorizontalPos ( INDEX  pos)

[設定] 水平表示位置設定.

覚え書き
左端に表示したい横軸インデックスを指定します(逆インデックスモードなら右端)。
引数
pos表示位置。

TnbMfcLineGraphViewCtrl.h626 行目に定義があります。

◆ SetViewValueRange()

bool SetViewValueRange ( double  topValue,
double  bottomValue 
)

[設定] 垂直表示範囲設定.

表示範囲を指定します。指定が無い場合、最上が 10000、最下が -10000 になります。

覚え書き
SetPoint() でポイントを描画後、でこのメソッドをコールすると、ポイントがクリアされます。
縦軸の上限下限は「int で表すことの出来る値 / クライアントの高さ(pixel)」になります。
引数
topValue最上の縦軸値
bottomValue最下の縦軸値
戻り値
true成功。
false失敗。

TnbMfcLineGraphViewCtrl.h277 行目に定義があります。

◆ SetWindowPos()

BOOL SetWindowPos ( const CWnd pWndInsertAfter,
int  x,
int  y,
int  cx,
int  cy,
UINT  nFlags 
)
inherited

[設定] ウィンドウサイズポジション設定.

子ウィンドウ、ポップアップ ウィンドウ、およびトップレベル ウィンドウのサイズ、位置、および Z オーダーを変更します。

引数
pWndInsertAfterZ オーダーでこの CWnd オブジェクトより前に配置される CWnd オブジェクトを識別します。このパラメータへは、 CWnd へのポインタか 次の値のいずれか 1 つを指定できます。
  • wndBottom ウィンドウを Z オーダーの一番下に置きます。この CWnd が最上位のウィンドウの場合、ウィンドウの最上位ステータスは失われます。 システムでは、このウィンドウをほかのすべてのウィンドウよりも下に置きます。
  • wndTop ウィンドウを Z オーダーの先頭に置きます。
  • wndTopMost ウィンドウを最上位でないすべてのウィンドウの上に置きます。 ウィンドウは、非アクティブになったときも、最上位の位置を保持します。
  • wndNoTopMost ウィンドウを最上位でないすべてのウィンドウの先頭に再配置します (つまり、一番手前のすべてのウィンドウの後ろに置きます)。 ウィンドウが既に非最上位ウィンドウとなっているときは、このフラグは無効です。
xウィンドウの新しい左辺の位置を指定します。
yウィンドウの新しい上辺の位置を指定します。
cxウィンドウの新しい幅を指定します。
cyウィンドウの新しい高さを指定します。
nFlagsサイズ変更オプションおよび位置指定オプションを指定します。このパラメータには、次の値を組み合わせて指定できます。
  • SWP_DRAWFRAME ウィンドウの周りにフレーム (ウィンドウ作成時に定義されます) を描画します。
  • SWP_FRAMECHANGED ウィンドウのサイズが変化されていない場合でも、ウィンドウに WM_NCCALCSIZE メッセージを送信します。このフラグが指定されていない場合、WM_NCCALCSIZE メッセージはウィンドウのサイズが実際に変化しているときにだけ送られます。
  • SWP_HIDEWINDOW ウィンドウを非表示にします。
  • SWP_NOACTIVATE ウィンドウをアクティブにしません。このフラグが設定されていないと、ウィンドウはアクティブになり、最上位または非最上位のウィンドウ グループのいずれかの先頭に移動されます (パラメータ pWndInsertAfter の設定に依存します)。
  • SWP_NOCOPYBITS クライアント領域の内容全体を破棄します。このフラグが指定されていない場合、クライアント領域の有効な内容はすべて保存されます。保存された内容は、ウィンドウのサイズや位置が再び変更されたときにクライアント領域に復元されます。
  • SWP_NOMOVE 現在位置を保持します (x パラメータと y パラメータを無視します)。
  • SWP_NOOWNERZORDER オーナー ウィンドウの Z オーダーの位置を変更しません。
  • SWP_NOREDRAW 変更があっても再描画しません。このフラグが設定されていると、どのような種類の再描画も行われません。このことは、クライアント領域、非クライアント領域 (タイトルやスクロール バーを含みます)、ウィンドウが移動したことにより覆われない親ウィンドウのあらゆる部分に適用されます。このフラグが設定されているときは、アプリケーションは再描画が必要なウィンドウや親ウィンドウのあらゆる部分を明示的に無効領域または再描画する必要があります。
  • SWP_NOREPOSITION SWP_NOOWNERZORDER と同じです。
  • SWP_NOSENDCHANGING ウィンドウが WM_WINDOWPOSCHANGING メッセージを受信しないようにします。
  • SWP_NOSIZE 現在のサイズを保持します (cx パラメータと cy パラメータを無視します)。
  • SWP_NOZORDER 現在の順序を保持します (pWndInsertAfter を無視します)。
  • SWP_SHOWWINDOW ウィンドウを表示します。
戻り値
TRUE成功.
FALSE失敗.

◆ Shift()

void Shift ( int  count = 1)

[移動] シフト.

指定数だけ、グラフをシフトします。

覚え書き
グラフ全体をシフトします。 (正インデックスモードなら、右にシフトします)
引数
countシフト数。省略すると1です。

TnbMfcLineGraphViewCtrl.h483 行目に定義があります。

◆ ShowWindow()

BOOL ShowWindow ( int  nCmdShow)
inherited

[設定] ウィンドウ表示状態.

引数
nCmdShowCWnd を表示する方法を指定します。次の値のいずれかになります。
  • SW_HIDE このウィンドウを非表示にし、他のウィンドウをアクティブにします。
  • SW_MINIMIZE ウィンドウを最小化し、システムのリストのトップレベル ウィンドウをアクティブにします。
  • SW_RESTORE ウィンドウをアクティブにし、表示します。ウィンドウが最小化または最大化されている場合は、Windows によって元のサイズと位置に戻されます。
  • SW_SHOW ウィンドウをアクティブにし、現在のサイズと位置で表示します。
  • SW_SHOWMAXIMIZED ウィンドウをアクティブにし、最大表示します。
  • SW_SHOWMINIMIZED ウィンドウをアクティブにし、最小化して表示します。
  • SW_SHOWMINNOACTIVE ウィンドウを最小化して表示します。現在アクティブなウィンドウはアクティブなまま表示します。
  • SW_SHOWNA 現在の状態でウィンドウを表示します。現在アクティブなウィンドウはアクティブなまま表示します。
  • SW_SHOWNOACTIVATE ウィンドウを直前のサイズと位置で表示します。現在アクティブなウィンドウはアクティブなまま表示します。
  • SW_SHOWNORMAL ウィンドウをアクティブにし、表示します。ウィンドウが最小化または最大化されている場合は、Windows によって元のサイズと位置に戻されます。
戻り値
TRUE成功.
FALSE失敗.

◆ WindowProc()

virtual LRESULT WindowProc ( UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)
protectedvirtual

[通知] for processing Windows messages.

メッセージ受信したらコールされます。

覚え書き
CWndのメソッドをオーバーライドしています。
引数
messageメッセージ
wParamWPARAM
lParamLPARAM
戻り値
リザルト。

TnbMfcLineGraphViewCtrl.h695 行目に定義があります。