|
TNB Library
|
描画コンテナクラス [詳解]
#include <TnbDrawingContainer.h>
CDrawingContainer の継承関係図公開型 | |
| enum | EDirection { DOWN , RIGHT , RETURN , VRETURN , STAY } |
| 方向値 [詳解] | |
| enum | ELocation { RIGHTTOP , RIGHTCENTER , RIGHTBOTTOM , DOWNLEFT , DOWNCENTER , DOWNRIGHT , CENTER } |
| 位置指定値 [詳解] | |
| typedef CPointerHandleT< IDrawable > | Ptr |
| ポインタハンドル型宣言 [詳解] | |
公開メンバ関数 | |
| INDEX | Add (const IDrawable &draw, EDirection dire=DOWN) |
| [追加] 描画情報追加. [詳解] | |
| INDEX | Add (INDEX index, ELocation locate, const IDrawable &draw, EDirection dire=DOWN) |
| [追加] 描画情報追加. [詳解] | |
| INDEX | AddBitmap (CBitmapHandle bmp, EDirection dire=DOWN) |
| [追加] ビットマップ描画情報追加. [詳解] | |
| INDEX | AddBitmap (INDEX index, ELocation locate, CBitmapHandle bmp, EDirection dire=DOWN) |
| [追加] ビットマップ描画情報追加. [詳解] | |
| INDEX | AddNewPointer (IDrawable *pDraw, EDirection dire=DOWN) |
| [追加] 描画情報追加. [詳解] | |
| INDEX | AddNewPointer (INDEX index, ELocation locate, IDrawable *pDraw, EDirection dire=DOWN) |
| [追加] 描画情報追加. [詳解] | |
| int | AppendBitmaps (LPCTSTR lpszPath, INDEX maxIndex, EDirection dire=DOWN) |
| [追加] 一括ビットマップファイル読込み. [詳解] | |
| const IDrawable * | At (INDEX index) const |
| [参照] 指定INDEXの参照. [詳解] | |
| CDrawingContainer (void) | |
| コンストラクタ [詳解] | |
| virtual IDrawable * | Clone (void) const |
| [作成] クローン作成. [詳解] | |
| CBitmapHandle | CreateBitmap (COLORREF color=CLR_INVALID) const |
| [作成] ビットマップ作成. [詳解] | |
| void | DefaultSize (void) |
| [設定] サイズリセット. [詳解] | |
| virtual void | Draw (HDC dc, int x=0, int y=0) const |
| [描画] 描画. [詳解] | |
| void | DrawAt (INDEX index, HDC dc, int x=0, int y=0) const |
| [描画] 描画. [詳解] | |
| virtual void | DrawEx (HDC dc, int x, int y, LPARAM lParam) const |
| [描画] 描画. [詳解] | |
| bool | GetAllRect (RECT &_rect) const |
| [取得] 矩形範囲取得. [詳解] | |
| HRGN | GetAllRgn (void) const |
| [取得] 領域範囲取得. [詳解] | |
| const POINT & | GetAppendPosition (void) const |
| [取得] 追加相対座標取得. [詳解] | |
| bool | GetAtRect (INDEX index, RECT &_rect) const |
| [取得] ビットマップ取得. [詳解] | |
| size_t | GetCount (void) const |
| [取得] 格納数取得. [詳解] | |
| virtual bool | GetSize (SIZE &_size) const |
| [取得] サイズ取得. [詳解] | |
| bool | MoveAppendPosition (INDEX index, EDirection dire=DOWN, int x=0, int y=0) |
| [移動] 追加相対座標設定. [詳解] | |
| void | OffsetAppendPosition (int x, int y) |
| [操作] 追加相対座標移動. [詳解] | |
| void | RemoveAll (void) |
| [削除] すべて削除. [詳解] | |
| bool | RemoveAt (INDEX index) |
| [削除] 指定INDEXの削除. [詳解] | |
| virtual bool | Resize (const SIZE &size) |
| [設定] サイズ設定. [詳解] | |
| void | SetAppendPosition (int x, int y) |
| [操作] 追加相対座標設定. [詳解] | |
| virtual | ~CDrawingContainer (void) |
| デストラクタ [詳解] | |
描画コンテナクラス
{@link IDrawable 描画情報}と座標を対に複数保持するクラスです。
INDEX で{@link IDrawable 描画情報}を管理することが可能です。
管理している{@link IDrawable 描画情報}を、まとめて、デバイスコンテキストに描画することが可能です。
//= 宣言
CDrawingContainer m_bmpc; // コンテナ作成
//= 設定
m_bmpc.AddBitmap("c:\\BMP\\BackTop1.bmp", bc.RIGHT); //BackTop1.bmp登録後、Offsetを真右に。
m_bmpc.AddBitmap("c:\\BMP\\BackTop2.bmp", bc.RETURN); //BackTop2.bmp登録後、Offsetを下の左へ。
m_bmpc.AddBitmap("c:\\BMP\\Back.bmp", bc.DOWN); //Back.bmp登録後、Offsetを真下へ。
m_bmpc.AddBitmap("c:\\BMP\\BackBottom.bmp"); //BackBottom.bmp登録。
//= 表示 (デバイスコンテキストに表示 )
void CXXX::OnPaint() {
CPaintDC dc(this);
m_bmpc.Draw(dc);
}
|
TnbDrawingContainer.h の 68 行目に定義があります。
|
inherited |
ポインタハンドル型宣言
TnbDrawable.h の 89 行目に定義があります。
| enum EDirection |
方向値
| 列挙値 | |
|---|---|
| DOWN | 下へ移動 |
| RIGHT | 右へ移動 |
| RETURN | 下へ移動して一番左へ |
| VRETURN | 右へ移動して一番上へ |
| STAY | 移動なし |
TnbDrawingContainer.h の 418 行目に定義があります。
| enum ELocation |
位置指定値
| 列挙値 | |
|---|---|
| RIGHTTOP | 上あわせで、右に追加。 |
| RIGHTCENTER | 中央あわせで、右に追加。 |
| RIGHTBOTTOM | 下あわせで、右に追加。 |
| DOWNLEFT | 左あわせで、下に追加。 |
| DOWNCENTER | 中央あわせで、下に追加。 |
| DOWNRIGHT | 右あわせで、下に追加。 |
| CENTER | 中央に追加。 |
TnbDrawingContainer.h の 457 行目に定義があります。
| CDrawingContainer | ( | void | ) |
コンストラクタ
TnbDrawingContainer.h の 74 行目に定義があります。
|
virtual |
デストラクタ
TnbDrawingContainer.h の 81 行目に定義があります。
| INDEX Add | ( | const IDrawable & | draw, |
| EDirection | dire = DOWN |
||
| ) |
[追加] 描画情報追加.
追加相対座標に指定の描画情報を関連づけて記憶します。
| draw | 描画情報. 本オブジェクトにはクローンが記憶されるので、 draw は破棄してもかまいません。 |
| dire | 移動方向. |
| INVALID_INDEX | 失敗。 |
| INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 527 行目に定義があります。
| INDEX Add | ( | INDEX | index, |
| ELocation | locate, | ||
| const IDrawable & | draw, | ||
| EDirection | dire = DOWN |
||
| ) |
[追加] 描画情報追加.
指定の座標に指定の描画情報を関連づけて記憶します。
| index | インデックス. |
| locate | 位置 |
| draw | 描画情報. 本オブジェクトにはクローンが記憶されるので、 draw は破棄してもかまいません。 |
| dire | 移動方向. |
| INVALID_INDEX | 失敗。 |
| INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 545 行目に定義があります。
| INDEX AddBitmap | ( | CBitmapHandle | bmp, |
| EDirection | dire = DOWN |
||
| ) |
[追加] ビットマップ描画情報追加.
追加相対座標に指定の描画情報を関連づけて記憶します。
| bmp | ビットマップ。 |
| dire | 移動方向. |
| INVALID_INDEX | 失敗。 |
| INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 559 行目に定義があります。
| INDEX AddBitmap | ( | INDEX | index, |
| ELocation | locate, | ||
| CBitmapHandle | bmp, | ||
| EDirection | dire = DOWN |
||
| ) |
[追加] ビットマップ描画情報追加.
指定座標に指定の描画情報を関連づけて記憶します。
| index | インデックス. |
| locate | 位置 |
| bmp | ビットマップ。 |
| dire | 移動方向. |
| INVALID_INDEX | 失敗。 |
| INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 577 行目に定義があります。
| INDEX AddNewPointer | ( | IDrawable * | pDraw, |
| EDirection | dire = DOWN |
||
| ) |
[追加] 描画情報追加.
追加相対座標に指定の描画情報を関連づけて記憶します。
| pDraw | 描画情報. 必ず、 new で作成したインスタンスを渡してください。 破棄は本オブジェクトが行います(本メソッドが失敗した時は即破棄します)。 |
| dire | 移動方向. |
| INVALID_INDEX | 失敗。 |
| INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 480 行目に定義があります。
| INDEX AddNewPointer | ( | INDEX | index, |
| ELocation | locate, | ||
| IDrawable * | pDraw, | ||
| EDirection | dire = DOWN |
||
| ) |
[追加] 描画情報追加.
指定の座標に指定の描画情報を関連づけて記憶します。
| index | インデックス. |
| locate | 位置 |
| pDraw | 描画情報. 必ず、 new で作成したインスタンスを渡してください。 破棄は本オブジェクトが行います(本メソッドが失敗した時は即破棄します)。 |
| dire | 移動方向. |
| INVALID_INDEX | 失敗。 |
| INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 512 行目に定義があります。
| int AppendBitmaps | ( | LPCTSTR | lpszPath, |
| INDEX | maxIndex, | ||
| EDirection | dire = DOWN |
||
| ) |
[追加] 一括ビットマップファイル読込み.
指定ファイル名に関するビットマップファイルを読み込みます。
CBitmapContainer m_bmpc; // コンテナ作成
m_bmpc.AppendBitmaps("c:\\BMP\\Back%03d*.bmp", 10, bc.DOWN);
|
| lpszPath | パス名。ファイル名の数字になるところに、 %d を埋めておきます。 |
| maxIndex | インデックスの最大値。 5 であれば、 0〜5 の6個検索します。 |
| dire | 移動方向. |
| マイナス | エラー。 |
| 0 | 一つもなかった |
| 1以上 | 読み込んだ数。INDEXの最大値は GetCount() で確認してください。 |
TnbDrawingContainer.h の 608 行目に定義があります。
| const IDrawable * At | ( | INDEX | index | ) | const |
[参照] 指定INDEXの参照.
| index | インデックス. |
| NULL | エラー。インデックス指定が異常。 |
| 描画情報。 |
TnbDrawingContainer.h の 250 行目に定義があります。
|
virtual |
[作成] クローン作成.
自分と同じ処理を行うクラスを作成します。
IDrawableを実装しています。
TnbDrawingContainer.h の 91 行目に定義があります。
| CBitmapHandle CreateBitmap | ( | COLORREF | color = CLR_INVALID | ) | const |
[作成] ビットマップ作成.
本オブジェクトで管理している描画情報から、ビットマップを作成し返します。
| color | 背景色を指定します。省略すると不定(塗りつぶししない) になります。 全エリア描画する描画情報の場合、背景色を指定する必要はありません。 |
TnbDrawingContainer.h の 181 行目に定義があります。
| void DefaultSize | ( | void | ) |
|
virtual |
[描画] 描画.
指定のデバイスコンテキストの指定の座標に描画します。
| dc | デバイスコンテキスト |
| x | X座標 |
| y | Y座標 |
IDrawableを実装しています。
TnbDrawingContainer.h の 193 行目に定義があります。
| void DrawAt | ( | INDEX | index, |
| HDC | dc, | ||
| int | x = 0, |
||
| int | y = 0 |
||
| ) | const |
[描画] 描画.
指定INDEXに登録されている描画情報を指定のデバイスコンテキストの指定の座標に描画します。
| [in] | index | インデックス。 |
| dc | デバイスコンテキスト | |
| x | X座標 | |
| y | Y座標 |
TnbDrawingContainer.h の 374 行目に定義があります。
|
virtual |
[描画] 描画.
指定のデバイスコンテキストの指定の座標に描画します。
| dc | デバイスコンテキスト |
| x | X座標 |
| y | Y座標 |
| lParam | LPARAM。管理している描画情報に渡します。 |
IDrawableを再実装しています。
TnbDrawingContainer.h の 206 行目に定義があります。
| bool GetAllRect | ( | RECT & | _rect | ) | const |
[取得] 矩形範囲取得.
登録されている描画情報の描画範囲がわかります。
| [out] | _rect | 矩形範囲。 |
| true | 成功。 |
| false | 失敗。 |
TnbDrawingContainer.h の 330 行目に定義があります。
| HRGN GetAllRgn | ( | void | ) | const |
[取得] 領域範囲取得.
登録されている描画情報の描画領域がわかります。
| NULL | 失敗。 |
| NULL以外 | リージョン。使用後は、破棄する必要があります。 |
TnbDrawingContainer.h の 349 行目に定義があります。
| const POINT & GetAppendPosition | ( | void | ) | const |
| bool GetAtRect | ( | INDEX | index, |
| RECT & | _rect | ||
| ) | const |
[取得] ビットマップ取得.
指定INDEXに登録されている描画情報のビットマップを取得することが出来ます。
| index | インデックス。 |
| [in] | index | インデックス。 |
| [out] | _rect | 矩形範囲。 |
| true | 成功。 |
| false | 失敗。インデックス指定が異常。 |
TnbDrawingContainer.h の 306 行目に定義があります。
| size_t GetCount | ( | void | ) | const |
|
virtual |
[取得] サイズ取得.
本オブジェクトの描画する領域の外接する四角のサイズを得ることが出来ます。
| [out] | _size | サイズ取得。 |
| true | サイズ取得成功。 |
| false | データがない。 |
IDrawableを実装しています。
TnbDrawingContainer.h の 113 行目に定義があります。
| bool MoveAppendPosition | ( | INDEX | index, |
| EDirection | dire = DOWN, |
||
| int | x = 0, |
||
| int | y = 0 |
||
| ) |
[移動] 追加相対座標設定.
次に追加する描画情報の相対座標を設定することが可能です。
| index | インデックス. |
| dire | 移動方向. |
| x | X方向のOFFSET値。 |
| y | Y方向のOFFSET値。 |
| true | 成功。 |
| false | 失敗。 |
TnbDrawingContainer.h の 439 行目に定義があります。
| void OffsetAppendPosition | ( | int | x, |
| int | y | ||
| ) |
[操作] 追加相対座標移動.
次に追加する描画情報の相対座標をずらすことが可能です。
| x | X方向のOFFSET値。 |
| y | Y方向のOFFSET値。 |
TnbDrawingContainer.h の 399 行目に定義があります。
| void RemoveAll | ( | void | ) |
| bool RemoveAt | ( | INDEX | index | ) |
[削除] 指定INDEXの削除.
| index | インデックス. |
| true | 成功。 |
| false | 失敗。インデックス指定が異常。 |
TnbDrawingContainer.h の 265 行目に定義があります。
|
virtual |
[設定] サイズ設定.
本オブジェクトの描画する領域の外接する四角のサイズを設定することが出来ます。
| size | サイズ。 |
| true | サイズ変更成功。 |
| false | 失敗。(本クラスでは失敗はありません) |
IDrawableを実装しています。
TnbDrawingContainer.h の 134 行目に定義があります。
| void SetAppendPosition | ( | int | x, |
| int | y | ||
| ) |
[操作] 追加相対座標設定.
次に追加する描画情報の相対座標を設定することが可能です。
| x | X方向の位置。 |
| y | Y方向の位置。 |
TnbDrawingContainer.h の 411 行目に定義があります。