TNB Library
クラス | 公開型 | 公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
CMultiFontTextDrawer クラス

マルチフォントテキスト描画クラス [詳解]

#include <TnbMultiFontTextDrawer.h>

+ CMultiFontTextDrawer の継承関係図

クラス

struct  TPart
 パート情報 [詳解]
 

公開型

typedef CPointerHandleT< IDrawablePtr
 ポインタハンドル型宣言 [詳解]
 

公開メンバ関数

INDEX Add (LPCTSTR str, HFONT font, COLORREF color)
 [追加] 情報追加. [詳解]
 
bool AdjustSize (HDC dc, int margin=1)
 [設定] サイズ調整. [詳解]
 
virtual IDrawableClone (void) const
 [作成] クローン作成. [詳解]
 
 CMultiFontTextDrawer (COLORREF backColor=CLR_INVALID, DWORD drawStyle=DT_CENTER|DT_VCENTER)
 コンストラクタ [詳解]
 
 CMultiFontTextDrawer (const SIZE &size, COLORREF backColor=CLR_INVALID, DWORD drawStyle=DT_CENTER|DT_VCENTER)
 コンストラクタ [詳解]
 
virtual void Draw (HDC dc, int x=0, int y=0) const
 [描画] 描画. [詳解]
 
virtual void DrawEx (HDC dc, int x, int y, LPARAM lParam) const
 [描画] 描画. [詳解]
 
virtual bool GetSize (SIZE &_size) const
 [取得] サイズ取得. [詳解]
 
virtual bool Resize (const SIZE &size)
 [設定] サイズ設定. [詳解]
 

限定公開メンバ関数

bool m_calc (HDC dc, DWORD style) const
 計算 [詳解]
 

限定公開変数類

CVectorT< POINT > m_aOffsets
 各PartのOFFSET [詳解]
 
CVectorT< TPartm_aParts
 情報 [詳解]
 
COLORREF m_backColor
 背景カラー [詳解]
 
bool m_boIsCalced
 計算済み [詳解]
 
DWORD m_drawStyle
 DrawTextスタイル [詳解]
 
SIZE m_partsSize
 全Partの大きさ [詳解]
 
SIZE m_size
 サイズ [詳解]
 

詳解

マルチフォントテキスト描画クラス

IDrawable インターフェースを持っています。

フォントと色と文字列をワンセットに、複数指定し、描画することが出来ます。
その際、ベースラインをそろえて表示します。
todo:
現在、改行(複数行)は未対応です。
必要ファイル
TnbMultiFontTextDrawer.h
日付
07/12/15 新規作成
08/03/23 コンストラクタを追加。

TnbMultiFontTextDrawer.h39 行目に定義があります。

型定義メンバ詳解

◆ Ptr

typedef CPointerHandleT<IDrawable> Ptr
inherited

ポインタハンドル型宣言

TnbDrawable.h89 行目に定義があります。

構築子と解体子

◆ CMultiFontTextDrawer() [1/2]

CMultiFontTextDrawer ( const SIZE &  size,
COLORREF  backColor = CLR_INVALID,
DWORD  drawStyle = DT_CENTER | DT_VCENTER 
)

コンストラクタ

引数
sizeサイズ
backColor背景色
drawStyleDrawTextスタイル指定。 省略すると 「DT_CENTER | DT_VCENTER」

TnbMultiFontTextDrawer.h134 行目に定義があります。

◆ CMultiFontTextDrawer() [2/2]

CMultiFontTextDrawer ( COLORREF  backColor = CLR_INVALID,
DWORD  drawStyle = DT_CENTER | DT_VCENTER 
)

コンストラクタ

覚え書き
サイズは 0, 0 になります。
引数
backColor背景色
drawStyleDrawTextスタイル指定。 省略すると 「DT_CENTER | DT_VCENTER」

TnbMultiFontTextDrawer.h145 行目に定義があります。

関数詳解

◆ Add()

INDEX Add ( LPCTSTR  str,
HFONT  font,
COLORREF  color 
)

