CMDIWindow

http://toshi.my.land.to/wtl/reference/?CMDIWindow
* トップ ページ - WTL - リファレンス - CMDIWindow :: 説明 / 解説 / 参照 / 情報 / メンバ / 静的メソッド / メソッド / 演算子オーバーロード

説明

MDI ウィンドウの基本的な振る舞いを実装しているクラスです。

解説

このクラスは、CMDIFrameWindowImpl および CMDIChildWindowImpl クラスのテンプレート引数として利用されます。
通常、直接利用することはありません。

MDI ではない通常のウィンドウを実装しているクラス(CFrameWindowImpl クラスなど)は、既定でテンプレート引数 TBase に ATL::CWindow が指定され ATL::CWindow クラスを継承していますが、MDI ウィンドウを実装している上記のクラスは、ATL::CWindow から派生しているこのクラスを継承することになります。
これによって、MDI ウィンドウ特有の機能を利用および実装することができます。

MDI クライアント ウィンドウである m_hWndMDIClient メンバは、CMDIFrameWindowImpl クラスから見た場合はクライアント領域のウィンドウとなり、CMDIChildWindowImpl クラスから見た場合は親ウィンドウとなります。

参照

CMDIFrameWindowImpl
CMDIChildWindowImpl

情報

タイプ : クラス
継承クラス : ATL::CWindow
ヘッダ : atlframe.h

メンバ

HWND m_hWndMDIClient;
MDI クライアント ウィンドウのハンドルです。
HMENU m_hMenu;
メニューのハンドルです。

静的メソッド

GetStandardWindowMenu
ウィンドウ メニューを取得します。

メソッド

CMDIWindow
コンストラクタです。
GetMDIFrame
MDI フレーム ウィンドウのハンドルを取得します。
MDIActivate
MDI チャイルド ウィンドウをアクティブにします。
MDICascade
MDI チャイルド ウィンドウを重ねて表示します。
MDIDestroy
MDI チャイルド ウィンドウを破棄します。
MDIGetActive
アクティブになっている MDI チャイルド ウィンドウのハンドルを取得します。
MDIIconArrange
最小化されている MDI チャイルド ウィンドウのアイコンを整列します。
MDIMaximize
MDI チャイルド ウィンドウを最大化します。
MDINext
次の、または前の MDI チャイルド ウィンドウをアクティブにします。
MDIRefreshMenu
MDI フレーム ウィンドウのウィンドウ メニューを更新します。
MDIRestore
最大化、または最小化されている MDI チャイルド ウィンドウを元のサイズに戻します。
MDISetMenu
MDI フレーム ウィンドウのメニューやそのウィンドウ メニューを設定します。
MDITile
MDI チャイルド ウィンドウを並べて表示します。
SetMDIFrameMenu
MDI フレーム ウィンドウにメニューを設定します。

演算子オーバーロード

operator =
代入演算子のオーバーロードです。


GetStandardWindowMenu

ウィンドウ メニューを取得します。

static HMENU GetStandardWindowMenu(HMENU hMenu);

引数

HMENU hMenu
メニュー ハンドルを指定します。

戻り値

取得に成功した場合、メニュー ハンドルを返します。失敗した場合、NULL を返します。

解説

このメソッドは、hMenu の最後から 2 番目の項目の名前が _WTL_MDIWINDOWMENU_TEXT と同一である場合に、その項目が持つサブ メニューのハンドルを返します。
_WTL_MDIWINDOWMENU_TEXT は、既定では atlframe.h で _T("&Window") と定義されていますので、変更したい場合はインクルードされる前にあらかじめ定義しておく必要があります。

このメソッドは、SetMDIFrameMenu メソッドが呼び出します。
通常呼び出す必要はありません。


CMDIWindow

コンストラクタです。

CMDIWindow(HWND hWnd = NULL) : ATL::CWindow(hWnd), m_hWndMDIClient(NULL), m_hMenu(NULL);

引数

