|
1:创建一个菜单资源
2:创建想用来调用弹出式菜单的工具按钮,给按钮一个唯一的ID
3: 创建工具按钮相关联的WM_COMMAND消息添加一个处理函数。
void CMainFrame::OnChooseColor()
{
//从资源中装载顶层菜单
CMenu mnuTop;
mnuTop.LoadMenu(IDR_COLOR_POPUP);
//从第一个子菜单中得到弹式菜单
CMenu* pPopup = mnuTop.GetSubMenu(0);
ASSERT_VALID(pPopup);
//找到相关联的工具栏按钮的位置
CRect rc;
int nIndex = m_wndToolBar.CommandToIndex(ID_CHOOSE_COLOR);
ASSERT(nIndex >= 0);
m_wndToolBar.GetItemRect(nIndex,&rc);
m_wndToolBar.ClientToScreen(&rc);
//显示弹出式菜单
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON,rc.left,rc.bottom,this,NULL);
} |
|