在视频窗口点击右键 弹出菜单选项如下:
实现过程:
step1:
在资源视图中Menue中添加一个 Menu类 设置ID为 IDR_MENU_LIVE
step 2:
在liveWin.cpp中添加 右键弹起消息处理函数 ON_WM_RBUTTONUP() 并设置菜单选项可选以及不可选操作
void CLiveWndChn::OnRButtonUp(UINT nFlags, CPoint point)
{
CMenu menuPop;
CMenu *subMenu;
POINT pox_cur;
menuPop.LoadMenu(IDR_MENU_LIVE);
subMenu = menuPop.GetSubMenu(0);
if(m_lHandle)
{
subMenu->EnableMenuItem(IDR_MENU_LIVE_LINK, MF_BYCOMMAND | MF_GRAYED);
subMenu->EnableMenuItem(IDR_MENU_LIVE_SHUT, MF_BYCOMMAND);
subMenu->EnableMenuItem(IDR_MENU_LIVE_REC, MF_BYCOMMAND);
//subMenu->EnableMenuItem(IDR_MENU_LIVE_CONFIG, MF_BYCOMMAND);
subMenu->CheckMenuItem(IDR_MENU_LIVE_REC, m_bRecord ? MF_BYCOMMAND | MF_CHECKED : MF_BYCOMMAND);
}
else
{ // 第一次点击链接之前
subMenu->EnableMenuItem(IDR_MENU_LIVE_LINK, MF_BYCOMMAND);
subMenu->EnableMenuItem(IDR_MENU_LIVE_SHUT, MF_BYCOMMAND | MF_GRAYED);
//subMenu->EnableMenuItem(IDR_MENU_LIVE_CONFIG, MF_BYCOMMAND | MF_GRAYED);
subMenu->CheckMenuItem(IDR_MENU_LIVE_REC, MF_BYCOMMAND);
}
GetCursorPos(&pox_cur);
subMenu->TrackPopupMenu(TPM_LEFTALIGN, pox_cur.x, pox_cur.y, this);
/*if(m_pLiveScren->GetFullScreen())
{
m_pLiveScren->SetFullScreen(FALSE);
}*/
CWnd::OnRButtonUp(nFlags, point);
}
Step: 3
添加菜单选择事件
afx_msg void OnMenuLiveLink();
afx_msg void OnMenuLiveConfig();