レイアウトダイアログクラス.
[詳解]
#include <TnbMfcLayoutDialog.h>
|
virtual LRESULT | WindowProc (UINT message, WPARAM wParam, LPARAM lParam) |
| [通知] for processing Windows messages. [詳解]
|
|
レイアウトダイアログクラス.
CGroupLayout クラスなどと連携し、ダイアログ上のコントロールのレイアウトを設定、調整するクラスです。
本クラスを CDialog の代わりに継承すると、リレイアウト可能なダイアログになります。
CDialog を使ったダイアログを作る要領でリソースを作成しクラス生成後、 CDialog
を本クラスに置き換える形の実装方法を想定しています。
- 使用例 (リサイズに対応する場合)
{
:
:
}
BOOL CXxxDlg::OnInitDialog()
{
:
CBoxLayout lay;
:
:
}
bool SetLayout(ILayout &lay, HWND zorderTop=HWND_TOP)
[設定] レイアウト設定.
CLayoutDialog(void)
コンストラクタ
- 使用例 (レイアウトするだけの場合)
BOOL CXxxDlg::OnInitDialog()
{
:
CBoxLayout lay;
:
:
}
void Decide(int x, int y, WPARAM wParam, LPARAM lParam)
[処理] 決定.
- todo:
- 親を template にすると、リソースエディタが ダイアログであることを 認識できなくなってしまうため、 現在 親は CDialog 固定です。
- 必要ファイル
- TnbMfcLayoutDialog.h
- 日付
- 08/07/17 新規作成
TnbMfcLayoutDialog.h の 285 行目に定義があります。
◆ CLayoutDialog() [1/3]
◆ CLayoutDialog() [2/3]
コンストラクタ
- 引数
-
lpszTemplateName | ダイアログ ボックス テンプレート リソース名を表す null で終わる文字列。 |
pParentWnd | ダイアログ オブジェクトを所有する CWnd 型の親ウィンドウ またはオーナー ウィンドウオブジェクトへのポインタ。 NULL の場合は、ダイアログ オブジェクトの親ウィンドウがアプリケーションのメイン ウィンドウになります。 |
TnbMfcLayoutDialog.h の 302 行目に定義があります。
◆ CLayoutDialog() [3/3]
コンストラクタ
- 引数
-
nIDTemplate | ダイアログ ボックス テンプレート リソースの ID 番号。 |
pParentWnd | ダイアログ オブジェクトを所有する CWnd 型の親ウィンドウ またはオーナー ウィンドウオブジェクトへのポインタ。 NULL の場合は、ダイアログ オブジェクトの親ウィンドウがアプリケーションのメイン ウィンドウになります。 |
TnbMfcLayoutDialog.h の 314 行目に定義があります。
◆ ChangeClientSize()
bool ChangeClientSize |
( |
const SIZE & |
sz | ) |
|
◆ ChangeMinimumSize()
bool ChangeMinimumSize |
( |
void |
| ) |
|
◆ Decide() [1/3]
static bool Decide |
( |
const RECT & |
rect, |
|
|
ILayout & |
lay, |
|
|
HWND |
zorderTop = HWND_TOP |
|
) |
| |
|
static |
[設定] レイアウト指定.
- 引数
-
[in] | rect | レイアウト範囲. |
[in,out] | lay | レイアウト。実行後、サイズが pWnd のクライアントサイズに変更されています。 |
| zorderTop | Zオーダの先頭を指定します。通常 HWND_TOP を指定します。 HWND_TOPMOST , HWND_NOTOPMOST , HWND_BOTTOMを指定すると、Zオーダの設定をしません。 |
- 戻り値
-
TnbMfcLayoutDialog.h の 413 行目に定義があります。
◆ Decide() [2/3]
static bool Decide |
( |
CWnd * |
pWnd, |
|
|
ILayout & |
lay, |
|
|
HWND |
zorderTop = HWND_TOP |
|
) |
| |
|
static |
[設定] レイアウト指定.
- 引数
-
[in] | pWnd | ダイアログ. |
[in,out] | lay | レイアウト。実行後、サイズが pWnd のクライアントサイズに変更されています。 |
| zorderTop | Zオーダの先頭を指定します。通常 HWND_TOP を指定します。 HWND_TOPMOST , HWND_NOTOPMOST , HWND_BOTTOMを指定すると、Zオーダの設定をしません。 |
- 戻り値
-
TnbMfcLayoutDialog.h の 437 行目に定義があります。
◆ Decide() [3/3]
void Decide |
( |
int |
x, |
|
|
int |
y, |
|
|
WPARAM |
wParam, |
|
|
LPARAM |
lParam |
|
) |
| |
[処理] 決定.
- 覚え書き
- SetLayout() で登録したレイアウトの Decide() を実行します。
- 引数
-
x | X座標。-1なら指定なし。 |
y | Y座標。-1なら指定なし。 |
wParam | W パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
lParam | L パラメータ。本クラスでは使用しません。 本クラスに登録したレイアウトによっては使用される可能性があります。 |
TnbMfcLayoutDialog.h の 396 行目に定義があります。
◆ SetLayout()
bool SetLayout |
( |
ILayout & |
lay, |
|
|
HWND |
zorderTop = HWND_TOP |
|
) |
| |
[設定] レイアウト設定.
- 覚え書き
- 指定のダイアログのアイテムを、オブジェクトが管理しているレイアウトにします。
- 引数
-
[in,out] | lay | レイアウト。実行後、サイズがダイアログのクライアントサイズに変更されています。 クローンが記憶されているので破棄してかまいません。 |
| zorderTop | Zオーダの先頭を指定します。通常 HWND_TOP を指定します。 HWND_TOPMOST , HWND_NOTOPMOST , HWND_BOTTOMを指定すると、Zオーダの設定をしません。 |
- 戻り値
-
TnbMfcLayoutDialog.h の 341 行目に定義があります。
◆ SetResizeMode()
void SetResizeMode |
( |
bool |
canHorizontalResize = true , |
|
|
bool |
canVerticalResize = true |
|
) |
| |
[設定] リサイズモード設定.
- 覚え書き
- デフォルトでは、水平方向、垂直方向共に true が指定されています。
- 引数
-
canHorizontalResize | false を指定すると水平方向のサイズ変更が出来なくなります。 |
canVerticalResize | false を指定すると垂直方向のサイズ変更が出来なくなります。 |
TnbMfcLayoutDialog.h の 325 行目に定義があります。
◆ WindowProc()
virtual LRESULT WindowProc |
( |
UINT |
message, |
|
|
WPARAM |
wParam, |
|
|
LPARAM |
lParam |
|
) |
| |
|
protectedvirtual |
[通知] for processing Windows messages.
メッセージ受信したらコールされます。
- 覚え書き
- CWndのメソッドをオーバーライドしています。
- 引数
-
message | メッセージ |
wParam | WPARAM |
lParam | LPARAM |
- 戻り値
- リザルト。
TnbMfcLayoutDialog.h の 461 行目に定義があります。