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
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 =
代入演算子のオーバーロードです。
ウィンドウ メニューを取得します。
HMENU hMenu
メニュー ハンドルを指定します。
取得に成功した場合、メニュー ハンドルを返します。失敗した場合、NULL を返します。
このメソッドは、hMenu の最後から 2 番目の項目の名前が _WTL_MDIWINDOWMENU_TEXT と同一である場合に、その項目が持つサブ メニューのハンドルを返します。
_WTL_MDIWINDOWMENU_TEXT は、既定では atlframe.h で _T("&Window") と定義されていますので、変更したい場合はインクルードされる前にあらかじめ定義しておく必要があります。
このメソッドは、SetMDIFrameMenu メソッドが呼び出します。
通常呼び出す必要はありません。
コンストラクタです。
HWND hWnd = NULL
ウィンドウ ハンドルを指定します。既定では NULL です。
このコンストラクタでは、派生元である ATL::CWindow クラスのコンストラクタを呼び出し、このクラスのすべてのメンバを NULL に設定します。
MDI フレーム ウィンドウのハンドルを取得します。
引数はありません。
MDI フレーム ウィンドウのハンドルを返します。
このメソッドは、m_hWndMDIClient の親ウィンドウを返します。
MDI チャイルド ウィンドウをアクティブにします。
HWND hWndChildToActivate
アクティブにする MDI チャイルド ウィンドウを指定します。
戻り値はありません。
このメソッドは、m_hWndMDIClient に WM_MDIACTIVATE メッセージを送信します。
MDI チャイルド ウィンドウを重ねて表示します。
UINT uFlags = 0
振る舞いのフラグを指定します。既定では何も指定しません。詳しくは解説を参照してください。
表示に成功したかどうかを返します。
このメソッドは、m_hWndMDIClient に WM_MDICASCADE メッセージを送信します。
uFlags には、次の値を組み合わせて指定することができます。
MDITILE_SKIPDISABLED
無効になっている MDI チャイルド ウィンドウが重ねて表示されるのを防ぎます。
MDITILE_ZORDER
Windows 2000 / XP : MDI チャイルド ウィンドウを Z オーダーを基準として表示します。
MDI チャイルド ウィンドウを破棄します。
HWND hWndChildToDestroy
破棄する MDI チャイルド ウィンドウを指定します。
戻り値はありません。
このメソッドは、m_hWndMDIClient に WM_MDIDESTROY メッセージを送信します。
アクティブになっている MDI チャイルド ウィンドウのハンドルを取得します。
BOOL* lpbMaximized = NULL
MDI チャイルド ウィンドウが最大化されているかどうかを格納する BOOL 型変数を指定します。既定では NULL です。
アクティブになっている MDI チャイルド ウィンドウのハンドルを返します。
このメソッドは、m_hWndMDIClient に WM_MDIGETACTIVE メッセージを送信します。
最小化されている MDI チャイルド ウィンドウのアイコンを整列します。
引数はありません。
戻り値はありません。
このメソッドは、m_hWndMDIClient に WM_MDIICONARRANGE メッセージを送信します。
MDI チャイルド ウィンドウを最大化します。
HWND hWndChildToMaximize
最大化する MDI チャイルド ウィンドウを指定します。
戻り値はありません。
このメソッドは、m_hWndMDIClient に WM_MDIMAXIMIZE メッセージを送信します。
次の、または前の MDI チャイルド ウィンドウをアクティブにします。
HWND hWndChild
基準となる MDI チャイルド ウィンドウを指定します。NULL の場合、アクティブなウィンドウが基準となります。
BOOL bPrevious = FALSE
前のウィンドウをアクティブにするかどうかを指定します。既定では FALSE で、次のウィンドウをアクティブにします。
戻り値はありません。
このメソッドは、m_hWndMDIClient に WM_MDINEXT メッセージを送信します。
MDI フレーム ウィンドウのウィンドウ メニューを更新します。
引数はありません。
MDI フレーム ウィンドウのメニューのハンドルを返します。
このメソッドは、m_hWndMDIClient に WM_MDIREFRESHMENU メッセージを送信します。
メニュー バーの表示を更新するために、このメソッドを呼び出した後に DrawMenuBar API を呼び出さなければなりません。
最大化、または最小化されている MDI チャイルド ウィンドウを元のサイズに戻します。
HWND hWndChildToRestore
元のサイズに戻す MDI チャイルド ウィンドウを指定します。
戻り値はありません。
このメソッドは、m_hWndMDIClient に WM_MDIRESTORE メッセージを送信します。
MDI フレーム ウィンドウのメニューやそのウィンドウ メニューを設定します。
HMENU hMenuFrame
MDI フレーム ウィンドウに設定するメニューを指定します。NULL の場合、メニューは変更されません。
HMENU hMenuWindow
ウィンドウ メニューに設定するメニューを指定します。NULL の場合、メニューは変更されません。
成功した場合、古い MDI フレーム ウィンドウのメニューのハンドルを返します。失敗した場合、0 を返します。
このメソッドは、m_hWndMDIClient に WM_MDISETMENU メッセージを送信します。
メニュー バーの表示を更新するために、このメソッドを呼び出した後に DrawMenuBar API を呼び出さなければなりません。
MDI チャイルド ウィンドウを並べて表示します。
引数はありません。
表示に成功したかどうかを返します。
このメソッドは、m_hWndMDIClient に WM_MDITILE メッセージを送信します。
uFlags には、次の値のいずれか一方を指定することができます。
MDITILE_HORIZONTAL
MDI チャイルド ウィンドウを水平に並べて表示します。
MDITILE_VERTICAL
MDI チャイルド ウィンドウを垂直に並べて表示します。
また、それに加えて次の値を指定することができます。
MDITILE_SKIPDISABLED
無効になっている MDI チャイルド ウィンドウが並べて表示されるのを防ぎます。
MDI フレーム ウィンドウにメニューを設定します。
引数はありません。
戻り値はありません。
このメソッドは、CMDIFrameWindowImpl クラスの OnMDISetMenu ハンドラ、および CMDIChildWindowImpl クラスの OnMDIActivate ハンドラが呼び出します。
通常呼び出す必要はありません。
このメソッドは、呼び出し元の派生クラスが CMDIFrameWindowImpl クラスであるか CMDIChildWindowImpl クラスであるかに関係なく、m_hMenu メンバを MDI フレーム ウィンドウのメニューに設定し、またウィンドウ メニューも同時に設定します。
代入演算子のオーバーロードです。
HWND hWnd
ウィンドウ ハンドルを指定します。
this を返します。
このオーバーロードは、m_hWnd メンバを hWnd に設定します。
ページの先頭へ戻る
リファレンスへ戻る
WTL へ戻る
トップ ページへ戻る