TNB Library
|
フローレイアウトアイテムクラス. [詳解]
#include <TnbFlowLayout.h>
公開型 | |
enum | ELocation { DEFAULT , TOP , CENTER , BOTTOM , ADJUST , LEFT = TOP , RIGHT = BOTTOM } |
レイアウトアイテム配置方法. [詳解] | |
typedef CPointerHandleT< ILayout > | Ptr |
ポインタハンドル型宣言 [詳解] | |
公開メンバ関数 | |
CFlowLayout & | Add (const ILayout &layout, ELocation vloc=DEFAULT) |
[設定] アイテム追加. [詳解] | |
CFlowLayout (void) | |
コンストラクタ [詳解] | |
virtual ILayout * | Clone (void) const |
[作成] クローン作成. [詳解] | |
virtual void | Decide (int x, int y, WPARAM wParam, LPARAM lParam) |
[処理] 決定. [詳解] | |
int | GetMinimumHeight (size_t width) const |
[取得] 最小高さサイズ取得. [詳解] | |
virtual bool | GetMinimumSize (SIZE &_size) const |
[取得] 最小サイズ取得. [詳解] | |
virtual bool | GetSize (SIZE &_size) const |
[取得] サイズ取得. [詳解] | |
virtual bool | Resize (const SIZE &size) |
[設定] サイズ設定. [詳解] | |
void | SetGapSize (const SIZE &size) |
[設定] 各アイテム間のギャップ設定 [詳解] | |
void | SetGapSize (int size) |
[設定] 各アイテム間のギャップ設定 [詳解] | |
void | SetLineLocation (ELocation hloc=LEFT) |
[設定] 配置設定. [詳解] | |
void | SetMargnSize (const RECT &rc) |
[設定] 外周マージン設定 [詳解] | |
void | SetMargnSize (int mg) |
[設定] 外周マージン設定 [詳解] | |
限定公開メンバ関数 | |
void | AddChinkSize (SIZE &_size, size_t cx, size_t cy) const |
[加算] 隙間サイズ加算. [詳解] | |
void | AddMargnSize (SIZE &_size) const |
[加算] マージンサイズ加算. [詳解] | |
void | GetMargnSize (SIZE &_size) const |
[取得] マージンサイズ取得. [詳解] | |
void | HorizontalItemDecide (ILayout *pLayout, INT_PTR x, INT_PTR xx, INT_PTR width, ELocation loc, WPARAM wParam, LPARAM lParam) |
[設定] 水平方向アイテム決定. [詳解] | |
void | VerticalItemDecide (ILayout *pLayout, INT_PTR y, INT_PTR yy, INT_PTR height, ELocation loc, WPARAM wParam, LPARAM lParam) |
[設定] 垂直方向アイテム決定. [詳解] | |
限定公開変数類 | |
SIZE | m_gapSize |
各アイテム間のギャップ(縦、横) [詳解] | |
bool | m_isValidLayoutSize |
レイアウト全体サイズの設定の有効フラグ [詳解] | |
SIZE | m_layoutSize |
レイアウト全体サイズ(縦、横) [詳解] | |
RECT | m_margn |
外周のマージン [詳解] | |
フローレイアウトアイテムクラス.
レイアウトアイテムを左から右へ順に配置します。一列に配置しきれなくなったら、改行して配置します。 \code ┌−−−−−−−−−−−−−−−−┐ l┏━━┳━━━┳━━━━┳━━┓l l┃1 ┃ 2 ┃ 3 ┃4 ┃l l┣━━┻┳━━┻┳━━┳┻━━┛l l┃ 5 ┃6 ┃7 ┃ l l┣━━━┻━━━┻┳━┛ l l┃ 8 ┃ l l┗━━━━━━━━┛ l l l └−−−−−−−−−−−−−−−−┘ ┌−−−−−−−−−−−−−−−−−−−−┐ l┏━━┳━━━┳━━━━┳━━┳━━━┓l l┃1 ┃ 2 ┃ 3 ┃4 ┃ 5 ┃l l┣━━┻┳━━╋━━━━┻━━┻┳━━┛l l┃6 ┃7 ┃ 8 ┃ l l┗━━━┻━━┻━━━━━━━━┛ l l l l l l l └−−−−−−−−−−−−−−−−−−−−┘ ※各レイアウトアイテムの幅は固定です(登録時の大きさのまま)。 ※各レイアウトアイテムの高さはその列の一番高いものになります。 \endcode 各レイアウトアイテムはリサイズせずに使用するので、 Add() の前に、あらかじめ大きさを設定しておきます。
TnbFlowLayout.h の 74 行目に定義があります。
|
inherited |
ポインタハンドル型宣言
TnbLayout.h の 83 行目に定義があります。
|
inherited |
レイアウトアイテム配置方法.
列挙値 | |
---|---|
DEFAULT | 横方向は左寄せ、縦方向は中央 |
TOP | 上寄せ(縦方向用) |
CENTER | 中央 |
BOTTOM | 下寄せ(縦方向用) |
ADJUST | 調整(Resize出来ない場合中央) |
LEFT | 左寄せ(横方向用) |
RIGHT | 右寄せ(横方向用) |
TnbLayout.h の 203 行目に定義があります。
CFlowLayout | ( | void | ) |
コンストラクタ
TnbFlowLayout.h の 80 行目に定義があります。
CFlowLayout & Add | ( | const ILayout & | layout, |
ELocation | vloc = DEFAULT |
||
) |
[設定] アイテム追加.
layout | レイアウトアイテム. |
vloc | 垂直配置種. TOP , CENTER , BOTTOM のいずれかを指定できます。 |
TnbFlowLayout.h の 101 行目に定義があります。
|
protectedinherited |
[加算] 隙間サイズ加算.
[in,out] | _size | 隙間サイズ |
[in] | cx | 横のアイテム数 |
[in] | cy | 縦のアイテム数 |
TnbLayout.h の 438 行目に定義があります。
|
protectedinherited |
|
virtual |
[作成] クローン作成.
自分と同じ処理を行うクラスを作成します。
ILayoutを実装しています。
TnbFlowLayout.h の 112 行目に定義があります。
|
virtual |
[処理] 決定.
x | X座標。-1なら指定なし。 |
y | Y座標。-1なら指定なし。 |
wParam | W パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
lParam | L パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
ILayoutを実装しています。
TnbFlowLayout.h の 172 行目に定義があります。
|
protectedinherited |
int GetMinimumHeight | ( | size_t | width | ) | const |
[取得] 最小高さサイズ取得.
指定幅の場合の最小高さを得ることが出来ます。
width | 幅。 |
マイナス | エラー。 |
0以上 | 最小高さ。 |
TnbFlowLayout.h の 152 行目に定義があります。
|
virtual |
[取得] 最小サイズ取得.
最小のサイズを得ることが出来ます。
[out] | _size | サイズ取得。 |
true | サイズ取得成功。 |
false | データがない。 |
ILayoutを実装しています。
TnbFlowLayout.h の 127 行目に定義があります。
|
virtualinherited |
[取得] サイズ取得.
現在のサイズを得ることが出来ます。
[out] | _size | サイズ取得。 |
true | サイズ取得成功。 |
false | データがない。 |
ILayoutを実装しています。
TnbLayout.h の 276 行目に定義があります。
|
protectedinherited |
[設定] 水平方向アイテム決定.
pLayout | レイアウト |
x | X 位置。 Decide()の x を渡します。 |
xx | X 位置オフセット |
width | 幅 |
loc | 配置 |
wParam | W パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
lParam | L パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
TnbLayout.h の 338 行目に定義があります。
|
virtualinherited |
[設定] サイズ設定.
現在のサイズを変更することが出来ます。
size | サイズ。 |
true | サイズ変更成功。 |
false | 失敗。 |
ILayoutを実装しています。
TnbLayout.h の 297 行目に定義があります。
|
inherited |
|
inherited |
[設定] 配置設定.
列の配置を設定します。デフォルトでは LEFT になっています。
hloc | 配置。 CENTER , LEFT , RIGHT のいずれかを指定できます。 |
TnbFlowLayout.h の 90 行目に定義があります。
|
inherited |
|
inherited |
|
protectedinherited |
[設定] 垂直方向アイテム決定.
pLayout | レイアウト |
y | Y 位置。 Decide()の y を渡します。 |
yy | Y 位置オフセット |
height | 高さ |
loc | 配置 |
wParam | W パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
lParam | L パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
TnbLayout.h の 379 行目に定義があります。
|
protectedinherited |
各アイテム間のギャップ(縦、横)
TnbLayout.h の 326 行目に定義があります。
|
mutableprotectedinherited |
レイアウト全体サイズの設定の有効フラグ
TnbLayout.h の 323 行目に定義があります。
|
mutableprotectedinherited |
レイアウト全体サイズ(縦、横)
TnbLayout.h の 324 行目に定義があります。
|
protectedinherited |
外周のマージン
TnbLayout.h の 325 行目に定義があります。