*****如何在程序中实现一个右健快捷菜单?(在线等)
我在view中右健单击,想弹出一个菜单,如何实现? 问题点数:0、回复次数:3Top
1 楼lsaturn(土星-站了一晚)回复于 2004-05-04 11:55:34 得分 0
m_hPickMenu = GetSubMenu(LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_MENUFUDU)), 3);
TrackPopupMenu(m_hPickMenu, TPM_RIGHTBUTTON, nXPos, nYPos, 0, hDlg, NULL);
Top
2 楼sgnaw(李逍遥)回复于 2004-05-04 12:12:44 得分 0
1.添加一个菜单,IDR_MENU1,然后随便加点菜单进去,例如:
File
-------
Open
Save
2.重载 OnContextMenu :
void CMyMFCDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
CMenu menu;
// 载入菜单
VERIFY( menu.LoadMenu( IDR_MENU1 ) );
// 得到弹出菜单
CMenu* popup = menu.GetSubMenu( 0 );
ASSERT( popup != NULL );
// 在窗体上点右键弹出菜单来
popup->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, pWnd );
}Top
3 楼cul(恐龙++)回复于 2004-05-08 15:15:20 得分 0
1.添加一个菜单,IDR_MENU1,然后随便加点菜单进去,例如:
File
-------
Open
Save
2.在鼠标右击事件中加入代码OnRButtonDown:
void CMyMFCDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
CMenu menu;
// 载入菜单
menu.LoadMenu( IDR_MENU1 );
// 得到弹出菜单
CMenu* popup = menu.GetSubMenu( 0 );
// 在窗体上点右键弹出菜单来
popup->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
}
Top




