TNB Library
|
テキスト描画クラス [詳解]
#include <TnbTextDrawer.h>
公開型 | |
typedef CPointerHandleT< IDrawable > | Ptr |
ポインタハンドル型宣言 [詳解] | |
公開メンバ関数 | |
bool | AdjustSize (int margin=1, HWND hWnd=NULL) |
[設定] サイズ調整. [詳解] | |
virtual IDrawable * | Clone (void) const |
[作成] クローン作成. [詳解] | |
CTextDrawer (const SIZE &size, HFONT font, COLORREF textColor, LPCTSTR str, DWORD drawStyle=DT_CENTER|DT_VCENTER, int margin=0) | |
コンストラクタ [詳解] | |
CTextDrawer (HFONT font, COLORREF textColor, LPCTSTR str, DWORD drawStyle=DT_CENTER|DT_VCENTER, int margin=0) | |
コンストラクタ [詳解] | |
virtual void | Draw (HDC dc, int x=0, int y=0) const |
[描画] 描画. [詳解] | |
virtual void | DrawEx (HDC dc, int x, int y, LPARAM lParam) const |
[描画] 描画. [詳解] | |
DWORD | GetDrawStyle (void) const |
[取得] スタイル取得. [詳解] | |
virtual bool | GetSize (SIZE &_size) const |
[取得] サイズ取得. [詳解] | |
LPCTSTR | GetString (void) const |
[取得] 文字列取得. [詳解] | |
COLORREF | GetTextColor (void) const |
[取得] 文字色取得. [詳解] | |
virtual bool | Resize (const SIZE &size) |
[設定] サイズ設定. [詳解] | |
void | SetDrawStyle (DWORD drawStyle=DT_CENTER|DT_VCENTER) |
[設定] スタイル設定. [詳解] | |
void | SetString (LPCTSTR str) |
[設定] 文字列設定. [詳解] | |
void | SetTextColor (COLORREF color) |
[設定] 文字色設定. [詳解] | |
静的公開メンバ関数 | |
static DWORD | ButtonToDrawStyle (DWORD buttonStyle) |
[変換] ButtonスタイルをDrawTextスタイルに変換 [詳解] | |
static bool | CalcTextRect (RECT &_rect, HDC dc, DWORD drawStyle, LPCTSTR str) |
[計算] 文字表示範囲計算. [詳解] | |
static bool | CalcTextSize (SIZE &_size, HDC dc, UINT drawStyle, LPCTSTR str) |
[計算] 文字表示大きさ計算. [詳解] | |
static bool | DrawTextRect (HDC dc, const RECT &rect, DWORD drawStyle, COLORREF color, LPCTSTR str) |
[表示] 範囲文字表示. [詳解] | |
static bool | DrawTextRect (HDC dc, const RECT &rect, DWORD drawStyle, const POINT &offset, COLORREF color1, COLORREF color2, LPCTSTR str) |
[表示] 範囲文字表示. [詳解] | |
static bool | DrawTextRect (RECT &_rect, HDC dc, DWORD drawStyle, COLORREF color, LPCTSTR str) |
[表示] 範囲文字表示. [詳解] | |
static bool | DrawTextRect (RECT &_rect, HDC dc, DWORD drawStyle, const POINT &offset, COLORREF color1, COLORREF color2, LPCTSTR str) |
[表示] 範囲文字表示. [詳解] | |
static bool | ModifyText (CSimpleStr &_str, const SIZE &size, HDC dc, LPCTSTR lpsz, UINT drawStyle=DT_END_ELLIPSIS|DT_NOPREFIX) |
[計算] 文字列編集. [詳解] | |
static bool | ModifyText (CSimpleStr &_str, HWND hWnd, LPCTSTR lpsz, UINT drawStyle=DT_END_ELLIPSIS|DT_NOPREFIX) |
[計算] 文字列編集. [詳解] | |
static DWORD | StaticToDrawStyle (DWORD staticStyle) |
[変換] StaticスタイルをDrawTextスタイルに変換 [詳解] | |
限定公開変数類 | |
DWORD | m_drawStyle |
DrawTextスタイル [詳解] | |
HFONT | m_font |
フォント [詳解] | |
int | m_margin |
左マージン [詳解] | |
SIZE | m_size |
サイズ [詳解] | |
CSimpleStr | m_str |
文字列 [詳解] | |
COLORREF | m_textColor |
テキストカラー [詳解] | |
テキスト描画クラス
IDrawable インターフェースを持っています。 コンストラクタ時に指定されたテキストを描画します。
TnbTextDrawer.h の 51 行目に定義があります。
|
inherited |
ポインタハンドル型宣言
TnbDrawable.h の 89 行目に定義があります。
CTextDrawer | ( | const SIZE & | size, |
HFONT | font, | ||
COLORREF | textColor, | ||
LPCTSTR | str, | ||
DWORD | drawStyle = DT_CENTER | DT_VCENTER , |
||
int | margin = 0 |
||
) |
コンストラクタ
size | サイズ |
font | フォント |
textColor | カラー |
str | 文字列 |
drawStyle | DrawTextスタイル指定。 省略すると 「DT_CENTER | DT_VCENTER」 |
margin | 左のマージ。省略すると0になります。 |
TnbTextDrawer.h の 65 行目に定義があります。
CTextDrawer | ( | HFONT | font, |
COLORREF | textColor, | ||
LPCTSTR | str, | ||
DWORD | drawStyle = DT_CENTER | DT_VCENTER , |
||
int | margin = 0 |
||
) |
コンストラクタ
font | フォント |
textColor | カラー |
str | 文字列 |
drawStyle | DrawTextスタイル指定。 省略すると 「DT_CENTER | DT_VCENTER」 |
margin | 左のマージ。省略すると0になります。 |
TnbTextDrawer.h の 79 行目に定義があります。
bool AdjustSize | ( | int | margin = 1 , |
HWND | hWnd = NULL |
||
) |
[設定] サイズ調整.
現在のサイズと文字列とDrawTextスタイルを使って、大きさを調整します。
margin | マージン。必要なサイズに加えるサイズです。 |
hWnd | DCを取得するハンドルを指定します。省略可能。 |
true | 成功。 |
false | 失敗。 |
TnbTextDrawer.h の 186 行目に定義があります。
|
static |
[変換] ButtonスタイルをDrawTextスタイルに変換
buttonStyle | Buttonスタイル |
TnbTextDrawer.h の 261 行目に定義があります。
|
static |
[計算] 文字表示範囲計算.
[in,out] | _rect | 表示範囲。戻りで、表示した範囲が設定されます。 |
[in] | dc | デバイスコンテキスト |
[in] | drawStyle | DrawTextスタイル |
[in] | str | 表示文字 |
true | 成功。 |
false | 失敗。 |
TnbTextDrawer.h の 325 行目に定義があります。
|
static |
[計算] 文字表示大きさ計算.
[in,out] | _size | 表示サイズ。スタイルに複数行が含まれている場合、関数コール時、幅は設定しておいてください。 戻りで bottom が設定されます。 |
[in] | dc | デバイスコンテキスト |
[in] | drawStyle | DrawTextスタイル |
[in] | str | 表示文字 |
true | 成功。 |
false | 失敗。 |
TnbTextDrawer.h の 307 行目に定義があります。
|
virtual |
[作成] クローン作成.
自分と同じ処理を行うクラスを作成します。
CNullDrawerを再実装しています。
CTextBkDrawerで再実装されています。
TnbTextDrawer.h の 90 行目に定義があります。
|
virtual |
[描画] 描画.
指定のデバイスコンテキストの指定の座標に描画します。
dc | デバイスコンテキスト |
x | X座標 |
y | Y座標 |
CNullDrawerを再実装しています。
CTextBkDrawerで再実装されています。
TnbTextDrawer.h の 102 行目に定義があります。
|
virtualinherited |
[描画] 描画.
指定のデバイスコンテキストの指定の座標に描画します。
dc | デバイスコンテキスト |
x | X座標 |
y | Y座標 |
lParam | LPARAM。 |
CBankDrawer, CPairDrawer, COffsetDrawer, CDrawingContainer, CWindowCaptionDrawerで再実装されています。
TnbDrawable.h の 83 行目に定義があります。
|
static |
[表示] 範囲文字表示.
[in] | dc | デバイスコンテキスト |
[in] | rect | 表示範囲。 |
[in] | drawStyle | DrawTextスタイル |
[in] | color | 文字色1を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。 CLR_AUTOSELECT を指定すると、現在のテキストカラーを使います。 |
[in] | str | 表示文字 |
true | 成功。 |
false | 失敗。 |
TnbTextDrawer.h の 457 行目に定義があります。
|
static |
[表示] 範囲文字表示.
[in] | dc | デバイスコンテキスト |
[in] | rect | 表示範囲。 |
[in] | drawStyle | DrawTextスタイル |
[in] | offset | 文字1と文字2のずれ |
[in] | color1 | 文字色1を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。 CLR_AUTOSELECT を指定すると、現在のテキストカラーを使います。 |
[in] | color2 | 文字色2を指定します。 |
[in] | str | 表示文字 |
true | 成功。 |
false | 失敗。 |
TnbTextDrawer.h の 423 行目に定義があります。
|
static |
[表示] 範囲文字表示.
[in,out] | _rect | 表示範囲。戻りで、表示した範囲が設定されます。 |
[in] | dc | デバイスコンテキスト |
[in] | drawStyle | DrawTextスタイル |
[in] | color | 文字色1を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。 CLR_AUTOSELECT を指定すると、現在のテキストカラーを使います。 |
[in] | str | 表示文字 |
true | 成功。 |
false | 失敗。 |
TnbTextDrawer.h の 440 行目に定義があります。
|
static |
[表示] 範囲文字表示.
[in,out] | _rect | 表示範囲。戻りで、表示した範囲が設定されます。 |
[in] | dc | デバイスコンテキスト |
[in] | drawStyle | DrawTextスタイル |
[in] | offset | 文字1と文字2のずれ |
[in] | color1 | 文字色1を指定します。 CLR_INVALID を指定すると、 堀のあるグレーの文字になります。 CLR_AUTOSELECT を指定すると、現在のテキストカラーを使います。 |
[in] | color2 | 文字色2を指定します。 |
[in] | str | 表示文字 |
true | 成功。 |
false | 失敗。 |
TnbTextDrawer.h の 366 行目に定義があります。
DWORD GetDrawStyle | ( | void | ) | const |
|
virtualinherited |
[取得] サイズ取得.
本オブジェクトの描画する領域の外接する四角のサイズを得ることが出来ます。
[out] | _size | サイズ取得。 |
true | サイズ取得成功。 |
false | データがない。 |
IDrawableを実装しています。
TnbDrawable.h の 147 行目に定義があります。
LPCTSTR GetString | ( | void | ) | const |
COLORREF GetTextColor | ( | void | ) | const |
|
static |
[計算] 文字列編集.
表示幅に収まるように、文字列を編集します。
[out] | _str | 編集結果が格納される。 |
[in] | size | 表示サイズ。 |
[in] | dc | デバイスコンテキスト。 |
[in] | lpsz | 表示文字列。 |
[in] | drawStyle | DrawTextスタイル。通常、 DT_END_ELLIPSIS か DT_PATH_ELLIPSIS を指定します。省略すると、 DT_END_ELLIPSIS | DT_NOPREFIX です。 |
true | 成功。 |
false | 失敗。 |
TnbTextDrawer.h の 477 行目に定義があります。
|
static |
[計算] 文字列編集.
表示幅に収まるように、文字列を編集します。
[out] | _str | 編集結果が格納される。 |
[in] | hWnd | ウィンドウハンドル。ここから、サイズとフォントを得ます。 |
[in] | lpsz | 表示文字列。 |
[in] | drawStyle | DrawTextスタイル。通常、 DT_END_ELLIPSIS か DT_PATH_ELLIPSIS を指定します。省略すると、 DT_END_ELLIPSIS | DT_NOPREFIX です。 |
true | 成功。 |
false | 失敗。 |
TnbTextDrawer.h の 501 行目に定義があります。
|
virtualinherited |
[設定] サイズ設定.
本オブジェクトの描画する領域の外接する四角のサイズを設定することが出来ます。
size | サイズ。 |
true | サイズ変更成功。 |
false | 失敗。サイズ変更はサポートしません。 |
IDrawableを実装しています。
TnbDrawable.h の 160 行目に定義があります。
void SetDrawStyle | ( | DWORD | drawStyle = DT_CENTER | DT_VCENTER | ) |
[設定] スタイル設定.
drawStyle | DrawTextスタイル指定。 省略すると 「DT_CENTER | DT_VCENTER」 |
TnbTextDrawer.h の 164 行目に定義があります。
void SetString | ( | LPCTSTR | str | ) |
void SetTextColor | ( | COLORREF | color | ) |
|
static |
[変換] StaticスタイルをDrawTextスタイルに変換
staticStyle | Staticスタイル |
TnbTextDrawer.h の 217 行目に定義があります。
|
protected |
DrawTextスタイル
TnbTextDrawer.h の 529 行目に定義があります。
|
protected |
フォント
TnbTextDrawer.h の 526 行目に定義があります。
|
protected |
左マージン
TnbTextDrawer.h の 530 行目に定義があります。
|
protectedinherited |
サイズ
TnbDrawable.h の 109 行目に定義があります。
|
protected |
文字列
TnbTextDrawer.h の 528 行目に定義があります。
|
protected |
テキストカラー
TnbTextDrawer.h の 527 行目に定義があります。