リンクテキストコントロール
[詳解]
#include <TnbMfcLinkText.h>
|
void | AdjustSize (int margin=2) |
| [設定] サイズ調整. [詳解]
|
|
| CLinkText (void) |
| コンストラクタ [詳解]
|
|
void | CopyCursorState (const CCursorControlAddinT< T > &other) |
| [設定] カーソル設定コピー. [詳解]
|
|
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) |
| [設定] ウィンドウ拡張スタイル変更. [詳解]
|
|
CLinkText & | operator= (const CLinkText &other) |
| [複製] 情報複製. [詳解]
|
|
void | ResetCursor (void) |
| [設定] 特殊カーソルモード解除. [詳解]
|
|
void | SetDefaultButtonStyle (void) |
| [設定] デフォルトボタンスタイル設定. [詳解]
|
|
void | SetFocusMarkColor (COLORREF color) |
| [設定] フォーカスマーク色指定. [詳解]
|
|
void | SetHoverCursor (HCURSOR h) |
| [設定] ホバー状態のカーソル設定. [詳解]
|
|
void | SetPressedMode (bool isEnable) |
| [設定] プレスモード設定. [詳解]
|
|
void | SetPressedMode (EPressMode pm) |
| [設定] プレスモード設定. [詳解]
|
|
void | SetPushedCursor (HCURSOR h) |
| [設定] 押下状態のカーソル設定. [詳解]
|
|
void | SetShortcutKey (TCHAR key) |
| [設定] ショートカットキー設定. [詳解]
|
|
void | SetTextColor (COLORREF color1, COLORREF color2=CLR_INVALID) |
| [設定] テキスト色指定. [詳解]
|
|
void | SetTextDeepOffset (int x, int y) |
| [設定] テキストオフセット設定. [詳解]
|
|
void | SetTextDisableColor (COLORREF color1, COLORREF color2=CLR_INVALID) |
| [設定] 無効状態テキスト色指定. [詳解]
|
|
void | SetTextHoverColor (COLORREF color1, COLORREF color2=CLR_INVALID) |
| [設定] ホバー状態テキスト色指定. [詳解]
|
|
void | SetTextVisitColor (COLORREF color1, COLORREF color2=CLR_INVALID) |
| [設定] 訪問済み状態テキスト色指定. [詳解]
|
|
void | SetUnderlineMode (bool r) |
| [設定] アンダーバー設定. [詳解]
|
|
void | SetVisitFlag (bool r=true) |
| [設定] 訪問済みフラグ設定. [詳解]
|
|
BOOL | SetWindowPos (const CWnd *pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags) |
| [設定] ウィンドウサイズポジション設定. [詳解]
|
|
BOOL | ShowWindow (int nCmdShow) |
| [設定] ウィンドウ表示状態. [詳解]
|
|
void | SpecialCursor (HCURSOR h) |
| [設定] 特殊カーソルモード. [詳解]
|
|
virtual | ~CLinkText (void) |
| デストラクタ [詳解]
|
|
|
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 | 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. [詳解]
|
|
リンクテキストコントロール
inline なコントロールです。
マウスホバーや訪問済み状態で色を変更できるリンクテキストを作成できます。
リソースエディタでスタティックコントロールを張り、CStatic に割り当て後、
本クラスに置き換えて使用します。
- 参照
- CAbstractButton
- 必要ファイル
- TnbMfcLinkText.h
- 日付
- 07/10/19 新規作成
-
07/10/26 テキスト表示部分を抽象化して CTextDrawer 作成。
-
07/11/06 AdjustSize() 追加
-
07/11/07 アンダーバーの有無、指定可能に。
TnbMfcLinkText.h の 45 行目に定義があります。
◆ EPressMode
◆ EState
◆ CLinkText()
◆ ~CLinkText()
◆ AdjustSize()
void AdjustSize |
( |
int |
margin = 2 | ) |
|
[設定] サイズ調整.
現在指定されているフォント、文字列、クライアントサイズから、 適したクライアントサイズに変更します。
- 引数
-
margin | マージン。必要なクライアントサイズに加えるサイズです。 プラス指定すると、位置を変えずに、幅、高さのみ変更されます。
マイナス指定すると、位置、幅、高さを変更します。
AdjustSize(10) ;位置を変えずに、文字が入る最小の幅、高さに +10したサイズを設定します。
AdjustSize(-5) ;位置を縦横左上に 5 移動し、文字が入る最小の幅、高さに +10したサイズを設定します。 |
TnbMfcLinkText.h の 240 行目に定義があります。
◆ CopyCursorState()
◆ DrawText()
virtual void DrawText |
( |
CDC * |
pDC, |
|
|
const RECT & |
rect, |
|
|
UINT |
drawStyle, |
|
|
const TColor & |
c, |
|
|
LPCTSTR |
str |
|
) |
| |
|
protectedvirtualinherited |
[表示] 文字表示.
指定のカラーで表示します。文字と文字のずれは、 SetTextDrawOffset() で設定したものを使います。
- 引数
-
pDC | デバイスコンテキスト |
rect | 表示範囲 |
drawStyle | Drawスタイル |
c | カラー情報 |
str | 表示文字 |
TnbMfcCommon.h の 585 行目に定義があります。
◆ DrawTextEx()
void DrawTextEx |
( |
CDC * |
pDC, |
|
|
const RECT & |
rect, |
|
|
UINT |
drawStyle, |
|
|
bool |
boIsEnable, |
|
|
LPCTSTR |
str |
|
) |
| |
|
protectedinherited |
[表示] 文字表示.
指定のカラーで表示します。文字と文字のずれは、 SetTextDrawOffset() で設定したものを使います。
- 引数
-
TnbMfcCommon.h の 610 行目に定義があります。
◆ GetButtonState()
EState GetButtonState |
( |
void |
| ) |
const |
|
protectedinherited |
◆ 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.h の 158 行目に定義があります。
◆ GetStyle()
DWORD GetStyle |
( |
void |
| ) |
const |
|
inherited |
[取得] ウィンドウスタイル取得.
本インスタンスが管理しているウィンドウのスタイルを返します。
- 戻り値
- ウィンドウスタイル。 WS_CHILD や WS_MINIMIZE などのシンボルが論理和(or)されている。
◆ HasFocus()
virtual bool HasFocus |
( |
void |
| ) |
const |
|
protectedvirtualinherited |
◆ IsOnButton()
virtual bool IsOnButton |
( |
const POINT & |
po | ) |
const |
|
protectedvirtualinherited |
◆ ModifyStyle()
BOOL ModifyStyle |
( |
DWORD |
dwRemove, |
|
|
DWORD |
dwAdd, |
|
|
UINT |
nFlags = 0 |
|
) |
| |
|
inherited |
◆ ModifyStyleEx()
BOOL ModifyStyleEx |
( |
DWORD |
dwRemove, |
|
|
DWORD |
dwAdd, |
|
|
UINT |
nFlags = 0 |
|
) |
| |
|
inherited |
[設定] ウィンドウ拡張スタイル変更.
- 引数
-
- 戻り値
-
◆ OnChangeState()
virtual void OnChangeState |
( |
EState |
state | ) |
|
|
protectedvirtual |
◆ OnCheckState()
|
protectedvirtualinherited |
◆ OnChildNotify()
virtual BOOL OnChildNotify |
( |
UINT |
message, |
|
|
WPARAM |
wParam, |
|
|
LPARAM |
lParam, |
|
|
LRESULT * |
_pResult |
|
) |
| |
|
protectedvirtualinherited |
[通知] for notifications from parent
- 覚え書き
- CWndのメソッドをオーバーライドしています。 メッセージ受信したらコールされます。
- 引数
-
[in] | message | メッセージ |
[in] | wParam | WPARAM |
[in] | lParam | LPARAM |
[out] | _pResult | リザルト |
- 戻り値
-
TnbMfcAbstractButton.h の 332 行目に定義があります。
◆ OnClickButton()
virtual void OnClickButton |
( |
void |
| ) |
|
|
protectedvirtualinherited |
◆ OnDrawButton()
virtual void OnDrawButton |
( |
CDC * |
pDC | ) |
|
|
protectedvirtual |
◆ operator=()
◆ PreSubclassWindow()
virtual void PreSubclassWindow |
( |
void |
| ) |
|
|
protectedvirtualinherited |
◆ ResetCursor()
void ResetCursor |
( |
void |
| ) |
|
|
inherited |
◆ SetButtonState()
void SetButtonState |
( |
EState |
s | ) |
|
|
protectedinherited |
◆ SetDefaultButtonStyle()
void SetDefaultButtonStyle |
( |
void |
| ) |
|
|
inherited |
[設定] デフォルトボタンスタイル設定.
本ボタンにデフォルトボタンスタイルをつけます。
- 覚え書き
- 他のボタンにフォーカスがない時に、リターンを押下すると動作するのが、デフォルトボタンです。
TnbMfcAbstractButton.h の 127 行目に定義があります。
◆ SetFocusMarkColor()
void SetFocusMarkColor |
( |
COLORREF |
color | ) |
|
◆ SetHoverCursor()
void SetHoverCursor |
( |
HCURSOR |
h | ) |
|
|
inherited |
◆ SetPressedMode() [1/2]
void SetPressedMode |
( |
bool |
isEnable | ) |
|
|
inherited |
[設定] プレスモード設定.
プレスロックモード付きのボタンにすることが出来ます。 プレスモードにすると、プレスすると親ウィンドウに BN_PUSHED_T が、 リリースすると BN_UNPUSHED_T が通知されます。
- 引数
-
isEnable | true ならプレスモード。 false なら通常ボタンにします。 |
TnbMfcAbstractButton.h の 179 行目に定義があります。
◆ SetPressedMode() [2/2]
[設定] プレスモード設定.
プレスメッセージ、プレスロックモード付きのボタンにすることが出来ます。 プレスモードにすると、プレスすると親ウィンドウに BN_PUSHED_T が、 リリースすると BN_UNPUSHED_T が通知されます。
- 引数
-
TnbMfcAbstractButton.h の 191 行目に定義があります。
◆ SetPushedCursor()
void SetPushedCursor |
( |
HCURSOR |
h | ) |
|
|
inherited |
◆ SetSendDblClkMode()
void SetSendDblClkMode |
( |
bool |
canSendDblClk | ) |
|
|
protectedinherited |
[設定] ダブルクリックイベントサポート
- 覚え書き
- デフォルトでは false です。
- 引数
-
canSendDblClk | true なら、 BN_DOUBLECLICKED を親に通知するようになります。 |
TnbMfcAbstractButton.h の 232 行目に定義があります。
◆ SetShortcutKey()
void SetShortcutKey |
( |
TCHAR |
key | ) |
|
◆ SetTextColor()
void SetTextColor |
( |
COLORREF |
color1, |
|
|
COLORREF |
color2 = CLR_INVALID |
|
) |
| |
|
inherited |
[設定] テキスト色指定.
- 引数
-
color1 | 前の文字の色を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。 |
color2 | 後ろの文字の色を指定します。省略可能。 |
TnbMfcCommon.h の 641 行目に定義があります。
◆ SetTextDeepOffset()
void SetTextDeepOffset |
( |
int |
x, |
|
|
int |
y |
|
) |
| |
|
inherited |
[設定] テキストオフセット設定.
本クラスは二つのテキストをずらして表示することで、奥行き、立体感を出すことが出来ます。 前と後ろテキストのずれを指定します。
- 覚え書き
- 標準では 0,0 です。
- 引数
-
TnbMfcCommon.h の 630 行目に定義があります。
◆ SetTextDisableColor()
void SetTextDisableColor |
( |
COLORREF |
color1, |
|
|
COLORREF |
color2 = CLR_INVALID |
|
) |
| |
|
inherited |
[設定] 無効状態テキスト色指定.
- 引数
-
color1 | 前の文字の色を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。 |
color2 | 後ろの文字の色を指定します。。省略可能。 |
TnbMfcCommon.h の 652 行目に定義があります。
◆ SetTextHoverColor()
void SetTextHoverColor |
( |
COLORREF |
color1, |
|
|
COLORREF |
color2 = CLR_INVALID |
|
) |
| |
◆ SetTextVisitColor()
void SetTextVisitColor |
( |
COLORREF |
color1, |
|
|
COLORREF |
color2 = CLR_INVALID |
|
) |
| |
◆ SetUnderlineMode()
void SetUnderlineMode |
( |
bool |
r | ) |
|
[設定] アンダーバー設定.
- 引数
-
r | true ならマウスが上にある時(ホバー状態、押下状態)の時のみ、アンダーバーがでるようになります。 false なら、常にアンダーバーが出ます。設定しない場合、常にアンダーバーがでます。 |
TnbMfcLinkText.h の 194 行目に定義があります。
◆ SetVisitFlag()
void SetVisitFlag |
( |
bool |
r = true | ) |
|
◆ SetWindowPos()
BOOL SetWindowPos |
( |
const CWnd * |
pWndInsertAfter, |
|
|
int |
x, |
|
|
int |
y, |
|
|
int |
cx, |
|
|
int |
cy, |
|
|
UINT |
nFlags |
|
) |
| |
|
inherited |
[設定] ウィンドウサイズポジション設定.
子ウィンドウ、ポップアップ ウィンドウ、およびトップレベル ウィンドウのサイズ、位置、および Z オーダーを変更します。
- 引数
-
pWndInsertAfter | Z オーダーでこの 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 ウィンドウを表示します。
|
- 戻り値
-
◆ ShowWindow()
BOOL ShowWindow |
( |
int |
nCmdShow | ) |
|
|
inherited |
[設定] ウィンドウ表示状態.
- 引数
-
nCmdShow | CWnd を表示する方法を指定します。次の値のいずれかになります。
- SW_HIDE このウィンドウを非表示にし、他のウィンドウをアクティブにします。
- SW_MINIMIZE ウィンドウを最小化し、システムのリストのトップレベル ウィンドウをアクティブにします。
- SW_RESTORE ウィンドウをアクティブにし、表示します。ウィンドウが最小化または最大化されている場合は、Windows によって元のサイズと位置に戻されます。
- SW_SHOW ウィンドウをアクティブにし、現在のサイズと位置で表示します。
- SW_SHOWMAXIMIZED ウィンドウをアクティブにし、最大表示します。
- SW_SHOWMINIMIZED ウィンドウをアクティブにし、最小化して表示します。
- SW_SHOWMINNOACTIVE ウィンドウを最小化して表示します。現在アクティブなウィンドウはアクティブなまま表示します。
- SW_SHOWNA 現在の状態でウィンドウを表示します。現在アクティブなウィンドウはアクティブなまま表示します。
- SW_SHOWNOACTIVATE ウィンドウを直前のサイズと位置で表示します。現在アクティブなウィンドウはアクティブなまま表示します。
- SW_SHOWNORMAL ウィンドウをアクティブにし、表示します。ウィンドウが最小化または最大化されている場合は、Windows によって元のサイズと位置に戻されます。
|
- 戻り値
-
◆ SpecialCursor()
void SpecialCursor |
( |
HCURSOR |
h | ) |
|
|
inherited |
◆ WindowProc()
virtual LRESULT WindowProc |
( |
UINT |
message, |
|
|
WPARAM |
wParam, |
|
|
LPARAM |
lParam |
|
) |
| |
|
protectedvirtual |
◆ m_disableColors
◆ m_normalColors
◆ m_offset