HWND hWnd = NULL
ウィンドウ ハンドルを指定します。既定では NULL です。

解説

このコンストラクタでは、派生元である ATL::CWindow クラスのコンストラクタを呼び出し、このクラスのすべてのメンバを NULL に設定します。


GetMDIFrame

MDI フレーム ウィンドウのハンドルを取得します。

HWND GetMDIFrame() const;

引数

引数はありません。

戻り値

MDI フレーム ウィンドウのハンドルを返します。

解説

このメソッドは、m_hWndMDIClient の親ウィンドウを返します。


MDIActivate

MDI チャイルド ウィンドウをアクティブにします。

void MDIActivate(HWND hWndChildToActivate);

引数

HWND hWndChildToActivate
アクティブにする MDI チャイルド ウィンドウを指定します。

戻り値

戻り値はありません。

解説

このメソッドは、m_hWndMDIClient に WM_MDIACTIVATE メッセージを送信します。


MDICascade

MDI チャイルド ウィンドウを重ねて表示します。

BOOL MDICascade(UINT uFlags = 0);

引数

UINT uFlags = 0
振る舞いのフラグを指定します。既定では何も指定しません。詳しくは解説を参照してください。

戻り値

表示に成功したかどうかを返します。

解説

このメソッドは、m_hWndMDIClient に WM_MDICASCADE メッセージを送信します。

uFlags には、次の値を組み合わせて指定することができます。

MDITILE_SKIPDISABLED
無効になっている MDI チャイルド ウィンドウが重ねて表示されるのを防ぎます。
MDITILE_ZORDER
Windows 2000 / XP : MDI チャイルド ウィンドウを Z オーダーを基準として表示します。


MDIDestroy

MDI チャイルド ウィンドウを破棄します。

void MDIDestroy(HWND hWndChildToDestroy);

引数

HWND hWndChildToDestroy
破棄する MDI チャイルド ウィンドウを指定します。

戻り値

戻り値はありません。

解説

このメソッドは、m_hWndMDIClient に WM_MDIDESTROY メッセージを送信します。


MDIGetActive

アクティブになっている MDI チャイルド ウィンドウのハンドルを取得します。

HWND MDIGetActive(BOOL* lpbMaximized = NULL);

引数

BOOL* lpbMaximized = NULL
MDI チャイルド ウィンドウが最大化されているかどうかを格納する BOOL 型変数を指定します。既定では NULL です。

戻り値

アクティブになっている MDI チャイルド ウィンドウのハンドルを返します。

解説

このメソッドは、m_hWndMDIClient に WM_MDIGETACTIVE メッセージを送信します。


MDIIconArrange

最小化されている MDI チャイルド ウィンドウのアイコンを整列します。

void MDIIconArrange();

引数

引数はありません。

戻り値

戻り値はありません。

解説

このメソッドは、m_hWndMDIClient に WM_MDIICONARRANGE メッセージを送信します。


MDIMaximize

MDI チャイルド ウィンドウを最大化します。

void MDIMaximize(HWND hWndChildToMaximize);

引数

HWND hWndChildToMaximize
最大化する MDI チャイルド ウィンドウを指定します。

戻り値

戻り値はありません。

解説

このメソッドは、m_hWndMDIClient に WM_MDIMAXIMIZE メッセージを送信します。


MDINext

次の、または前の MDI チャイルド ウィンドウをアクティブにします。

void MDINext(HWND hWndChild, BOOL bPrevious = FALSE);

引数

HWND hWndChild
基準となる MDI チャイルド ウィンドウを指定します。NULL の場合、アクティブなウィンドウが基準となります。

BOOL bPrevious = FALSE
前のウィンドウをアクティブにするかどうかを指定します。既定では FALSE で、次のウィンドウをアクティブにします。

戻り値

戻り値はありません。

解説

このメソッドは、m_hWndMDIClient に WM_MDINEXT メッセージを送信します。


MDIRefreshMenu

