TNB Library
クラス
レイアウト関係

クラス

class  CAbstractLayout
 レイアウトアイテム抽象クラス. [詳解]
 
class  CBorderLayout
 ボーダーレイアウトアイテムクラス. [詳解]
 
class  CBoxLayout
 ボックスレイアウトアイテムクラス. [詳解]
 
class  CControlLayoutItem
 コントロールレイアウトアイテムクラス. [詳解]
 
class  CFlowLayout
 フローレイアウトアイテムクラス. [詳解]
 
class  CGridLayout
 グリッドレイアウトアイテムクラス. [詳解]
 
class  CGroupLayout
 グループレイアウトアイテムクラス. [詳解]
 
class  CLayoutDialog
 レイアウトダイアログクラス. [詳解]
 
class  CLayoutSpacer
 レイアウトスペーサー. [詳解]
 
class  COverlayLayout
 オーバーレイレイアウトアイテムクラス. [詳解]
 
class  CGroupLayout::CParallelGroup
 パラレルグループ定義クラス. [詳解]
 
class  CRatioLayout
 比率レイアウトアイテムクラス. [詳解]
 
class  CGroupLayout::CSequentialGroup
 シーケンシャルグループ定義クラス. [詳解]
 
class  CWideLayout
 ワイドレイアウトアイテムクラス. [詳解]
 
struct  ILayout
 レイアウトインターフェース. [詳解]
 

詳解

レイアウトを定義するためのインターフェースを実装しているクラスが数種類あります。 また、そのインターフェースを使って、ダイアログのコントロールをレイアウトするクラスがあります。


ILayout を実装しているクラス(レイアウトアイテム)

レイアウトには、大きく2つの種類があります。 一つは、実際のアイテムを管理するものです。もう一つは、別の複数のレイアウトアイテムを配置するものです。 後者のレイアウトにより、色々な種類のレイアウトを組み合わせて、目的にあった自由なものを用意することが出来ます。

- ワイドレイアウト ( CWideLayout )\n
スクリーンの状態により、2つのレイアウトアイテムの並びを縦か横にすることが出来ます。
Windows Moblie でコントロールの配置を目的としたものです。
\code
ex) 画面が縦長の時
┌−−−−−−−−−┐
l┏───┳───┓l
l│ 1 │ 2 │l
l┗───┻───┛l
└−−−−−−−−−┘
ex) 画面が横長の時
┌−−−−−┐
l┏───┓l
l│ 1 │l
l┣───┫l
l│ 2 │l
l┗───┛l
└−−−−−┘
\endcode

- レイアウトスペーサー ( CLayoutSpacer )\n
大きさのみを持つレイアウトです。スペーサーとして使用します。

- コントロールレイアウトアイテムクラス ( {@link MFC::CControlLayoutItem CControlLayoutItem} )\n
一つのコントロール(HWND)を保持するレイアウトアイテムです。他のレイアウトアイテムは持ちません。
末端のレイアウトアイテムにこのクラスを使い、トップのレイアウトアイテムを {@link MFC::CLayoutDialog CLayoutDialog } 
に渡すことでダイアログのリサイズ時、ダイナミックにコントロール配置をすることが出来ます。

\n● ILayout を使うクラス(レイアウト管理)\n\n
    現在 ILayout クラスを使うクラスは、 {@link MFC::CLayoutDialog CLayoutDialog }のみです。

- レイアウトダイアログ ( {@link MFC::CLayoutDialog CLayoutDialog } )\n
    末端のレイアウトアイテムに {@link MFC::CControlLayoutItem CControlLayoutItem} を使い、
    トップのレイアウトアイテムをこのクラスに渡すことで
    ダイアログのリサイズ時、ダイナミックにコントロール配置をすることが出来ます。
    また、同時に、Zオーダも設定できます。