131 loop ( item, m_params->GetSize() )
133 TParam& pa = m_params->At(item);
139 _size.cx = max(_size.cx, sz.cx);
156 int h = m_Calc(lineNum, sizes, width);
172 virtual void Decide(
int x,
int y, WPARAM wParam, LPARAM lParam)
174 if ( m_params.IsNull() )
183 if ( m_Calc(lineNum, sizes, clientWidth) < 0 )
192 int hh = LOWORD(lineNum[line].y);
193 int xx = (clientWidth - HIWORD(lineNum[line].y));
194 switch ( m_hLocation )
201 if ( xx < 0 ) { xx = 0; }
206 loop ( i, lineNum[line].x )
208 TParam& pa = m_params->At(item);
209 SIZE& sz = sizes[item];
225 size_t itemNum = m_params->GetSize();
232 loop ( item, itemNum )
234 TParam& pa = m_params->At(item);
235 SIZE& sz = _sizes[item];
236 if ( ! pa.pLayout->GetSize(sz) )
243 POINT p = { im, MAKELONG(h, w) };
265 POINT p = { im, MAKELONG(h, w) };
#define loop(VAR, CNT)
loop構文.
void AddMargnSize(SIZE &_size) const
[加算] マージンサイズ加算.
void HorizontalItemDecide(ILayout *pLayout, INT_PTR x, INT_PTR xx, INT_PTR width, ELocation loc, WPARAM wParam, LPARAM lParam)
[設定] 水平方向アイテム決定.
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)
[設定] 垂直方向アイテム決定.
void SetLineLocation(ELocation hloc=LEFT)
[設定] 配置設定.
virtual bool GetMinimumSize(SIZE &_size) const
[取得] 最小サイズ取得.
int GetMinimumHeight(size_t width) const
[取得] 最小高さサイズ取得.
virtual ILayout * Clone(void) const
[作成] クローン作成.
CFlowLayout & Add(const ILayout &layout, ELocation vloc=DEFAULT)
[設定] アイテム追加.
virtual void Decide(int x, int y, WPARAM wParam, LPARAM lParam)
[処理] 決定.
void RemoveAll(void)
[削除] 空化
size_t GetSize(void) const
[取得] サイズ取得
void SetSize(size_t s)
[設定] サイズ設定
INDEX Add(const TYP &t)
[追加] 要素一つ追加.
int ToInt(LPCSTR lpsz, int iBase=10)
[変換] INT変換(ASCII/SJIS用).
ELocation verticalLocate
アイテムの垂直配置種
ILayout::Ptr pLayout
レイアウトアイテム
virtual bool GetSize(SIZE &_size) const =0
[取得] サイズ取得.