MDI フレーム ウィンドウのウィンドウ メニューを更新します。

HMENU MDIRefreshMenu();

引数

引数はありません。

戻り値

MDI フレーム ウィンドウのメニューのハンドルを返します。

解説

このメソッドは、m_hWndMDIClient に WM_MDIREFRESHMENU メッセージを送信します。

メニュー バーの表示を更新するために、このメソッドを呼び出した後に DrawMenuBar API を呼び出さなければなりません。


MDIRestore

最大化、または最小化されている MDI チャイルド ウィンドウを元のサイズに戻します。

void MDIRestore(HWND hWndChildToRestore);

引数

HWND hWndChildToRestore
元のサイズに戻す MDI チャイルド ウィンドウを指定します。

戻り値

戻り値はありません。

解説

このメソッドは、m_hWndMDIClient に WM_MDIRESTORE メッセージを送信します。


MDISetMenu

MDI フレーム ウィンドウのメニューやそのウィンドウ メニューを設定します。

HMENU MDISetMenu(HMENU hMenuFrame, HMENU hMenuWindow);

引数

HMENU hMenuFrame
MDI フレーム ウィンドウに設定するメニューを指定します。NULL の場合、メニューは変更されません。

HMENU hMenuWindow
ウィンドウ メニューに設定するメニューを指定します。NULL の場合、メニューは変更されません。

戻り値

成功した場合、古い MDI フレーム ウィンドウのメニューのハンドルを返します。失敗した場合、0 を返します。

解説

このメソッドは、m_hWndMDIClient に WM_MDISETMENU メッセージを送信します。

メニュー バーの表示を更新するために、このメソッドを呼び出した後に DrawMenuBar API を呼び出さなければなりません。


MDITile

MDI チャイルド ウィンドウを並べて表示します。

BOOL MDITile();

引数

引数はありません。

戻り値

表示に成功したかどうかを返します。

解説

このメソッドは、m_hWndMDIClient に WM_MDITILE メッセージを送信します。

uFlags には、次の値のいずれか一方を指定することができます。

MDITILE_HORIZONTAL
MDI チャイルド ウィンドウを水平に並べて表示します。
MDITILE_VERTICAL
MDI チャイルド ウィンドウを垂直に並べて表示します。

また、それに加えて次の値を指定することができます。

MDITILE_SKIPDISABLED
無効になっている MDI チャイルド ウィンドウが並べて表示されるのを防ぎます。


SetMDIFrameMenu

MDI フレーム ウィンドウにメニューを設定します。

void SetMDIFrameMenu();

引数

引数はありません。

戻り値

戻り値はありません。

解説

このメソッドは、CMDIFrameWindowImpl クラスの OnMDISetMenu ハンドラ、および CMDIChildWindowImpl クラスの OnMDIActivate ハンドラが呼び出します。
通常呼び出す必要はありません。

このメソッドは、呼び出し元の派生クラスが CMDIFrameWindowImpl クラスであるか CMDIChildWindowImpl クラスであるかに関係なく、m_hMenu メンバを MDI フレーム ウィンドウのメニューに設定し、またウィンドウ メニューも同時に設定します。


operator =

代入演算子のオーバーロードです。

CMDIWindow& operator =(HWND hWnd);

引数

HWND hWnd
ウィンドウ ハンドルを指定します。

戻り値

this を返します。

解説

このオーバーロードは、m_hWnd メンバを hWnd に設定します。


Last Modified : 2010/05/19 (Wed.) 20:11:26

Librarian Version 0.3.1.5
By Toshi

ページの先頭へ戻る
リファレンスへ戻る
WTL へ戻る
トップ ページへ戻る

* トップ ページ - WTL - リファレンス - CMDIWindow :: 説明 / 解説 / 参照 / 情報 / メンバ / 静的メソッド / メソッド / 演算子オーバーロード
http://toshi.my.land.to/wtl/reference/?CMDIWindow
(C) 2005 - 2010 Toshi, All Rights Reserved.