MFC中右键菜单显示有关问题
MFC中右键菜单显示问题
先上图
定义了菜单以后,右键后,菜单显示不全,不知道怎么回事,用mfc不是很多,我的右键消息的代码是
------解决方案--------------------
// CMenu Menu,*pMenu;
// Menu.LoadMenu(IDR_MENU_POP);
// pMenu=Menu.GetSubMenu(0);
// POINT pt;
// GetCursorPos(&pt);
// pMenu->TrackPopupMenu(TPM_LEFTALIGN
------解决方案--------------------
TPM_BOTTOMALIGN
------解决方案--------------------
TPM_LEFTALIGN
------解决方案--------------------
TPM_RIGHTBUTTON,pt.x,pt.y,this);
------解决方案--------------------
这是我以前用过的一段
获取坐标的部分可以忽略掉,其他的部分可以参考下
先上图
定义了菜单以后,右键后,菜单显示不全,不知道怎么回事,用mfc不是很多,我的右键消息的代码是
void CMainFrame::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
CMenu menu;
CPoint pot;
CMenu* pPopup;
VERIFY(menu.LoadMenu(IDR_RBmenu));
//pPopup = menu.GetSubMenu(0);
GetCursorPos(&pot);
menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON, pot.x, pot.y,this);
//pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pot.x, pot.y,this);
*pResult = 0;
}
------解决方案--------------------
// CMenu Menu,*pMenu;
// Menu.LoadMenu(IDR_MENU_POP);
// pMenu=Menu.GetSubMenu(0);
// POINT pt;
// GetCursorPos(&pt);
// pMenu->TrackPopupMenu(TPM_LEFTALIGN
------解决方案--------------------
TPM_BOTTOMALIGN
------解决方案--------------------
TPM_LEFTALIGN
------解决方案--------------------
TPM_RIGHTBUTTON,pt.x,pt.y,this);
------解决方案--------------------
HMENU hroot = LoadMenuA(NULL, "MENU");
if (hroot)
{
POINT pt = msg.ptMouse;
ClientToScreen(m_hWnd,&pt);
HMENU hpop = GetSubMenu(hroot,0);
TrackPopupMenu(hpop,
TPM_LEFTALIGN
------解决方案--------------------
TPM_TOPALIGN
------解决方案--------------------
TPM_RIGHTBUTTON,
pt.x,
pt.y,
0,
m_hWnd,
NULL);
// 用完后要销毁菜单资源
DestroyMenu(hroot);
}
这是我以前用过的一段
获取坐标的部分可以忽略掉,其他的部分可以参考下