Aracılığıyla paylaş


CMDIFrameWndEx::OnShowMDITabContextMenu

Sekmelerden birinde bir kısayol menü görüntülenmeden önce çerçevesi tarafından çağrıldı.MDI grupları yalnızca sekmeli için geçerlidir.

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

Parametreler

  • [in]point
    Ekran koordinatlarındaki menü konumu.

  • [in]dwAllowedItems
    Hangi eylemlerin geçerli sekme için izin verilen gösteren bir bit düzey veya bayrak birleşimi:

    • BCGP_MDI_CREATE_VERT_GROUP-dikey sekme grubu oluşturabilirsiniz.

    • BCGP_MDI_CREATE_HORZ_GROUP-yatay sekme grubu oluşturabilirsiniz.

    • BCGP_MDI_CAN_MOVE_PREV-bir sekme önceki sekme grubuna taşıyabilirsiniz.

    • BCGP_MDI_CAN_MOVE_NEXT-bir sekme sonraki sekme grubuna taşıyabilirsiniz.

    • BCGP_MDI_CAN_BE_DOCKED-sekmeli belge yerleşik durumu (yalnızca sekmeli belgeler ilgili) geçin.

  • [in]bTabDrop
    TRUESekme sekmeli başka bir gruba sürükleyerek sonucunda menüsünü görüntülemek için.FALSEşu anda etkin sekmede bir kısayol menüsü olarak menüsünü görüntülemek için.

Dönüş Değeri

Bu yöntemi geçersiz bir CMDIFrameWndEx sınıfı-türetilmiş sınıf.

Notlar

Değil işlerseniz OnShowMDITabContextMenu, kısayol menüsü görüntülenmez.Bu işlev tarafından üretilen mfc uygulaması Sihirbazı'nı MDI sekmeli gruplar özelliğini etkinleştirdiğinizde.

Örnek

Aşağıdaki örnekte gösterildiği nasıl OnShowMDITabContextMenu , kullanılan VisualStudioDemo örnek: mfc Visual Studio uygulama.

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;
}

Gereksinimler

Başlık: afxMDIFrameWndEx.h

Ayrıca bkz.

Başvuru

CMDIFrameWndEx sınıfı

Hiyerarşi grafik