|
TNB Library
|
立体描画情報ボタンコントロール [詳解]
#include <TnbMfcSolidDrawingButton.h>
CSolidDrawingButton の継承関係図公開型 | |
| enum | EPressMode { PM_Unused , PM_Message , PM_Lockable } |
| プレスモード種 [詳解] | |
公開メンバ関数 | |
| 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) |
| [設定] ウィンドウ拡張スタイル変更. [詳解] | |
| bool | SetAllDrawers (const IDrawable &draw, COLORREF transColor, int persent=30) |
| [設定] ビットマップ設定. [詳解] | |
| void | SetBitmapChangeTime (UINT ms) |
| [設定] ビットマップ切り替え時間設定. [詳解] | |
| void | SetDefaultButtonStyle (void) |
| [設定] デフォルトボタンスタイル設定. [詳解] | |
| void | SetFocusBitmap (CBitmapHandle bmp) |
| [設定] フォーカス状態ビットマップ指定. [詳解] | |
| void | SetFocusMarkBitmap (CBitmapHandle bmp, COLORREF color=CLR_AUTOSELECT) |
| [設定] フォーカス状態マークビットマップ指定. [詳解] | |
| void | SetPressedMode (bool isEnable) |
| [設定] プレスモード設定. [詳解] | |
| void | SetPressedMode (EPressMode pm) |
| [設定] プレスモード設定. [詳解] | |
| void | SetPushedMarkOffset (const POINT &pos) |
| [設定] 押下時表示ずれ設定. [詳解] | |
| void | SetShortcutKey (TCHAR key) |
| [設定] ショートカットキー設定. [詳解] | |
| void | SetValidRgn (HRGN h) |
| [設定] ボタン有効範囲指定. [詳解] | |
| BOOL | SetWindowPos (const CWnd *pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags) |
| [設定] ウィンドウサイズポジション設定. [詳解] | |
| BOOL | ShowWindow (int nCmdShow) |
| [設定] ウィンドウ表示状態. [詳解] | |
限定公開型 | |
| enum | EState { ES_Normal , ES_Hover , ES_Pushed , ES_Disable } |
| 状態 [詳解] | |
限定公開メンバ関数 | |
| 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) |
| [設定] ダブルクリックイベントサポート [詳解] | |
| virtual LRESULT | WindowProc (UINT message, WPARAM wParam, LPARAM lParam) |
| [通知] for processing Windows messages. [詳解] | |
限定公開変数類 | |
| CBitmapHandle | m_bmpButtons [4] |
| 「通常」「ホバー」「押下」[無効」状態のBITMAP. [詳解] | |
| CBitmapImage | m_focusBitmap |
| フォーカス(マーク)BITMAP [詳解] | |
| COLORREF | m_focusMaskColor |
| フォーカスマークの透過色(-1ならフォーカスはマークではなく直書き) [詳解] | |
立体描画情報ボタンコントロール
本クラスに描画情報を設定( SetAllDrawers() )すると、 「通常状態」「無効状態」「押下状態」「ホバー状態」「フォーカス状態」の状態を作成し、 使用します。その際、ボタンらしく、立体(でっばり or へっこみ)化します (そのため、元描画情報から縦横、それぞれ +3 dot 多きボタンになります)。 - [通常状態]\n 描画情報を少し暗くした画像を使用します。 - [無効状態]\n 描画情報をグレー化した画像を使用します。 - [ホバー状態] - [押下状態]\n 描画情報、そのまま使用します。 - [フォーカス状態]\n ホバー状態と同じ画像を使用します。
TnbMfcSolidDrawingButton.h の 74 行目に定義があります。
|
inherited |
プレスモード種
| 列挙値 | |
|---|---|
| PM_Unused | 通常ボタン |
| PM_Message | プレスメッセージ対応 |
| PM_Lockable | プレスロック機能も有効 |
TnbMfcAbstractButton.h の 165 行目に定義があります。
|
protectedinherited |
状態
| 列挙値 | |
|---|---|
| ES_Normal | 標準状態 |
| ES_Hover | ホバー状態 |
| ES_Pushed | 押下状態 |
| ES_Disable | 無効状態 |
TnbMfcAbstractButton.h の 199 行目に定義があります。
|
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 |
|
protectedvirtualinherited |
[通知] 描画中.
Bitmap表示の前後にコールされます。
| [in,out] | _pos | 表示位置。 |
| [in] | pDC | 描画先のCDC。 |
| [in] | boIsFirst | Bitmap表示前は true、表示後は false で通知されます。 |
CRgnButtonTxで再実装されています。
TnbMfcRgnButton.h の 159 行目に定義があります。
|
protectedvirtualinherited |
[通知] subclassing/unsubclassing functions.
サブクラス化する時コールされます。
CAbstractButtonを再実装しています。
CRgnButtonTxで再実装されています。
TnbMfcRgnButton.h の 257 行目に定義があります。
| bool SetAllDrawers | ( | const IDrawable & | draw, |
| COLORREF | transColor, | ||
| int | persent = 30 |
||
| ) |
[設定] ビットマップ設定.
一つの描画情報を指定すると、そこから、「通常状態」「ホバー状態」「押下状態」[無効状態」「フォーカス状態」の ボタンを作成します。
| draw | 描画情報。本メソッド内で、この描画情報から画像を作成しますので、描画情報は破棄してもかまいません。 |
| transColor | 透過色指定. |
| persent | 「通常状態」の色落ち割合。0なら「フォーカス状態」と同じ明るさになります。100なら、真っ黒になってしまいます。 |
| true | 成功. |
| false | 失敗. |
TnbMfcSolidDrawingButton.h の 90 行目に定義があります。
|
inherited |
[設定] ビットマップ切り替え時間設定.
状態が変わってビットマップを変更する時、デフォルトでは、切り替え前のビットマップと、 切り替え後のビットマップの50%合成の画像を 30ms 秒表示するようになっています(そのため ふわっと切り替わるように見えます)。この切り替え時間を本メソッドで指定することが出来ます。
| ms | 切り替え時間(単位 ms)。 |
TnbMfcRgnButton.h の 349 行目に定義があります。
|
protectedinherited |
|
inherited |
[設定] デフォルトボタンスタイル設定.
本ボタンにデフォルトボタンスタイルをつけます。
TnbMfcAbstractButton.h の 127 行目に定義があります。
|
inherited |
[設定] フォーカス状態ビットマップ指定.
フォーカス状態を表すビットマップを指定します。 ベースとなるビットマップと同じ大きさにする必要があります。
| bmp | ビットマップ。 |
TnbMfcRgnButton.h の 419 行目に定義があります。
|
inherited |
[設定] フォーカス状態マークビットマップ指定.
フォーカス状態を表すマークのビットマップを指定します。 他のビットマップの上に表示されるものになります。 SetPushedMarkOffset() の設定の影響を受けます。
| bmp | ビットマップハンドル。ハンドルは不必要になったら自動的に破棄します。 |
| color | 透過色指定。省略すると、ビットマップの左下の色を透過色とします。 |
TnbMfcRgnButton.h の 434 行目に定義があります。
|
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 |
[設定] 押下時表示ずれ設定.
押下時にフォーカスマークのずれを指定することが出来ます。デフォルトでは、移動なしです(0,0)。
| pos | ずれ |
TnbMfcRgnButton.h の 452 行目に定義があります。
|
protectedinherited |
[設定] ダブルクリックイベントサポート
| canSendDblClk | true なら、 BN_DOUBLECLICKED を親に通知するようになります。 |
TnbMfcAbstractButton.h の 232 行目に定義があります。
|
inherited |
[設定] ショートカットキー設定.
フォーカスが無いときでもキーボードの ALT + で押せるショートカットキーに対応するキーを指定します。 指定しない場合、ショートカットは出来ません。
| key | キー。 'A' 〜 'Z' を指定します。 |
TnbMfcAbstractButton.h の 117 行目に定義があります。
|
inherited |
[設定] ボタン有効範囲指定.
ボタンの押下処理の行われる範囲を指定することが出来ます。描画は四角くなります。
| h | リージョンハンドル。 ハンドルは内部で複製しますので、破棄してかまいません。 |
TnbMfcRgnButton.h の 506 行目に定義があります。
|
inherited |
[設定] ウィンドウサイズポジション設定.
子ウィンドウ、ポップアップ ウィンドウ、およびトップレベル ウィンドウのサイズ、位置、および Z オーダーを変更します。
| pWndInsertAfter | Z オーダーでこの CWnd オブジェクトより前に配置される CWnd オブジェクトを識別します。このパラメータへは、 CWnd へのポインタか 次の値のいずれか 1 つを指定できます。
|
| x | ウィンドウの新しい左辺の位置を指定します。 |
| y | ウィンドウの新しい上辺の位置を指定します。 |
| cx | ウィンドウの新しい幅を指定します。 |
| cy | ウィンドウの新しい高さを指定します。 |
| nFlags | サイズ変更オプションおよび位置指定オプションを指定します。このパラメータには、次の値を組み合わせて指定できます。
|
| TRUE | 成功. |
| FALSE | 失敗. |
|
inherited |
[設定] ウィンドウ表示状態.
| nCmdShow | CWnd を表示する方法を指定します。次の値のいずれかになります。
|
| TRUE | 成功. |
| FALSE | 失敗. |
|
protectedvirtualinherited |
[通知] for processing Windows messages.
メッセージ受信したらコールされます。
| message | メッセージ |
| wParam | WPARAM |
| lParam | LPARAM |
CAbstractButtonを再実装しています。
CRgnButtonTx, CRgnSemitransparentButtonT< MODE, PAR >で再実装されています。
TnbMfcRgnButton.h の 213 行目に定義があります。
|
protectedinherited |
「通常」「ホバー」「押下」[無効」状態のBITMAP.
TnbMfcRgnButton.h の 148 行目に定義があります。
|
protectedinherited |
フォーカス(マーク)BITMAP
TnbMfcRgnButton.h の 149 行目に定義があります。
|
protectedinherited |
フォーカスマークの透過色(-1ならフォーカスはマークではなく直書き)
TnbMfcRgnButton.h の 150 行目に定義があります。