다음을 통해 공유


CMDIFrameWndEx::OnShowMDITabContextMenu

바로 가기 메뉴에서 탭 중 하나에 표시 되기 전에 프레임 워크에서 호출 됩니다.MDI 그룹에만 탭을 사용할 수 있습니다.

virtual BOOL OnShowMDITabContextMenu(
   CPoint point,
   DWORD dwAllowedItems,
   BOOL bTabDrop 
);

매개 변수

  • [in] point
    화면 좌표에서 메뉴의 위치입니다.

  • [in] dwAllowedItems
    현재 탭에 대 한 작업 수를 나타내는 비트 OR 조합 플래그:

    • BCGP_MDI_CREATE_VERT_GROUP-세로 탭 그룹을 만들 수 있습니다.

    • BCGP_MDI_CREATE_HORZ_GROUP-가로 탭 그룹을 만들 수 있습니다.

    • BCGP_MDI_CAN_MOVE_PREV-탭을 이전 탭 그룹으로 이동할 수 있습니다.

    • BCGP_MDI_CAN_MOVE_NEXT-탭 다음 탭 그룹으로 이동할 수 있습니다.

    • BCGP_MDI_CAN_BE_DOCKED-탭된 문서 (탭된 문서 관련) 도킹 된 상태로 전환 합니다.

  • [in] bTabDrop
    TRUE결과 탭에서 다른 탭된 그룹으로 드래그 하 여 메뉴를 표시.FALSE현재 활성 탭 바로 가기 메뉴로 메뉴를 표시.

반환 값

이 메서드를 재정의 한 CMDIFrameWndEx 클래스-클래스를 파생 합니다.

설명

처리를 수행 하는 경우 OnShowMDITabContextMenu, 바로 가기 메뉴에 표시 되지 것입니다.이 함수에서 생성 되는 MFC 응용 프로그램 마법사 MDI 탭 그룹 기능을 사용 합니다.

예제

다음 예제를 보여 줍니다 어떻게 OnShowMDITabContextMenu 에 사용 되는 VisualStudioDemo 샘플: Visual Studio MFC 응용 프로그램.

BOOL CMainFrame::OnShowMDITabContextMenu(CPoint point, DWORD dwAllowedItems, BOOL bDrop)
{
    CMenu menu;
    VERIFY(menu.LoadMenu(bDrop ? IDR_POPUP_DROP_MDITABS : IDR_POPUP_MDITABS));

    CMenu* pPopup = menu.GetSubMenu(0);
    ASSERT(pPopup != NULL);

    if ((dwAllowedItems & AFX_MDI_CREATE_HORZ_GROUP) == 0)
    {
        pPopup->DeleteMenu(ID_MDI_NEW_HORZ_TAB_GROUP, MF_BYCOMMAND);
    }

    if ((dwAllowedItems & AFX_MDI_CREATE_VERT_GROUP) == 0)
    {
        pPopup->DeleteMenu(ID_MDI_NEW_VERT_GROUP, MF_BYCOMMAND);
    }

    if ((dwAllowedItems & AFX_MDI_CAN_MOVE_NEXT) == 0)
    {
        pPopup->DeleteMenu(ID_MDI_MOVE_TO_NEXT_GROUP, MF_BYCOMMAND);
    }

    if ((dwAllowedItems & AFX_MDI_CAN_MOVE_PREV) == 0)
    {
        pPopup->DeleteMenu(ID_MDI_MOVE_TO_PREV_GROUP, MF_BYCOMMAND);
    }

    if ((dwAllowedItems & AFX_MDI_CAN_BE_DOCKED) == 0)
    {
        pPopup->DeleteMenu(ID_MDI_TABBED_DOCUMENT, MF_BYCOMMAND);
    }

    CMFCPopupMenu* pPopupMenu = new CMFCPopupMenu;
    pPopupMenu->SetAutoDestroy(FALSE);
    pPopupMenu->Create(this, point.x, point.y, pPopup->GetSafeHmenu());

    return TRUE;
}

요구 사항

헤더: afxMDIFrameWndEx.h

참고 항목

참조

CMDIFrameWndEx 클래스

계층 구조 차트