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,捷徑功能表就不會顯示。 當您啟用 MDI 索引標籤的群組功能時,這個函式是由 [MFC 應用程式精靈] 產生。
範例
下列範例示範如何使用 OnShowMDITabContextMenuVisualStudioDemo 範例:MFC Visual Studio 應用程式。
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