次の方法で共有


CMDIFrameWnd::CreateClient

更新 : 2007 年 11 月

CMDIChildWnd オブジェクトを管理する、MDI クライアント ウィンドウを作成します。

virtual BOOL CreateClient(
   LPCREATESTRUCT lpCreateStruct,
   CMenu* pWindowMenu 
);

パラメータ

  • lpCreateStruct
    CREATESTRUCT 構造体への long ポインタ。

  • pWindowMenu
    ウィンドウ ポップアップ メニューへのポインタ。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

OnCreate メンバ関数を直接オーバーライドするときに、このメンバ関数を呼び出します。

使用例

// The code below is from winmdi.cpp. It shows how to 
// call CMDIFrameWnd::CreateClient(). CMainFrame is a 
// CMDIFrameWnd-derived class.
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* /*pContext*/)
{
   CMenu* pMenu = NULL;
    if (m_hMenuDefault == NULL)
    {
        // default implementation for MFC V1 backward compatibility
        pMenu = GetMenu();
        ASSERT(pMenu != NULL);
        // This is attempting to guess which sub-menu is the Window menu.
        // The Windows user interface guidelines say that the right-most
        // menu on the menu bar should be Help and Window should be one
        // to the left of that.
        int iMenu = pMenu->GetMenuItemCount() - 2;

        // If this assertion fails, your menu bar does not follow the guidelines
        // so you will have to override this function and call CreateClient
        // appropriately or use the MFC V2 MDI functionality.
        ASSERT(iMenu >= 0);
        pMenu = pMenu->GetSubMenu(iMenu);
        ASSERT(pMenu != NULL);
    }

    return CreateClient(lpcs, pMenu);
}

必要条件

ヘッダー : afxwin.h

参照

参照

CMDIFrameWnd クラス

階層図

CMDIFrameWnd::CMDIFrameWnd

その他の技術情報

CMDIFrameWnd のメンバ