现在的位置: 首页 > 综合 > 正文

BCG圆盘菜单

2018年07月11日 ⁄ 综合 ⁄ 共 864字 ⁄ 字号 评论关闭

一,新建一个BCG工程BCGPRadialMenuSingle,基于对话框。

二, 新建或找一个png图片,上面画几个图标。导入到工程。导入后类型为PNG资源IDIDR_PNG1。

三,利用类向导重写PreTranslateMessage。

BOOL CBCGPRadialMenuSingleDlg::PreTranslateMessage(MSG* pMsg) 

{

if (pMsg->message == WM_RBUTTONDOWN )

{

CPoint point = pMsg->pt ;

CBCGPRadialMenu* pMenuCtrl = new CBCGPRadialMenu;

CBCGPRadialMenuObject* pMenu = pMenuCtrl->GetRadialMenuObject();

ASSERT_VALID(pMenu);

pMenu->SetImageList(IDR_PNG1);

pMenu->AddCommand(ID_EDIT_PASTE, 2 /* Image index */);

pMenu->AddCommand(ID_EDIT_CUT, 3 /* Image index */);

pMenu->AddCommand(ID_EDIT_COPY, 4 /* Image index */);

pMenu->EnableCenterButton();

pMenu->AddCommand(ID_EDIT_CLEAR, 7 /* Image index */);

pMenuCtrl->CreatePopup(point, (BYTE)( 155));

}

return CBCGPDialog::PreTranslateMessage(pMsg);

}

四,Ctrl+F5运行,在对话框上右键,效果如图。

说明:

一,由于CBCGPRadialMenu派生子CStatic,所以直接在界面上拖一个静态控件,然后关联CBCGPRadialMenu类型地变量,这样圆盘菜单总出现。

 

源码下载:

 

BCG圆盘菜单

抱歉!评论已关闭.