MFC对话框EDIT控件怎么实现在edit内点击鼠标右键,弹出自定义的菜单而非系统自带的菜单!
如题!
新手求教,能给出具体代码最好!
我是这样做的:重载了CEdit函数 添加WM_CONTEXTMENU消息
具体代码:
void MyEdit::OnContextMenu(CWnd* pWnd, CPoint point)
{
CMenu menu;
VERIFY(menu.LoadMenu(IDR_MENU2));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup);
CWnd* pWndPopupOwner = this;
while (pWndPopupOwner->GetStyle() & WS_CHILD)
pWndPopupOwner = pWndPopupOwner->GetParent();
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,
pWndPopupOwner);
}
但到了ASSERT(pPopup);会中断。
求高手们帮我改下,或者给出能出能实现的代码也行!先谢谢各位!
[解决办法]
这个不负责吧
void CPopMenuDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
CMenu* m_tempmenu = m_menu.GetSubMenu(0);
m_tempmenu->TrackPopupMenu(TPM_LEFTBUTTON
[解决办法]
TPM_LEFTALIGN,point.x,point.y,this);
}
CMenu menu_process;
menu_process.LoadMenu(IDR_MENU2);
CMenu * m_tempmenu = menu_process.GetSubMenu(0);
m_tempmenu->TrackPopupMenu(TPM_LEFTALIGN
[解决办法]
TPM_RIGHTBUTTON,pt.x,pt.y,this);