|
TNB Library
|
ボックスレイアウトアイテムクラス. [詳解]
#include <TnbBoxLayout.h>
CBoxLayout の継承関係図公開型 | |
| enum | ELocation { DEFAULT , TOP , CENTER , BOTTOM , ADJUST , LEFT = TOP , RIGHT = BOTTOM } |
| レイアウトアイテム配置方法. [詳解] | |
| typedef CPointerHandleT< ILayout > | Ptr |
| ポインタハンドル型宣言 [詳解] | |
公開メンバ関数 | |
| CBoxLayout & | Add (const ILayout &layout, ELocation hloc=DEFAULT, ELocation vloc=DEFAULT) |
| [設定] アイテム追加. [詳解] | |
| CBoxLayout (bool isHorizental=true, bool isLastFilling=true) | |
| コンストラクタ [詳解] | |
| virtual ILayout * | Clone (void) const |
| [作成] クローン作成. [詳解] | |
| virtual void | Decide (int x, int y, WPARAM wParam, LPARAM lParam) |
| [処理] 決定. [詳解] | |
| 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 | SetHorizentalMode (bool isHorizental) |
| [設定] 並び向き設定 [詳解] | |
| void | SetLastFilling (bool isLastFilling) |
| [設定] 調整モード設定 [詳解] | |
| 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 │ │ │ ・・・・・・・n│l l│ │ │3 │4 │5 │l l┗━━┻━━┻━━┻━━┻━━┻━━━┻──┛l └−−−−−−−−−−−−−−−−−−−−−−−┘ ※各レイアウトアイテムの幅は固定です(登録時の大きさのまま)。 最後(右端)のレイアウトアイテムの幅は、オプションで、全体の幅にして可変できます。 ※各レイアウトアイテムの高さは、全体の高さに追従して可変します。 \endcode or \code ┌−−−−−┐ l┏───┓l l┃1 ┃l l┣───┫l l┃ 2 ┃l l┣───┫l l┃3 ┃l l┣───┫l l┃4 ┃l l┣───┫l l┃ 5 ┃l l┣ : ┫l l┃ : ┃l l┣ : ┫l l│ n │l l┗───┛l └−−−−−┘ ※各レイアウトアイテムの高さは固定です(登録時の大きさのまま)。 最後(下端)のレイアウトアイテムの高さは、オプションで、全体の高さにして可変できます。 ※各レイアウトアイテムの幅は、全体の幅に追従して可変します。 \endcode
// 設定
CStatic m_txtFirst;
CStatic m_txtSecond;
CEdit m_editFirst;
CEdit m_editSecond;
:
BOOL CFoo::OnInitDialog()
{
;
//-- 水平方向のパーツ二つ
MFCLIB::ChangeClientSize(&m_txtFirst, 100, -1); //TXTの幅を同じにしておく
MFCLIB::ChangeClientSize(&m_txtSecond, 100, -1);
CBoxLayout lay1(true);
lay1.Add(Li(&m_txtFirst)).Add(Li(&m_editFirst), lay.ADJUST);
CBoxLayout lay2(true);
lay2.Add(Li(&m_txtSecond)).Add(Li(&m_editSecond), lay.ADJUST);
//-- 垂直方向に組み合わせる
CBoxLayout lay(false, false);
//-- ウィンドウ枠から 2 dot 隙間を指定
lay.SetMargnSize(CSize(2, 2));
// 各アイテムの間は、横 5, 縦 10 空くように指定
lay.SetGapSize(CSize(5, 10));
lay.Add(lay1, lay.ADJUST, lay.ADJUST).Add(lay2, lay.ADJUST, lay.ADJUST);
;
}
|
TnbBoxLayout.h の 101 行目に定義があります。
|
inherited |
ポインタハンドル型宣言
TnbLayout.h の 83 行目に定義があります。
|
inherited |
レイアウトアイテム配置方法.
| 列挙値 | |
|---|---|
| DEFAULT | 横方向は左寄せ、縦方向は中央 |
| TOP | 上寄せ(縦方向用) |
| CENTER | 中央 |
| BOTTOM | 下寄せ(縦方向用) |
| ADJUST | 調整(Resize出来ない場合中央) |
| LEFT | 左寄せ(横方向用) |
| RIGHT | 右寄せ(横方向用) |
TnbLayout.h の 203 行目に定義があります。
| CBoxLayout | ( | bool | isHorizental = true, |
| bool | isLastFilling = true |
||
| ) |
コンストラクタ
| isHorizental | true なら横並び、 false なら縦並び |
| isLastFilling | true の場合、最終アイテムを調整します。 |
TnbBoxLayout.h の 111 行目に定義があります。
[設定] アイテム追加.
| layout | レイアウトアイテム. |
| hloc | 水平配置種. |
| vloc | 垂直配置種. |
TnbBoxLayout.h の 143 行目に定義があります。
|
protectedinherited |
[加算] 隙間サイズ加算.
| [in,out] | _size | 隙間サイズ |
| [in] | cx | 横のアイテム数 |
| [in] | cy | 縦のアイテム数 |
TnbLayout.h の 438 行目に定義があります。
|
protectedinherited |
|
virtual |
[作成] クローン作成.
自分と同じ処理を行うクラスを作成します。
ILayoutを実装しています。
TnbBoxLayout.h の 154 行目に定義があります。
|
virtual |
[処理] 決定.
| x | X座標。-1なら指定なし。 |
| y | Y座標。-1なら指定なし。 |
| wParam | W パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
| lParam | L パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
ILayoutを実装しています。
TnbBoxLayout.h の 181 行目に定義があります。
|
protectedinherited |
|
virtual |
[取得] 最小サイズ取得.
最小のサイズを得ることが出来ます。
| [out] | _size | サイズ取得。 |
| true | サイズ取得成功。 |
| false | データがない。 |
ILayoutを実装しています。
TnbBoxLayout.h の 168 行目に定義があります。
|
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 |
| void SetHorizentalMode | ( | bool | isHorizental | ) |
| void SetLastFilling | ( | bool | isLastFilling | ) |
|
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 行目に定義があります。