|
TNB Library
|
グループレイアウトアイテムクラス. [詳解]
#include <TnbGroupLayout.h>
CGroupLayout の継承関係図クラス | |
| class | CParallelGroup |
| パラレルグループ定義クラス. [詳解] | |
| class | CSequentialGroup |
| シーケンシャルグループ定義クラス. [詳解] | |
公開型 | |
| enum | EDistance { Distance_Default , Distance_Absolute , Distance_Rate , Distance_ItemMax , Distance_Rast } |
| ParallelGroup の長さ種. [詳解] | |
| enum | ELocation { DEFAULT , TOP , CENTER , BOTTOM , ADJUST , LEFT = TOP , RIGHT = BOTTOM } |
| レイアウトアイテム配置方法. [詳解] | |
| typedef CPointerHandleT< ILayout > | Ptr |
| ポインタハンドル型宣言 [詳解] | |
公開メンバ関数 | |
| CGroupLayout (void) | |
| コンストラクタ [詳解] | |
| 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 | SetHorizontalGroup (CSequentialGroup &g) |
| [登録] 水平シーケンシャルグループ登録. [詳解] | |
| void | SetMargnSize (const RECT &rc) |
| [設定] 外周マージン設定 [詳解] | |
| void | SetMargnSize (int mg) |
| [設定] 外周マージン設定 [詳解] | |
| void | SetVerticalGroup (CSequentialGroup &g) |
| [登録] 垂直シーケンシャルグループ登録. [詳解] | |
限定公開メンバ関数 | |
| 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 |
| 外周のマージン [詳解] | |
グループレイアウトアイテムクラス.
レイアウトインターフェースを持つオブジェクトを複数管理するクラスです。
// ダイアログクラス内
CStatic m_txtFirst;
CStatic m_txtSecond;
CEdit m_editFirst;
CEdit m_editSecond;
BOOL CFoo::OnInitDialog()
{
;
CGroupLayout layout;
// ウィンドウ枠から 2 dot 隙間を指定
layout.SetMargnSize(CSize(2, 2));
// 各アイテムの間は、横 5, 縦 10 空くように指定
layout.SetGapSize(CSize(5, 10));
// 水平方向のレイアウト
layout.SetHorizontalGroup
(
AddGroup(
Add(Li(&m_txtFirst)) //TEXTはりソースの大きさのまま
.Add(Li(&m_txtSecond))
)
.AddGroup(
Add(Li(&m_editFirst), CGroupLayout::ADJUST) //EDITは枠一杯に広げる
.Add(Li(&m_editSecond))
)
);
// 垂直方向のレイアウト
layout.SetVerticalGroup
(
AddGroup(
Add(Li(&m_txtFirst))
.Add(Li(&m_editFirst), CGroupLayout::ADJUST)
)
.AddGroup(
Add(Li(&m_txtSecond))
.Add(Li(&m_editSecond), CGroupLayout::ADJUST)
)
.AutoEqualityDistance() // 縦方向は、均等化しよう
);
;
}
|
TnbGroupLayout.h の 83 行目に定義があります。
|
inherited |
ポインタハンドル型宣言
TnbLayout.h の 83 行目に定義があります。
| enum EDistance |
ParallelGroup の長さ種.
CSequentialGroup に CParallelGroup を登録する時に指定します。
TnbGroupLayout.h の 215 行目に定義があります。
|
inherited |
レイアウトアイテム配置方法.
| 列挙値 | |
|---|---|
| DEFAULT | 横方向は左寄せ、縦方向は中央 |
| TOP | 上寄せ(縦方向用) |
| CENTER | 中央 |
| BOTTOM | 下寄せ(縦方向用) |
| ADJUST | 調整(Resize出来ない場合中央) |
| LEFT | 左寄せ(横方向用) |
| RIGHT | 右寄せ(横方向用) |
TnbLayout.h の 203 行目に定義があります。
| CGroupLayout | ( | void | ) |
コンストラクタ
TnbGroupLayout.h の 427 行目に定義があります。
|
protectedinherited |
[加算] 隙間サイズ加算.
| [in,out] | _size | 隙間サイズ |
| [in] | cx | 横のアイテム数 |
| [in] | cy | 縦のアイテム数 |
TnbLayout.h の 438 行目に定義があります。
|
protectedinherited |
|
virtual |
[作成] クローン作成.
自分と同じ処理を行うクラスを作成します。
ILayoutを実装しています。
TnbGroupLayout.h の 454 行目に定義があります。
|
virtual |
[処理] 決定.
| x | X座標。-1なら指定なし。 |
| y | Y座標。-1なら指定なし。 |
| wParam | W パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
| lParam | L パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
ILayoutを実装しています。
TnbGroupLayout.h の 489 行目に定義があります。
|
protectedinherited |
|
virtual |
[取得] 最小サイズ取得.
最小のサイズを得ることが出来ます。
| [out] | _size | サイズ取得。 |
| true | サイズ取得成功。 |
| false | データがない。 |
ILayoutを実装しています。
TnbGroupLayout.h の 468 行目に定義があります。
|
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 SetHorizontalGroup | ( | CSequentialGroup & | g | ) |
|
inherited |
|
inherited |
| void SetVerticalGroup | ( | CSequentialGroup & | g | ) |
|
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 行目に定義があります。