Udostępnij za pośrednictwem


CMDIFrameWndEx::OnShowMDITabContextMenu

Wywołana w ramach przed menu skrótów jest wyświetlany na jednej z kart.Ważne dla MDI zakładkami tylko grupy.

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

Parametry

  • [w]point
    Lokalizacja menu ze współrzędnymi ekranowymi.

  • [w]dwAllowedItems
    Logiczną lub kombinacja flag, która wskazuje, jakie akcje są dozwolone dla bieżącej karty:

    • BCGP_MDI_CREATE_VERT_GROUP-można utworzyć grupę tabulacji pionowej.

    • BCGP_MDI_CREATE_HORZ_GROUP-można utworzyć grupę na karcie poziomy.

    • BCGP_MDI_CAN_MOVE_PREV-kartę można przenieść do poprzedniej grupy kartę.

    • BCGP_MDI_CAN_MOVE_NEXT-kartę można przenieść do następnej grupy kartę.

    • BCGP_MDI_CAN_BE_DOCKED-przełączyć do stanu zadokowania (istotne tylko dokumenty kartotekowe) dokumentu z zakładkami.

  • [w]bTabDrop
    TRUEAby wyświetlić menu wyniku przeciągając kartę na inną grupę z zakładkami.FALSEAby wyświetlić menu jako menu skrótów na aktualnie aktywnej karcie.

Wartość zwracana

Zastąpienie tej metody w Klasa CMDIFrameWndEx-klasy.

Uwagi

Jeśli nie przetwarzają OnShowMDITabContextMenu, nie będą wyświetlane w menu skrótów.Ta funkcja jest generowana przez Kreatora aplikacji MFC po włączeniu funkcji grupy z zakładkami MDI.

Przykład

W poniższym przykładzie jak OnShowMDITabContextMenu jest używana w VisualStudioDemo próbki: Aplikacja 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;
}

Wymagania

Nagłówek: afxMDIFrameWndEx.h

Zobacz też

Informacje

Klasa CMDIFrameWndEx

Wykres hierarchii