使用BCG控件后在Run-time时修改菜单
定义函数:
class CMainFrame : public CBCGPMDIFrameWnd
{
//---------------------------------------------------------
//重写该虚函数 OnShowPopMenu(),以实现在运行时(Run-time)修改菜单的功能
//但继承关系、实现原理、以及何时调用,仍然不清楚。只是参照sample application
//实现了这一功能
// by Xue
//2011-12-03
//---------------------------------------------------------
virtual BOOL OnShowPopupMenu (CBCGPPopupMenu* pMenuPopup);
}
实现函数:
BOOL CMainFrame::OnShowPopupMenu (CBCGPPopupMenu* pMenuPopup)
{
//---------------------------------------------------------
// 该函数来自于BCG控件DynamicMenu sample application
// 只使用了一小部分功能:在运行时隐藏两个菜单,拍照与截取视频。
// 这里只给出了修改作用的代码,略去了BCG原有的代码
//---------------------------------------------------------
//------------- 删除两个菜单项 --------------------//
int iIndex = -1;
if (!CBCGPToolBar::IsCustomizeMode())
{
// remove the 截取视频 item in noncustomize mode
iIndex = pMenuPopup->GetMenuBar ()->CommandToIndex (ID_VIDEO_CLIP) ;
pMenuPopup->RemoveItem (iIndex);
// remove the 抓图 item in noncustomize mode
iIndex = pMenuPopup->GetMenuBar ()->CommandToIndex (ID_32855) ;
pMenuPopup->RemoveItem (iIndex);
pMenuPopup->InsertSeparator (iIndex); // insert the separator at the end
}
//-------------------------------------------//
return TRUE;
}
浙公网安备 33010602011771号