[追加] 情報追加.

引数
str文字列。
font文字フォント。使用終わるまで破棄しないでください。
color文字色。
戻り値
IVALID_INDEXエラー。
0以上成功。値はインデックス。

TnbMultiFontTextDrawer.h209 行目に定義があります。

◆ AdjustSize()

bool AdjustSize ( HDC  dc,
int  margin = 1 
)

[設定] サイズ調整.

現在のサイズと文字列とDrawTextスタイルを使って、大きさを調整します。

引数
dcデバイスコンテキスト。計算に使用します。描画はしません。
marginマージン。必要なサイズに加えるサイズです。
戻り値
true成功。
false失敗。

TnbMultiFontTextDrawer.h229 行目に定義があります。

◆ Clone()

virtual IDrawable * Clone ( void  ) const
virtual

[作成] クローン作成.

自分と同じ処理を行うクラスを作成します。

戻り値
ポインタ。使用後は delete する必要があります。

CNullDrawerを再実装しています。

TnbMultiFontTextDrawer.h155 行目に定義があります。

◆ Draw()

virtual void Draw ( HDC  dc,
int  x = 0,
int  y = 0 
) const
virtual

[描画] 描画.

指定のデバイスコンテキストの指定の座標に描画します。

引数
dcデバイスコンテキスト
xX座標
yY座標

CNullDrawerを再実装しています。

TnbMultiFontTextDrawer.h169 行目に定義があります。

◆ DrawEx()

virtual void DrawEx ( HDC  dc,
int  x,
int  y,
LPARAM  lParam 
) const
virtualinherited

[描画] 描画.

指定のデバイスコンテキストの指定の座標に描画します。

引数
dcデバイスコンテキスト
xX座標
yY座標
lParamLPARAM。

CBankDrawer, CPairDrawer, COffsetDrawer, CDrawingContainer, CWindowCaptionDrawerで再実装されています。

TnbDrawable.h83 行目に定義があります。

◆ GetSize()

virtual bool GetSize ( SIZE &  _size) const
virtualinherited

[取得] サイズ取得.

本オブジェクトの描画する領域の外接する四角のサイズを得ることが出来ます。

引数
[out]_sizeサイズ取得。
戻り値
trueサイズ取得成功。
falseデータがない。

IDrawableを実装しています。

TnbDrawable.h147 行目に定義があります。

◆ m_calc()

bool m_calc ( HDC  dc,
DWORD  style 
) const
protected

計算

TnbMultiFontTextDrawer.h58 行目に定義があります。

◆ Resize()

virtual bool Resize ( const SIZE &  size)
virtualinherited

[設定] サイズ設定.

本オブジェクトの描画する領域の外接する四角のサイズを設定することが出来ます。

引数
sizeサイズ。
戻り値
trueサイズ変更成功。
false失敗。サイズ変更はサポートしません。

IDrawableを実装しています。

TnbDrawable.h160 行目に定義があります。

メンバ詳解

◆ m_aOffsets

CVectorT<POINT> m_aOffsets
mutableprotected

各PartのOFFSET

TnbMultiFontTextDrawer.h55 行目に定義があります。

◆ m_aParts

CVectorT<TPart> m_aParts
protected

情報

TnbMultiFontTextDrawer.h50 行目に定義があります。

◆ m_backColor

COLORREF m_backColor
protected

背景カラー

TnbMultiFontTextDrawer.h51 行目に定義があります。

◆ m_boIsCalced

bool m_boIsCalced
mutableprotected

計算済み

TnbMultiFontTextDrawer.h54 行目に定義があります。

◆ m_drawStyle

DWORD m_drawStyle
protected

DrawTextスタイル

TnbMultiFontTextDrawer.h52 行目に定義があります。

◆ m_partsSize

SIZE m_partsSize
mutableprotected

全Partの大きさ

TnbMultiFontTextDrawer.h56 行目に定義があります。

◆ m_size

SIZE m_size
protectedinherited

サイズ

TnbDrawable.h109 行目に定義があります。