TNB Library
TnbMfcRgnButtonTx.h
[詳解]
1#pragma once
13#include "TnbMfcRgnButton.h"
14
15
16
17//TNB Library
18namespace TNB {
19namespace MFC {
20
21
22
53{
54 DEFSUPER(CRgnButton);
55 typedef CDrawTextBase _text;
56public:
57
59 CRgnButtonTx(void) : _super(), m_textOffset(0, 0)
60 {
61 }
62
65 {
66 }
67
75 {
76 _super::operator=(other);
77 _text::operator=(other);
78 m_textOffset = other.m_textOffset;
79 return *this;
80 }
81
86 void SetTextPositionOffset(const POINT& pos)
87 {
88 m_textOffset = pos;
89 }
90
91#ifdef _TnbDOXYGEN //Document作成用シンボル
97 void SetWindowText(LPCTSTR lpszString);
98
105 void SetFont(CFont* pFont, BOOL bRedraw = TRUE);
106#endif
107
108protected:
109
116 void SetShortcutKey(TCHAR key)
117 {
118 }
119
127 virtual void OnDrawingButton(CPoint& _pos, CDC* pDC, bool boIsFirst)
128 {
129 if ( boIsFirst || m_strText.IsEmpty() )
130 {
131 return;
132 }
133 CFont* pOldFont = pDC->SelectObject(_super::GetFont());
134 CRect rect;
135 _super::GetClientRect(rect);
136 pDC->SetBkMode(TRANSPARENT); // バックカラーは変更なし
137 if ( _super::GetButtonState() == ES_Pushed )
138 {
139 rect.OffsetRect(_pos);
140 }
141 rect.OffsetRect(m_textOffset);
142 DWORD dt = DT_CENTER | DT_VCENTER;
143 _text::DrawTextEx(pDC, rect, dt, (_super::GetButtonState() != ES_Disable), m_strText);
144 pDC->SelectObject(pOldFont);
145 }
146
152 virtual void PreSubclassWindow(void)
153 {
154 _super::PreSubclassWindow();
155 _super::GetWindowText(m_strText);
156 }
157
167 virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
168 {
169 if ( message == WM_SETTEXT )
170 {
171 m_strText = reinterpret_cast<LPCTSTR>(lParam);
172 }
173 return _super::WindowProc(message, wParam, lParam);
174 }
175
176private:
177 CPoint m_textOffset;
178 CString m_strText;
179};
180
181
182
183}; //MFC
184}; //TNB
185
186
187
自由型ビットマップボタン関係のヘッダ
テキスト描画ベースクラス
Definition: TnbMfcCommon.h:560
void DrawTextEx(CDC *pDC, const RECT &rect, UINT drawStyle, bool boIsEnable, LPCTSTR str)
[表示] 文字表示.
Definition: TnbMfcCommon.h:610
テキスト付自由型ビットマップボタンコントロール
virtual void OnDrawingButton(CPoint &_pos, CDC *pDC, bool boIsFirst)
[通知] 描画中.
void SetShortcutKey(TCHAR key)
[設定] ショートカットキー設定.
~CRgnButtonTx(void)
デストラクタ
virtual void PreSubclassWindow(void)
[通知] subclassing/unsubclassing functions.
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
[通知] for processing Windows messages.
void SetTextPositionOffset(const POINT &pos)
[設定] 文字位置補正.
CRgnButtonTx & operator=(const CRgnButtonTx &other)
[複製] 情報複製.
void SetFont(CFont *pFont, BOOL bRedraw=TRUE)
[設定] フォント指定.
CRgnButtonTx(void)
コンストラクタ
自由型ビットマップボタンコントロール
TNB Library
Definition: TnbDoxyTitle.txt:2