VC 右键菜单
void CMyClockDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{ // TODO: Add your message handler code here
CMenu m_popMenu;
m_popMenu.LoadMenu(IDR_MENU1);
CMenu* pSubMenu=m_popMenu.GetSubMenu(0);
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON,point.x,point.y,this);
}
由于我做的是一个桌面时钟,所以桌面上只有时分秒针和表盘,我的目的是想让鼠标右击时产生一个退出按钮,可是不起作用,为什么呀。如果我要是把我的表加上一个蓝框的话,右击时就会弹出菜单(仅限在蓝框上右击)。 menu ?VC??菜单
[解决办法]
你的表盘是一个子控件做的吧?所以你的右键无法点击在对话框上,只能点击到这个子控件上了。
[解决办法]
OnContextMenu,本来就是右键标题栏才会触发
窗口右键触发,怎么不用OnRButtonDown
[解决办法]
实在不行就用这个
BOOL PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_RBUTTONDOWN){ do sth; }
return FALSE;
}
[解决办法]
CRect rect;
GlgitemItem(篮框IDC_xxxx)->GetClientRect(&rect);
在窗口的鼠标右键消息中
if(rect.PtInRect(point))
{
动态创建菜单、弹出菜单
}
[解决办法]
OnRButtonDown和OnContextMenu 都是窗口消息响应函数,
OnContextMenu 怎么自动产生的,OnRButtonDown也是一样