CMDIFrameWndEx::OnShowMDITabContextMenu
Rámci volána před na jednu z karet se zobrazí místní nabídka.Platné pro MDI kartami skupiny pouze.
virtual BOOL OnShowMDITabContextMenu(
CPoint point,
DWORD dwAllowedItems,
BOOL bTabDrop
);
Parametry
[v]point
Umístění nabídky v obrazovkových souřadnicích.[v]dwAllowedItems
Bitový operátor OR kombinace příznaků, určuje, jaké akce jsou povoleny pro aktuální kartě:BCGP_MDI_CREATE_VERT_GROUP-lze vytvořit skupinu svislé kartu.
BCGP_MDI_CREATE_HORZ_GROUP-lze vytvořit skupinu horizontální tabelátor.
BCGP_MDI_CAN_MOVE_PREV-kartu můžete přesunout na předchozí kartu skupiny.
BCGP_MDI_CAN_MOVE_NEXT-kartu můžete přesunout k další skupině karet.
BCGP_MDI_CAN_BE_DOCKED-Přepnutí do ukotveného státu (platí pro dokumenty s kartami pouze) dokumentů s kartami.
[v]bTabDrop
TRUEzobrazení nabídky z přetažením na kartu na jinou skupinu s kartami.FALSEv nabídce Zobrazit jako místní nabídky na aktivní kartu.
Vrácená hodnota
Přepsat tuto metodu v Třída CMDIFrameWndEx-odvozené třídy.
Poznámky
Pokud není proces OnShowMDITabContextMenu , nebudou zobrazeny v místní nabídce.Tato funkce je generován Průvodce aplikace MFC povolíte funkci skupin s kartami MDI.
Příklad
Následující příklad ukazuje jak OnShowMDITabContextMenu je používán VisualStudioDemo vzorku: aplikace 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;
}
Požadavky
Záhlaví: afxMDIFrameWndEx.h