TNB Library
公開型 | 公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
CSevenSegCtrlT< DIGIT > クラステンプレート

7SEG 風値表示コントロールクラス. [詳解]

#include <TnbMfcSevenSegCtrl.h>

+ CSevenSegCtrlT< DIGIT > の継承関係図

公開型

enum  EMagicColorCode {
  MCC0 = RGB(128, 0, 0) , MCC1 = RGB(255, 0, 0) , MCC2 = RGB(0, 0, 128) , MCC3 = RGB(0, 0, 255) ,
  MCC4 = RGB(0, 128, 0) , MCC5 = RGB(0, 255, 0) , MCC6 = RGB(0, 128, 128) , MCC7 = RGB(0, 255, 255)
}
 マジックカラーコード. [詳解]
 

公開メンバ関数

 CSevenSegCtrlT (void)
 コンストラクタ [詳解]
 
DWORD GetExStyle (void) const
 [取得] ウィンドウ拡張スタイル取得. [詳解]
 
HWND GetSafeHwnd (void) const
 [取得] ウィンドウハンドル取得. [詳解]
 
DWORD GetStyle (void) const
 [取得] ウィンドウスタイル取得. [詳解]
 
BOOL ModifyStyle (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 [設定] ウィンドウスタイル変更. [詳解]
 
BOOL ModifyStyleEx (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 [設定] ウィンドウ拡張スタイル変更. [詳解]
 
void SetBitset (INDEX idx, BYTE b)
 [設定] 7seg設定. [詳解]
 
bool SetClientRgn (HRGN rgn)
 [設定] ウィンドウリージョン設定. [詳解]
 
bool SetClientRgnEx (COLORREF color=CLR_AUTOSELECT)
 [設定] クライアントリージョン設定. [詳解]
 
void SetDrawingBitmap (CBitmapHandle bmp, bool isAdjust=true, bool isRedraw=false)
 [設定] 描画情報設定. [詳解]
 
void SetDrawingObject (const IDrawable &draw, bool isClientSizeAdjust=true, bool isRedraw=false)
 [設定] 描画情報設定. [詳解]
 
void SetImage (CBitmapHandle b, COLORREF onColor=RGB(254, 0, 0), COLORREF offColor=RGB(60, 0, 0))
 [設定] イメージ指定. [詳解]
 
void SetValue (INDEX idx, int value, bool hasDot=false)
 [設定] 値設定. [詳解]
 
void SetValues (DWORD value, bool hasDot=false, bool isZeroPadding=false)
 [設定] 値設定. [詳解]
 
BOOL SetWindowPos (const CWnd *pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
 [設定] ウィンドウサイズポジション設定. [詳解]
 
BOOL ShowWindow (int nCmdShow)
 [設定] ウィンドウ表示状態. [詳解]
 

限定公開メンバ関数

void DeleteClientRgnHandle (void)
 [削除] クライアントリージョン破棄 [詳解]
 
virtual void PreSubclassWindow (void)
 [通知] subclassing/unsubclassing functions. [詳解]
 
virtual LRESULT WindowProc (UINT message, WPARAM wParam, LPARAM lParam)
 [通知] for processing Windows messages. [詳解]
 

限定公開変数類

HRGN m_clientRgn
 クライアントリージョン [詳解]
 

詳解

template<int DIGIT = 1>
class TNB::MFC::CSevenSegCtrlT< DIGIT >

7SEG 風値表示コントロールクラス.

7SEGの表示で0〜9の値を表すことが出来ます。桁数は DIGIT で指定します。
使い方
マジックカラーコードでボタンを現したビットマップを一枚用意します。 リソースエディタでスタティックコントロールを張り、コントロール変数に割り当て後、 そのコントロール変数の型(CStatic)を本クラスに置き換えて使用します。 最初に SetImage() してください。

マジックカラーコードは 7SEG に以下のように対応します。

000
2 1
333
5 4
666 7
引数
DIGIT桁数
必要ファイル
TnbMfcSevenSegCtrl.h
日付
16/07/26 新規作成
16/08/09 パラメータ DIGIT を新規追加。2桁以上にも対応するようにした。

TnbMfcSevenSegCtrl.h50 行目に定義があります。

列挙型メンバ詳解

◆ EMagicColorCode

マジックカラーコード.

列挙値
MCC0 

暗い赤

MCC1 

MCC2 

暗い青

MCC3 

MCC4 

暗い緑

MCC5 

MCC6 

暗い水色

MCC7 

水色

TnbMfcSevenSegCtrl.h58 行目に定義があります。

構築子と解体子

◆ CSevenSegCtrlT()

CSevenSegCtrlT ( void  )

コンストラクタ

TnbMfcSevenSegCtrl.h71 行目に定義があります。

関数詳解

◆ DeleteClientRgnHandle()

void DeleteClientRgnHandle ( void  )
protectedinherited

[削除] クライアントリージョン破棄

TnbMfcRgnControl.h44 行目に定義があります。

◆ GetExStyle()

DWORD GetExStyle ( void  ) const
inherited

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

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

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

◆ GetSafeHwnd()

HWND GetSafeHwnd ( void  ) const
inherited

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

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

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

◆ GetStyle()

DWORD GetStyle ( void  ) const
inherited

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

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

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

◆ 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失敗.

◆ PreSubclassWindow()

virtual void PreSubclassWindow ( void  )
protectedvirtual

[通知] subclassing/unsubclassing functions.

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

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

CDrawingStaticを再実装しています。

TnbMfcSevenSegCtrl.h169 行目に定義があります。

◆ SetBitset()

void SetBitset ( INDEX  idx,
BYTE  b 
)

[設定] 7seg設定.

各桁ごとに各パーツを自由にON/OFF出来ます。

000
2 1
333
5 4
666 7

例えば _BIT(4) | _BIT(5) | _BIT(6) を指定すると小文字の u になります。

引数
idx桁。
b値。

TnbMfcSevenSegCtrl.h154 行目に定義があります。

◆ SetClientRgn()

bool SetClientRgn ( HRGN  rgn)
inherited

[設定] ウィンドウリージョン設定.

引数
rgnリージョン。
戻り値
true成功。指定した rgn は本オブジェクトが管理するので、破棄しないでください(不必要になったら破棄します)。
false失敗。指定した rgn は有効なので、 DeleteObject する必要があります。

TnbMfcRgnControl.h117 行目に定義があります。

◆ SetClientRgnEx()

bool SetClientRgnEx ( COLORREF  color = CLR_AUTOSELECT)
inherited

[設定] クライアントリージョン設定.

引数
colorコントロール外にする色。省略すると、左下の色を対象色とします。
戻り値
true成功
false失敗

TnbMfcDrawingStatic.h125 行目に定義があります。

◆ SetDrawingBitmap()

void SetDrawingBitmap ( CBitmapHandle  bmp,
bool  isAdjust = true,
bool  isRedraw = false 
)
inherited

[設定] 描画情報設定.

引数
bmpビットマップ
isAdjusttrue か省略なら 指定の bmp の大きさにクライアントを調整します。 false ならクライアントの大きさは変わりません。
isRedrawtrue なら再描画します。 false か省略ならなにもしません。

TnbMfcDrawingStatic.h114 行目に定義があります。

◆ SetDrawingObject()

void SetDrawingObject ( const IDrawable draw,
bool  isClientSizeAdjust = true,
bool  isRedraw = false 
)
inherited

[設定] 描画情報設定.

引数
draw描画情報. 本オブジェクトにはクローンが記憶されるので、 draw は破棄してもかまいません。
isClientSizeAdjusttrue か省略なら 指定の draw の大きさにクライアントを調整します。 false ならクライアントの大きさを draw に設定します(クライアントの大きさは変わりません)。
isRedrawtrue なら再描画します。 false か省略ならなにもしません。

TnbMfcDrawingStatic.h87 行目に定義があります。

◆ SetImage()

void SetImage ( CBitmapHandle  b,
COLORREF  onColor = RGB(254, 0, 0),
COLORREF  offColor = RGB(60, 0, 0) 
)

[設定] イメージ指定.

覚え書き
指定後、値を設定しないとイメージが表示されません。
引数
bベース画像。7seg の部分がマジックカラーコードで書かれているもの。
onColorONの際の色。マジックカラーコード以外の色にすること。
offColorOFFの際の色。マジックカラーコード以外の色にすること。

TnbMfcSevenSegCtrl.h83 行目に定義があります。

◆ SetValue()

void SetValue ( INDEX  idx,
int  value,
bool  hasDot = false 
)

[設定] 値設定.

各桁ごとに数値、ドットを指定できます。

引数
idx桁。
value値。
hasDotドットありなら true を指定。

TnbMfcSevenSegCtrl.h126 行目に定義があります。

◆ SetValues()

void SetValues ( DWORD  value,
bool  hasDot = false,
bool  isZeroPadding = false 
)

[設定] 値設定.

引数
value値。有効範囲は 0〜'(10^DIGIT)-1' になります。
hasDotドットありなら true を指定。
isZeroPaddingtrue ならゼロパディングあり。 false ならなし。

TnbMfcSevenSegCtrl.h96 行目に定義があります。

◆ 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失敗.

◆ 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 
)
protectedvirtualinherited

[通知] for processing Windows messages.

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

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

CRgnControlAddinT< CWnd >を再実装しています。

CDipswButton, CRotaryCtrlで再実装されています。

TnbMfcDrawingStatic.h154 行目に定義があります。

メンバ詳解

◆ m_clientRgn

HRGN m_clientRgn
protectedinherited

クライアントリージョン

TnbMfcRgnControl.h39 行目に定義があります。