TNB Library
|
テキスト付自由型ビットマップボタンコントロール [詳解]
#include <TnbMfcRgnButtonTx.h>
公開型 | |
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) |
[設定] ウィンドウ拡張スタイル変更. [詳解] | |
CRgnButtonTx & | operator= (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() を使用します。
TnbMfcRgnButtonTx.h の 52 行目に定義があります。
|
inherited |
プレスモード種
列挙値 | |
---|---|
PM_Unused | 通常ボタン |
PM_Message | プレスメッセージ対応 |
PM_Lockable | プレスロック機能も有効 |
TnbMfcAbstractButton.h の 165 行目に定義があります。
|
protectedinherited |
状態
列挙値 | |
---|---|
ES_Normal | 標準状態 |
ES_Hover | ホバー状態 |
ES_Pushed | 押下状態 |
ES_Disable | 無効状態 |
TnbMfcAbstractButton.h の 199 行目に定義があります。
CRgnButtonTx | ( | void | ) |
コンストラクタ
TnbMfcRgnButtonTx.h の 59 行目に定義があります。
~CRgnButtonTx | ( | void | ) |
デストラクタ
TnbMfcRgnButtonTx.h の 64 行目に定義があります。
|
protectedvirtualinherited |
[表示] 文字表示.
指定のカラーで表示します。文字と文字のずれは、 SetTextDrawOffset() で設定したものを使います。
pDC | デバイスコンテキスト |
rect | 表示範囲 |
drawStyle | Drawスタイル |
c | カラー情報 |
str | 表示文字 |
TnbMfcCommon.h の 585 行目に定義があります。
|
protectedinherited |
[表示] 文字表示.
指定のカラーで表示します。文字と文字のずれは、 SetTextDrawOffset() で設定したものを使います。
pDC | デバイスコンテキスト |
rect | 表示範囲 |
drawStyle | Drawスタイル |
boIsEnable | true なら SetTextColor() で指定した色、 false なら SetTextDisableColor() で指定した色で表示。 |
str | 表示文字 |
TnbMfcCommon.h の 610 行目に定義があります。
|
protectedinherited |
|
inherited |
[取得] ウィンドウ拡張スタイル取得.
本インスタンスが管理しているウィンドウの拡張スタイルを返します。
|
inherited |
[取得] ウィンドウハンドル取得.
本インスタンスが管理しているウィンドウのハンドルを返します。
|
inherited |
[取得] 状態取得.
オプション ボタンまたはチェック ボックスの状態を取得します。
マスク | 説明 |
0x0003 | オン、オフ状態を調べます (オプション ボタンとチェック ボックスの場合だけ)。 0 のときは、ボタンはオフです。1 のときは、ボタンはオンです。オプション ボタンはチェック マーク (?) が付いている状態がオンです。チェック ボックスは X マークが付いている状態がオンです。2 は、チェック状態が不確定であることを示します (3 ステート チェック ボックスのみ)。 3 ステート チェック ボックスは淡色表示状態のとき不確定状態を示します。 |
0x0004 | 強調表示状態を調べます。0 以外の値のときは、ボタンが強調表示状態です。 マウスの左ボタンをクリックしたままにすると、ボタンは強調表示状態になります。 マウス ボタンを離すと、強調表示状態は解除されます。 |
0x0008 | フォーカス状態を調べます。0 以外の値のときは、ボタンにフォーカスがあることを示します。 |
TnbMfcAbstractButton.h の 158 行目に定義があります。
|
inherited |
[取得] ウィンドウスタイル取得.
本インスタンスが管理しているウィンドウのスタイルを返します。
|
protectedvirtualinherited |
[確認] フォーカスの有無
true | フォーカスあり。 |
false | フォーカスなし。 |
CDrawingButtonTxで再実装されています。
TnbMfcAbstractButton.h の 298 行目に定義があります。
|
protectedvirtualinherited |
|
inherited |
[設定] ウィンドウスタイル変更.
dwRemove | 除去するスタイルを指定する。 |
dwAdd | 追加するスタイルを指定する。 |
nFlags | SetWindowPos() に渡すフラグ。0なら SetWindowPos() を呼びません。 |
TRUE | 成功. |
FALSE | 失敗. |
|
inherited |
[設定] ウィンドウ拡張スタイル変更.
dwRemove | 除去する拡張スタイルを指定する。 |
dwAdd | 追加する拡張スタイルを指定する。 |
nFlags | SetWindowPos() に渡すフラグ。0なら SetWindowPos() を呼びません。 |
TRUE | 成功. |
FALSE | 失敗. |
|
protectedvirtualinherited |
[通知] 状態変化通知.
state | 状態。 |
CDrawingButton, CLinkText, CTransparentButtonで再実装されています。
TnbMfcAbstractButton.h の 316 行目に定義があります。
|
protectedvirtualinherited |
[通知] for notifications from parent
[in] | message | メッセージ |
[in] | wParam | WPARAM |
[in] | lParam | LPARAM |
[out] | _pResult | リザルト |
TRUE | 処理済。 |
FALSE | 未処理。 |
TnbMfcAbstractButton.h の 332 行目に定義があります。
|
protectedvirtualinherited |
[通知] クリック.
BN_CLICKED を親に通知する前にコールされます。
CColorSelectButton, CDrawingButton, CHyperLinkTextで再実装されています。
TnbMfcAbstractButton.h の 307 行目に定義があります。
|
protectedvirtualinherited |
|
protectedvirtual |
[通知] 描画中.
Bitmap表示の前後にコールされます。
[in,out] | _pos | 表示位置。 |
[in] | pDC | 描画先のCDC。 |
[in] | boIsFirst | Bitmap表示前は true、表示後は false で通知されます。 |
CRgnButtonを再実装しています。
TnbMfcRgnButtonTx.h の 127 行目に定義があります。
CRgnButtonTx & operator= | ( | const CRgnButtonTx & | other | ) |
[複製] 情報複製.
other | コピー元 |
TnbMfcRgnButtonTx.h の 74 行目に定義があります。
|
protectedvirtual |
[通知] subclassing/unsubclassing functions.
サブクラス化する時コールされます。
CRgnButtonを再実装しています。
TnbMfcRgnButtonTx.h の 152 行目に定義があります。
|
inherited |
[設定] ビットマップ指定.
「通常状態」「ホバー状態」「押下状態」[無効状態」「フォーカス状態」を表すビットマップを同時に指定します。
bmp | ビットマップ。 |
color | 透過色指定。省略すると、ビットマップの左下の色を透過色とします。 CLR_INVALID を指定すると透過色なしになります。 |
true | 成功。 |
false | 失敗。ハンドルが無効です。 |
TnbMfcRgnButton.h の 468 行目に定義があります。
|
inherited |
[設定] ベースビットマップ指定.
ボタンのベースとなるビットマップを指定します。このビットマップでボタンの形が確定されます。
bmp | ビットマップ。 |
color | 透過色指定。省略すると、ビットマップの左下の色が透過色とします。 CLR_INVALID を指定すると透過色なしになります。 |
true | 成功。 |
false | 失敗。ハンドルが無効です。 |
TnbMfcRgnButton.h の 364 行目に定義があります。
|
inherited |
[設定] ビットマップ切り替え時間設定.
状態が変わってビットマップを変更する時、デフォルトでは、切り替え前のビットマップと、 切り替え後のビットマップの50%合成の画像を 30ms 秒表示するようになっています(そのため ふわっと切り替わるように見えます)。この切り替え時間を本メソッドで指定することが出来ます。
ms | 切り替え時間(単位 ms)。 |
TnbMfcRgnButton.h の 349 行目に定義があります。
|
protectedinherited |
|
inherited |
[設定] デフォルトボタンスタイル設定.
本ボタンにデフォルトボタンスタイルをつけます。
TnbMfcAbstractButton.h の 127 行目に定義があります。
|
inherited |
[設定] 無効状態ビットマップ指定.
無効状態を表すビットマップを指定します。 ベースとなるビットマップと同じ大きさにする必要があります。
bmp | ビットマップ。 |
TnbMfcRgnButton.h の 396 行目に定義があります。
|
inherited |
[設定] フォーカス状態ビットマップ指定.
フォーカス状態を表すビットマップを指定します。 ベースとなるビットマップと同じ大きさにする必要があります。
bmp | ビットマップ。 |
TnbMfcRgnButton.h の 419 行目に定義があります。
|
inherited |
[設定] フォーカス状態マークビットマップ指定.
フォーカス状態を表すマークのビットマップを指定します。 他のビットマップの上に表示されるものになります。 SetPushedMarkOffset() の設定の影響を受けます。
bmp | ビットマップハンドル。ハンドルは不必要になったら自動的に破棄します。 |
color | 透過色指定。省略すると、ビットマップの左下の色を透過色とします。 |
TnbMfcRgnButton.h の 434 行目に定義があります。
void SetFont | ( | CFont * | pFont, |
BOOL | bRedraw = TRUE |
||
) |
[設定] フォント指定.
pFont | 新しいフォントを指定します。 |
bRedraw | TRUE の場合は CWnd オブジェクトを再描画します。 |
|
inherited |
[設定] ホバー状態ビットマップ指定.
ホバー状態を表すビットマップを指定します。 ベースとなるビットマップと同じ大きさにする必要があります。
bmp | ビットマップ。 |
TnbMfcRgnButton.h の 407 行目に定義があります。
|
inherited |
[設定] プレスモード設定.
プレスロックモード付きのボタンにすることが出来ます。 プレスモードにすると、プレスすると親ウィンドウに BN_PUSHED_T が、 リリースすると BN_UNPUSHED_T が通知されます。
isEnable | true ならプレスモード。 false なら通常ボタンにします。 |
TnbMfcAbstractButton.h の 179 行目に定義があります。
|
inherited |
[設定] プレスモード設定.
プレスメッセージ、プレスロックモード付きのボタンにすることが出来ます。 プレスモードにすると、プレスすると親ウィンドウに BN_PUSHED_T が、 リリースすると BN_UNPUSHED_T が通知されます。
pm | プレスモード |
TnbMfcAbstractButton.h の 191 行目に定義があります。
|
inherited |
[設定] 押下状態ビットマップ指定.
押下状態を表すビットマップを指定します。 ベースとなるビットマップと同じ大きさにする必要があります。
bmp | ビットマップ。 |
TnbMfcRgnButton.h の 385 行目に定義があります。
|
inherited |
[設定] 押下時表示ずれ設定.
押下時にフォーカスマークのずれを指定することが出来ます。デフォルトでは、移動なしです(0,0)。
pos | ずれ |
TnbMfcRgnButton.h の 452 行目に定義があります。
|
protectedinherited |
[設定] ダブルクリックイベントサポート
canSendDblClk | true なら、 BN_DOUBLECLICKED を親に通知するようになります。 |
TnbMfcAbstractButton.h の 232 行目に定義があります。
|
protected |
[設定] ショートカットキー設定.
key | ダミー |
TnbMfcRgnButtonTx.h の 116 行目に定義があります。
|
inherited |
[設定] テキスト色指定.
color1 | 前の文字の色を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。 |
color2 | 後ろの文字の色を指定します。省略可能。 |
TnbMfcCommon.h の 641 行目に定義があります。
|
inherited |
[設定] テキストオフセット設定.
本クラスは二つのテキストをずらして表示することで、奥行き、立体感を出すことが出来ます。 前と後ろテキストのずれを指定します。
x | 横方向のずれ |
y | 縦方向のずれ |
TnbMfcCommon.h の 630 行目に定義があります。
|
inherited |
[設定] 無効状態テキスト色指定.
color1 | 前の文字の色を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。 |
color2 | 後ろの文字の色を指定します。。省略可能。 |
TnbMfcCommon.h の 652 行目に定義があります。
void SetTextPositionOffset | ( | const POINT & | pos | ) |
|
inherited |
[設定] ボタン有効範囲指定.
ボタンの押下処理の行われる範囲を指定することが出来ます。描画は四角くなります。
h | リージョンハンドル。 ハンドルは内部で複製しますので、破棄してかまいません。 |
TnbMfcRgnButton.h の 506 行目に定義があります。
|
inherited |
[設定] ウィンドウサイズポジション設定.
子ウィンドウ、ポップアップ ウィンドウ、およびトップレベル ウィンドウのサイズ、位置、および Z オーダーを変更します。
pWndInsertAfter | Z オーダーでこの CWnd オブジェクトより前に配置される CWnd オブジェクトを識別します。このパラメータへは、 CWnd へのポインタか 次の値のいずれか 1 つを指定できます。
|
x | ウィンドウの新しい左辺の位置を指定します。 |
y | ウィンドウの新しい上辺の位置を指定します。 |
cx | ウィンドウの新しい幅を指定します。 |
cy | ウィンドウの新しい高さを指定します。 |
nFlags | サイズ変更オプションおよび位置指定オプションを指定します。このパラメータには、次の値を組み合わせて指定できます。
|
TRUE | 成功. |
FALSE | 失敗. |
void SetWindowText | ( | LPCTSTR | lpszString | ) |
[設定] 文字列設定.
lpszString | 文字列。 |
|
inherited |
[設定] ウィンドウ表示状態.
nCmdShow | CWnd を表示する方法を指定します。次の値のいずれかになります。
|
TRUE | 成功. |
FALSE | 失敗. |
|
protectedvirtual |
[通知] for processing Windows messages.
メッセージ受信したらコールされます。
message | メッセージ |
wParam | WPARAM |
lParam | LPARAM |
CRgnButtonを再実装しています。
TnbMfcRgnButtonTx.h の 167 行目に定義があります。
|
protectedinherited |
「通常」「ホバー」「押下」[無効」状態のBITMAP.
TnbMfcRgnButton.h の 148 行目に定義があります。
|
protectedinherited |
無効状態色
TnbMfcCommon.h の 573 行目に定義があります。
|
protectedinherited |
フォーカス(マーク)BITMAP
TnbMfcRgnButton.h の 149 行目に定義があります。
|
protectedinherited |
フォーカスマークの透過色(-1ならフォーカスはマークではなく直書き)
TnbMfcRgnButton.h の 150 行目に定義があります。
|
protectedinherited |
標準状態色
TnbMfcCommon.h の 572 行目に定義があります。
|
protectedinherited |
文字と文字のずれ
TnbMfcCommon.h の 574 行目に定義があります。