首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

VC 右键菜单,该怎么解决

2013-01-23 
VC 右键菜单void CMyClockDlg::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: Add your message ha

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
[解决办法]

引用:
Quote: 引用:
OnContextMenu,本来就是右键标题栏才会触发
窗口右键触发,怎么不用OnRButtonDown[/quot]

能具体说一下吗

实在不行就用这个
BOOL PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_RBUTTONDOWN){  do sth; }
return FALSE;
}
[解决办法]
CRect rect;
GlgitemItem(篮框IDC_xxxx)->GetClientRect(&rect);

在窗口的鼠标右键消息中
if(rect.PtInRect(point))
{
  动态创建菜单、弹出菜单
}
[解决办法]
引用:
Quote: 引用:
OnContextMenu,本来就是右键标题栏才会触发
窗口右键触发,怎么不用OnRButtonDown[/quot]

能具体说一下吗

OnRButtonDown和OnContextMenu 都是窗口消息响应函数,
OnContextMenu 怎么自动产生的,OnRButtonDown也是一样

热点排行