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

テキスト付自由型ビットマップボタンコントロール [詳解]

#include <TnbMfcRgnButtonTx.h>

+ CRgnButtonTx の継承関係図

公開型

enum  EPressMode { PM_Unused , PM_Message , PM_Lockable }
 プレスモード種 [詳解]
 

公開メンバ関数

 CRgnButtonTx (void)
 コンストラクタ [詳解]
 
DWORD GetExStyle (void) const
 [取得] ウィンドウ拡張スタイル取得. [詳解]
 
HWND GetSafeHwnd (void) const
 [取得] ウィンドウハンドル取得. [詳解]
 
UINT GetState (void) const
 [取得] 状態取得. [詳解]
 
DWORD GetStyle (void) const
 [取得] ウィンドウスタイル取得. [詳解]
 
BOOL ModifyStyle (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 [設定] ウィンドウスタイル変更. [詳解]
 
BOOL ModifyStyleEx (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 [設定] ウィンドウ拡張スタイル変更. [詳解]
 
CRgnButtonTxoperator= (const CRgnButtonTx &other)
 [複製] 情報複製. [詳解]
 
bool SetAllBitmaps (CBitmapHandle bmp, COLORREF color=CLR_AUTOSELECT)
 [設定] ビットマップ指定. [詳解]
 
bool SetBitmap (CBitmapHandle bmp, COLORREF color=CLR_AUTOSELECT)
 [設定] ベースビットマップ指定. [詳解]
 
void SetBitmapChangeTime (UINT ms)
 [設定] ビットマップ切り替え時間設定. [詳解]
 
void SetDefaultButtonStyle (void)
 [設定] デフォルトボタンスタイル設定. [詳解]
 
void SetDisableBitmap (CBitmapHandle bmp)
 [設定] 無効状態ビットマップ指定. [詳解]
 
void SetFocusBitmap (CBitmapHandle bmp)
 [設定] フォーカス状態ビットマップ指定. [詳解]
 
void SetFocusMarkBitmap (CBitmapHandle bmp, COLORREF color=CLR_AUTOSELECT)
 [設定] フォーカス状態マークビットマップ指定. [詳解]
 
void SetFont (CFont *pFont, BOOL bRedraw=TRUE)
 [設定] フォント指定. [詳解]
 
void SetHoverBitmap (CBitmapHandle bmp)
 [設定] ホバー状態ビットマップ指定. [詳解]
 
void SetPressedMode (bool isEnable)
 [設定] プレスモード設定. [詳解]
 
void SetPressedMode (EPressMode pm)
 [設定] プレスモード設定. [詳解]
 
void SetPushedBitmap (CBitmapHandle bmp)
 [設定] 押下状態ビットマップ指定. [詳解]
 
void SetPushedMarkOffset (const POINT &pos)
 [設定] 押下時表示ずれ設定. [詳解]
 
void SetTextColor (COLORREF color1, COLORREF color2=CLR_INVALID)
 [設定] テキスト色指定. [詳解]
 
void SetTextDeepOffset (int x, int y)
 [設定] テキストオフセット設定. [詳解]
 
void SetTextDisableColor (COLORREF color1, COLORREF color2=CLR_INVALID)
 [設定] 無効状態テキスト色指定. [詳解]
 
void SetTextPositionOffset (const POINT &pos)
 [設定] 文字位置補正. [詳解]
 
void SetValidRgn (HRGN h)
 [設定] ボタン有効範囲指定. [詳解]
 
BOOL SetWindowPos (const CWnd *pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
 [設定] ウィンドウサイズポジション設定. [詳解]
 
void SetWindowText (LPCTSTR lpszString)
 [設定] 文字列設定. [詳解]
 
BOOL ShowWindow (int nCmdShow)
 [設定] ウィンドウ表示状態. [詳解]
 
 ~CRgnButtonTx (void)
 デストラクタ [詳解]
 

限定公開型

enum  EState { ES_Normal , ES_Hover , ES_Pushed , ES_Disable }
 状態 [詳解]
 

限定公開メンバ関数

virtual void DrawText (CDC *pDC, const RECT &rect, UINT drawStyle, const TColor &c, LPCTSTR str)
 [表示] 文字表示. [詳解]
 
void DrawTextEx (CDC *pDC, const RECT &rect, UINT drawStyle, bool boIsEnable, LPCTSTR str)
 [表示] 文字表示. [詳解]
 
EState GetButtonState (void) const
 [取得] ボタン状態取得. [詳解]
 
virtual bool HasFocus (void) const
 [確認] フォーカスの有無 [詳解]
 
virtual bool IsOnButton (const POINT &po) const
 [確認] ポイントがボタン上にあるか. [詳解]
 
virtual void OnChangeState (EState state)
 [通知] 状態変化通知. [詳解]
 
virtual EState OnCheckState (EState st)
 [通知] 現在の状態確認通知 [詳解]
 
virtual BOOL OnChildNotify (UINT message, WPARAM wParam, LPARAM lParam, LRESULT *_pResult)
 [通知] for notifications from parent [詳解]
 
virtual void OnClickButton (void)
 [通知] クリック. [詳解]
 
virtual void OnDrawButton (CDC *pDC)
 [通知] 描画 [詳解]
 
virtual void OnDrawingButton (CPoint &_pos, CDC *pDC, bool boIsFirst)
 [通知] 描画中. [詳解]
 
virtual void PreSubclassWindow (void)
 [通知] subclassing/unsubclassing functions. [詳解]
 
void SetButtonState (EState s)
 [設定] ボタン状態設定. [詳解]
 
void SetSendDblClkMode (bool canSendDblClk)
 [設定] ダブルクリックイベントサポート [詳解]
 
void SetShortcutKey (TCHAR key)
 [設定] ショートカットキー設定. [詳解]
 
virtual LRESULT WindowProc (UINT message, WPARAM wParam, LPARAM lParam)
 [通知] for processing Windows messages. [詳解]
 

限定公開変数類

CBitmapHandle m_bmpButtons [4]
 「通常」「ホバー」「押下」[無効」状態のBITMAP. [詳解]
 
TColor m_disableColors
 無効状態色 [詳解]
 
CBitmapImage m_focusBitmap
 フォーカス(マーク)BITMAP [詳解]
 
COLORREF m_focusMaskColor
 フォーカスマークの透過色(-1ならフォーカスはマークではなく直書き) [詳解]
 
TColor m_normalColors
 標準状態色 [詳解]
 
CPoint m_offset
 文字と文字のずれ [詳解]
 

詳解

テキスト付自由型ビットマップボタンコントロール

ビットマップの形に合わせたボタンを作成することが出来ます。

CRgnButton の機能に、テキストも表示できるように拡張したものです。
基本的な使い方は、スーパークラスの CRgnButton を参照してください。

文字列設定は、 SetWindowText() か WM_SETTEXT を使用します。
フォント設定は、 SetFont() か WM_SETFONT を使用します。
色指定は、 SetTextColor(), SetTextDisableColor() を使用します。
使い方
リソースエディタでボタンかスタティックコントロールを張り、コントロール変数に割り当て後、 そのコントロール変数の型(CButton or CStatic)を本クラスに置き換えて使用します。
必要ファイル
TnbMfcRgnButtonTx.h
参照
CAbstractButton
日付
07/10/05 新規作成
07/10/11 押下時のOFFSETを親で管理するようにした。
07/10/26 文字表示に CTextDrawer を使用するようにした。
07/11/30 コメント追加、修正。
07/12/06 テキスト色設定が反映されないバグを修正。
08/12/09 SetTextPositionOffset() 追加。
10/05/12 文字列管理を改善。

TnbMfcRgnButtonTx.h52 行目に定義があります。

列挙型メンバ詳解

◆ EPressMode

enum EPressMode
inherited

プレスモード種

列挙値
PM_Unused 

通常ボタン

PM_Message 

プレスメッセージ対応

PM_Lockable 

プレスロック機能も有効

TnbMfcAbstractButton.h165 行目に定義があります。

◆ EState

enum EState
protectedinherited

状態

列挙値
ES_Normal 

標準状態

ES_Hover 

ホバー状態

ES_Pushed 

押下状態

ES_Disable 

無効状態

TnbMfcAbstractButton.h199 行目に定義があります。

構築子と解体子

◆ CRgnButtonTx()

CRgnButtonTx ( void  )

コンストラクタ

TnbMfcRgnButtonTx.h59 行目に定義があります。

◆ ~CRgnButtonTx()

~CRgnButtonTx ( void  )

デストラクタ

TnbMfcRgnButtonTx.h64 行目に定義があります。

関数詳解

◆ DrawText()

virtual void DrawText ( CDC *  pDC,
const RECT &  rect,
UINT  drawStyle,
const TColor c,
LPCTSTR  str 
)
protectedvirtualinherited

[表示] 文字表示.

指定のカラーで表示します。文字と文字のずれは、 SetTextDrawOffset() で設定したものを使います。

引数
pDCデバイスコンテキスト
rect表示範囲
drawStyleDrawスタイル
cカラー情報
str表示文字

TnbMfcCommon.h585 行目に定義があります。

◆ DrawTextEx()

void DrawTextEx ( CDC *  pDC,
const RECT &  rect,
UINT  drawStyle,
bool  boIsEnable,
LPCTSTR  str 
)
protectedinherited

[表示] 文字表示.

指定のカラーで表示します。文字と文字のずれは、 SetTextDrawOffset() で設定したものを使います。

引数
pDCデバイスコンテキスト
rect表示範囲
drawStyleDrawスタイル
boIsEnabletrue なら SetTextColor() で指定した色、 false なら SetTextDisableColor() で指定した色で表示。
str表示文字

TnbMfcCommon.h610 行目に定義があります。

◆ GetButtonState()

EState GetButtonState ( void  ) const
protectedinherited

[取得] ボタン状態取得.

覚え書き
現在の状態を取得します
戻り値
状態。

TnbMfcAbstractButton.h212 行目に定義があります。

◆ GetExStyle()

DWORD GetExStyle ( void  ) const
inherited

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

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

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

◆ GetSafeHwnd()

HWND GetSafeHwnd ( void  ) const
inherited

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

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

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

◆ GetState()

UINT GetState ( void  ) const
inherited

[取得] 状態取得.

オプション ボタンまたはチェック ボックスの状態を取得します。

戻り値
状態。次のマスク値が使用できます。
マスク 説明
0x0003 オン、オフ状態を調べます (オプション ボタンとチェック ボックスの場合だけ)。 0 のときは、ボタンはオフです。1 のときは、ボタンはオンです。オプション ボタンはチェック マーク (?) が付いている状態がオンです。チェック ボックスは X マークが付いている状態がオンです。2 は、チェック状態が不確定であることを示します (3 ステート チェック ボックスのみ)。 3 ステート チェック ボックスは淡色表示状態のとき不確定状態を示します。
0x0004 強調表示状態を調べます。0 以外の値のときは、ボタンが強調表示状態です。 マウスの左ボタンをクリックしたままにすると、ボタンは強調表示状態になります。 マウス ボタンを離すと、強調表示状態は解除されます。
0x0008 フォーカス状態を調べます。0 以外の値のときは、ボタンにフォーカスがあることを示します。

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

◆ GetStyle()

DWORD GetStyle ( void  ) const
inherited

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

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

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

◆ HasFocus()

virtual bool HasFocus ( void  ) const
protectedvirtualinherited

[確認] フォーカスの有無

戻り値
trueフォーカスあり。
falseフォーカスなし。

CDrawingButtonTxで再実装されています。

TnbMfcAbstractButton.h298 行目に定義があります。

◆ IsOnButton()

virtual bool IsOnButton ( const POINT &  po) const
protectedvirtualinherited

[確認] ポイントがボタン上にあるか.

引数
poスクリーン座標。
戻り値
true上にある。
falseない。

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

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

◆ OnChangeState()

virtual void OnChangeState ( EState  state)
protectedvirtualinherited

[通知] 状態変化通知.

覚え書き
現在の状態を通知します。フォーカスが変化した時も通知します(stateは同じ値です)。
引数
state状態。

CDrawingButton, CLinkText, CTransparentButtonで再実装されています。

TnbMfcAbstractButton.h316 行目に定義があります。

◆ OnCheckState()

virtual EState OnCheckState ( EState  st)
protectedvirtualinherited

[通知] 現在の状態確認通知

引数
st現在の状態
戻り値
新しい状態

TnbMfcAbstractButton.h259 行目に定義があります。

◆ OnChildNotify()

virtual BOOL OnChildNotify ( UINT  message,
WPARAM  wParam,
LPARAM  lParam,
LRESULT *  _pResult 
)
protectedvirtualinherited

[通知] for notifications from parent

覚え書き
CWndのメソッドをオーバーライドしています。 メッセージ受信したらコールされます。
引数
[in]messageメッセージ
[in]wParamWPARAM
[in]lParamLPARAM
[out]_pResultリザルト
戻り値
TRUE処理済。
FALSE未処理。

TnbMfcAbstractButton.h332 行目に定義があります。

◆ OnClickButton()

virtual void OnClickButton ( void  )
protectedvirtualinherited

[通知] クリック.

BN_CLICKED を親に通知する前にコールされます。

CColorSelectButton, CDrawingButton, CHyperLinkTextで再実装されています。

TnbMfcAbstractButton.h307 行目に定義があります。

◆ OnDrawButton()

virtual void OnDrawButton ( CDC *  pDC)
protectedvirtualinherited

[通知] 描画

引数
pDC描画先のCDC。

CAbstractButtonを実装しています。

TnbMfcRgnButton.h167 行目に定義があります。

◆ OnDrawingButton()

virtual void OnDrawingButton ( CPoint &  _pos,
CDC *  pDC,
bool  boIsFirst 
)
protectedvirtual

[通知] 描画中.

Bitmap表示の前後にコールされます。

引数
[in,out]_pos表示位置。
[in]pDC描画先のCDC。
[in]boIsFirstBitmap表示前は true、表示後は false で通知されます。

CRgnButtonを再実装しています。

TnbMfcRgnButtonTx.h127 行目に定義があります。

◆ operator=()

CRgnButtonTx & operator= ( const CRgnButtonTx other)

[複製] 情報複製.

覚え書き
保持している情報を複製します。文字列情報は複製しません。
引数
otherコピー元
戻り値
自分の参照

TnbMfcRgnButtonTx.h74 行目に定義があります。

◆ PreSubclassWindow()

virtual void PreSubclassWindow ( void  )
protectedvirtual

[通知] subclassing/unsubclassing functions.

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

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

CRgnButtonを再実装しています。

TnbMfcRgnButtonTx.h152 行目に定義があります。

◆ SetAllBitmaps()

bool SetAllBitmaps ( CBitmapHandle  bmp,
COLORREF  color = CLR_AUTOSELECT 
)
inherited

[設定] ビットマップ指定.

「通常状態」「ホバー状態」「押下状態」[無効状態」「フォーカス状態」を表すビットマップを同時に指定します。

覚え書き
「通常状態」「ホバー状態」「押下状態」「無効状態」「フォーカス状態」の絵を同じ大きさで横に並べたビットマップを 指定することで、全部いっぺんに設定することが可能です。
引数
bmpビットマップ。
color透過色指定。省略すると、ビットマップの左下の色を透過色とします。 CLR_INVALID を指定すると透過色なしになります。
戻り値
true成功。
false失敗。ハンドルが無効です。

TnbMfcRgnButton.h468 行目に定義があります。

◆ SetBitmap()

bool SetBitmap ( CBitmapHandle  bmp,
COLORREF  color = CLR_AUTOSELECT 
)
inherited

[設定] ベースビットマップ指定.

ボタンのベースとなるビットマップを指定します。このビットマップでボタンの形が確定されます。

覚え書き
本メソッドを使わない場合、リソースエディタで張ったビットマップをベースにします。
引数
bmpビットマップ。
color透過色指定。省略すると、ビットマップの左下の色が透過色とします。 CLR_INVALID を指定すると透過色なしになります。
戻り値
true成功。
false失敗。ハンドルが無効です。

TnbMfcRgnButton.h364 行目に定義があります。

◆ SetBitmapChangeTime()

void SetBitmapChangeTime ( UINT  ms)
inherited

[設定] ビットマップ切り替え時間設定.

状態が変わってビットマップを変更する時、デフォルトでは、切り替え前のビットマップと、 切り替え後のビットマップの50%合成の画像を 30ms 秒表示するようになっています(そのため ふわっと切り替わるように見えます)。この切り替え時間を本メソッドで指定することが出来ます。

覚え書き
合成画像は一枚しか用意しないため、100msぐらいが上限です。
引数
ms切り替え時間(単位 ms)。

TnbMfcRgnButton.h349 行目に定義があります。

◆ SetButtonState()

void SetButtonState ( EState  s)
protectedinherited

[設定] ボタン状態設定.

覚え書き
内部情報を書き換えるだけです。再表示はしません。
引数
s状態。

TnbMfcAbstractButton.h222 行目に定義があります。

◆ SetDefaultButtonStyle()

void SetDefaultButtonStyle ( void  )
inherited

[設定] デフォルトボタンスタイル設定.

本ボタンにデフォルトボタンスタイルをつけます。

覚え書き
他のボタンにフォーカスがない時に、リターンを押下すると動作するのが、デフォルトボタンです。

TnbMfcAbstractButton.h127 行目に定義があります。

◆ SetDisableBitmap()

void SetDisableBitmap ( CBitmapHandle  bmp)
inherited

[設定] 無効状態ビットマップ指定.

無効状態を表すビットマップを指定します。 ベースとなるビットマップと同じ大きさにする必要があります。

引数
bmpビットマップ。

TnbMfcRgnButton.h396 行目に定義があります。

◆ SetFocusBitmap()

void SetFocusBitmap ( CBitmapHandle  bmp)
inherited

[設定] フォーカス状態ビットマップ指定.

フォーカス状態を表すビットマップを指定します。 ベースとなるビットマップと同じ大きさにする必要があります。

覚え書き
SetFocusMaskBitmap() を使うと本メソッドの設定は破棄されます。
引数
bmpビットマップ。

TnbMfcRgnButton.h419 行目に定義があります。

◆ SetFocusMarkBitmap()

void SetFocusMarkBitmap ( CBitmapHandle  bmp,
COLORREF  color = CLR_AUTOSELECT 
)
inherited

[設定] フォーカス状態マークビットマップ指定.

フォーカス状態を表すマークのビットマップを指定します。 他のビットマップの上に表示されるものになります。 SetPushedMarkOffset() の設定の影響を受けます。

覚え書き
SetFocusBitmap() を使うと本メソッドの設定は破棄されます。
引数
bmpビットマップハンドル。ハンドルは不必要になったら自動的に破棄します。
color透過色指定。省略すると、ビットマップの左下の色を透過色とします。

TnbMfcRgnButton.h434 行目に定義があります。

◆ SetFont()

void SetFont ( CFont *  pFont,
BOOL  bRedraw = TRUE 
)

[設定] フォント指定.

覚え書き
本クラスは、メッセージ(WM_SETFONT)にも対応しています。
引数
pFont新しいフォントを指定します。
bRedrawTRUE の場合は CWnd オブジェクトを再描画します。

◆ SetHoverBitmap()

void SetHoverBitmap ( CBitmapHandle  bmp)
inherited

[設定] ホバー状態ビットマップ指定.

ホバー状態を表すビットマップを指定します。 ベースとなるビットマップと同じ大きさにする必要があります。

引数
bmpビットマップ。

TnbMfcRgnButton.h407 行目に定義があります。

◆ SetPressedMode() [1/2]

void SetPressedMode ( bool  isEnable)
inherited

[設定] プレスモード設定.

プレスロックモード付きのボタンにすることが出来ます。 プレスモードにすると、プレスすると親ウィンドウに BN_PUSHED_T が、 リリースすると BN_UNPUSHED_T が通知されます。

引数
isEnabletrue ならプレスモード。 false なら通常ボタンにします。

TnbMfcAbstractButton.h179 行目に定義があります。

◆ SetPressedMode() [2/2]

void SetPressedMode ( EPressMode  pm)
inherited

[設定] プレスモード設定.

プレスメッセージ、プレスロックモード付きのボタンにすることが出来ます。 プレスモードにすると、プレスすると親ウィンドウに BN_PUSHED_T が、 リリースすると BN_UNPUSHED_T が通知されます。

引数
pmプレスモード

TnbMfcAbstractButton.h191 行目に定義があります。

◆ SetPushedBitmap()

void SetPushedBitmap ( CBitmapHandle  bmp)
inherited

[設定] 押下状態ビットマップ指定.

押下状態を表すビットマップを指定します。 ベースとなるビットマップと同じ大きさにする必要があります。

引数
bmpビットマップ。

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

◆ SetPushedMarkOffset()

void SetPushedMarkOffset ( const POINT &  pos)
inherited

[設定] 押下時表示ずれ設定.

押下時にフォーカスマークのずれを指定することが出来ます。デフォルトでは、移動なしです(0,0)。

引数
posずれ

TnbMfcRgnButton.h452 行目に定義があります。

◆ SetSendDblClkMode()

void SetSendDblClkMode ( bool  canSendDblClk)
protectedinherited

[設定] ダブルクリックイベントサポート

覚え書き
デフォルトでは false です。
引数
canSendDblClktrue なら、 BN_DOUBLECLICKED を親に通知するようになります。

TnbMfcAbstractButton.h232 行目に定義があります。

◆ SetShortcutKey()

void SetShortcutKey ( TCHAR  key)
protected

[設定] ショートカットキー設定.

覚え書き
本クラスでは、本メソッドは無効です。設定する場合、通常のボタンと同じように、 ボタン文字列に & キーワードを入れてください。
引数
keyダミー

TnbMfcRgnButtonTx.h116 行目に定義があります。

◆ SetTextColor()

void SetTextColor ( COLORREF  color1,
COLORREF  color2 = CLR_INVALID 
)
inherited

[設定] テキスト色指定.

引数
color1前の文字の色を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。
color2後ろの文字の色を指定します。省略可能。

TnbMfcCommon.h641 行目に定義があります。

◆ SetTextDeepOffset()

void SetTextDeepOffset ( int  x,
int  y 
)
inherited

[設定] テキストオフセット設定.

本クラスは二つのテキストをずらして表示することで、奥行き、立体感を出すことが出来ます。 前と後ろテキストのずれを指定します。

覚え書き
標準では 0,0 です。
引数
x横方向のずれ
y縦方向のずれ

TnbMfcCommon.h630 行目に定義があります。

◆ SetTextDisableColor()

void SetTextDisableColor ( COLORREF  color1,
COLORREF  color2 = CLR_INVALID 
)
inherited

[設定] 無効状態テキスト色指定.

引数
color1前の文字の色を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。
color2後ろの文字の色を指定します。。省略可能。

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

◆ SetTextPositionOffset()

void SetTextPositionOffset ( const POINT &  pos)

[設定] 文字位置補正.

引数
pos文字位置補正

TnbMfcRgnButtonTx.h86 行目に定義があります。

◆ SetValidRgn()

void SetValidRgn ( HRGN  h)
inherited

[設定] ボタン有効範囲指定.

ボタンの押下処理の行われる範囲を指定することが出来ます。描画は四角くなります。

覚え書き
使用する場合は、ビットマップ指定の最後に使用してください。
引数
hリージョンハンドル。 ハンドルは内部で複製しますので、破棄してかまいません。

TnbMfcRgnButton.h506 行目に定義があります。

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

◆ SetWindowText()

void SetWindowText ( LPCTSTR  lpszString)

[設定] 文字列設定.

覚え書き
本クラスは、メッセージ(WM_SETTEXT)にも対応しています。
引数
lpszString文字列。

◆ 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
戻り値
リザルト。

CRgnButtonを再実装しています。

TnbMfcRgnButtonTx.h167 行目に定義があります。

メンバ詳解

◆ m_bmpButtons

CBitmapHandle m_bmpButtons[4]
protectedinherited

「通常」「ホバー」「押下」[無効」状態のBITMAP.

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

◆ m_disableColors

TColor m_disableColors
protectedinherited

無効状態色

TnbMfcCommon.h573 行目に定義があります。

◆ m_focusBitmap

CBitmapImage m_focusBitmap
protectedinherited

フォーカス(マーク)BITMAP

TnbMfcRgnButton.h149 行目に定義があります。

◆ m_focusMaskColor

COLORREF m_focusMaskColor
protectedinherited

フォーカスマークの透過色(-1ならフォーカスはマークではなく直書き)

TnbMfcRgnButton.h150 行目に定義があります。

◆ m_normalColors

TColor m_normalColors
protectedinherited

標準状態色

TnbMfcCommon.h572 行目に定義があります。

◆ m_offset

CPoint m_offset
protectedinherited

文字と文字のずれ

TnbMfcCommon.h574 行目に定義があります。