52 virtual bool GetSize(SIZE& _size)
const = 0;
70 virtual bool Resize(
const SIZE& size) = 0;
80 virtual void Decide(
int x,
int y, WPARAM wParam, LPARAM lParam) = 0;
170 virtual void Decide(
int x,
int y, WPARAM wParam, LPARAM lParam)
245 ::SetRect(&
m_margn, mg, mg, mg, mg);
341 if ( x < 0 || pLayout == NULL || ! pLayout->
GetSize(sz) )
345 INT_PTR w = width - sz.cx;
355 sz.cx =
ToInt(width);
356 if ( pLayout->
Resize(sz) )
366 pLayout->
Decide(
ToInt(x + xx + w), -1, wParam, lParam);
382 if ( y < 0 || pLayout == NULL || ! pLayout->
GetSize(sz) )
386 INT_PTR w = height - sz.cy;
395 sz.cy =
ToInt(height);
396 if ( pLayout->
Resize(sz) )
407 pLayout->
Decide(-1,
ToInt(y + yy + w), wParam, lParam);
443 _size.cx +=
static_cast<LONG
>(
m_gapSize.cx * (cx - 1));
447 _size.cy +=
static_cast<LONG
>(
m_gapSize.cy * (cy - 1));
@ ADJUST
調整(Resize出来ない場合中央)
CAbstractLayout(void)
コンストラクタ
void GetMargnSize(SIZE &_size) const
[取得] マージンサイズ取得.
void AddMargnSize(SIZE &_size) const
[加算] マージンサイズ加算.
void HorizontalItemDecide(ILayout *pLayout, INT_PTR x, INT_PTR xx, INT_PTR width, ELocation loc, WPARAM wParam, LPARAM lParam)
[設定] 水平方向アイテム決定.
void SetMargnSize(const RECT &rc)
[設定] 外周マージン設定
SIZE m_gapSize
各アイテム間のギャップ(縦、横)
SIZE m_layoutSize
レイアウト全体サイズ(縦、横)
void VerticalItemDecide(ILayout *pLayout, INT_PTR y, INT_PTR yy, INT_PTR height, ELocation loc, WPARAM wParam, LPARAM lParam)
[設定] 垂直方向アイテム決定.
virtual bool Resize(const SIZE &size)
[設定] サイズ設定.
void SetGapSize(int size)
[設定] 各アイテム間のギャップ設定
void SetMargnSize(int mg)
[設定] 外周マージン設定
bool m_isValidLayoutSize
レイアウト全体サイズの設定の有効フラグ
void SetGapSize(const SIZE &size)
[設定] 各アイテム間のギャップ設定
void AddChinkSize(SIZE &_size, size_t cx, size_t cy) const
[加算] 隙間サイズ加算.
virtual bool GetSize(SIZE &_size) const
[取得] サイズ取得.
virtual bool GetMinimumSize(SIZE &_size) const
[取得] 最小サイズ取得.
virtual ILayout * Clone(void) const
[作成] クローン作成.
virtual void Decide(int x, int y, WPARAM wParam, LPARAM lParam)
[処理] 決定.
CLayoutSpacer(int cx=0, int cy=0)
コンストラクタ
virtual bool Resize(const SIZE &size)
[設定] サイズ設定.
virtual bool GetSize(SIZE &_size) const
[取得] サイズ取得.
int ToInt(LPCSTR lpsz, int iBase=10)
[変換] INT変換(ASCII/SJIS用).
void Zero(V &value)
[設定] ゼロクリア.
ELocation horizontalLocate
アイテムの水平配置種
ELocation verticalLocate
アイテムの垂直配置種
TParam(ELocation hloc, ELocation vloc, const ILayout &lay)
コンストラクタ
ILayout::Ptr pLayout
レイアウトアイテム
virtual bool Resize(const SIZE &size)=0
[設定] サイズ設定.
CPointerHandleT< ILayout > Ptr
ポインタハンドル型宣言
virtual bool GetMinimumSize(SIZE &_size) const =0
[取得] 最小サイズ取得.
virtual bool GetSize(SIZE &_size) const =0
[取得] サイズ取得.
virtual void Decide(int x, int y, WPARAM wParam, LPARAM lParam)=0
[処理] 決定.
virtual ILayout * Clone(void) const =0
[作成] クローン作成.
virtual ~ILayout(void)
デストラクタ