CMenu制作右键弹出菜单问题。简单。速结。

zxl_lim 2004-09-28 11:13:21
制作好的菜单已经LoadMenu(...)了.
如何使菜单在按下右键时弹出来。用哪个函数。或是需要设置什么?
SetMenu(...)?
TrackPopupMenu(...)?
一时找不到。谢谢指点。
...全文
314 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxl_lim 2004-09-28
  • 打赏
  • 举报
回复
谢谢,还是不行,出现致命错误。
我说说具体情况吧。
在Dialog上画一个TreeView,再在TreeView::OnRclickTreeStruct函数中激活右键菜单。
右键还书片断.
OnRclickTreeStruct(NMHDR* pNMHDR, LRESULT* pResult) {
POINT mousepoint;
GetCursorPos(&mousepoint);

SetMenu(NULL);
CMenu * pMenu = m_popmenu.GetSubMenu(0);
pMenu->TrackPopupMenu(TPM_LEFTALIGN,
mousepoint.x, mousepoint.y, &m_treestruct);
*pResult = 0;
}
Kudeet 2004-09-28
  • 打赏
  • 举报
回复
CMenu menu,*pmenu;
menu.LoadMenu(IDR_MENU1);
pmenu=menu.GetSubMenu(0);

CPoint ptScreen(point);
ClientToScreen(&ptScreen);

pmenu->TrackPopupMenu(TPM_RIGHTBUTTON,ptScreen.x,ptScreen.y,this);
kugou123 2004-09-28
  • 打赏
  • 举报
回复
zfive5(醉马不肖 之 [孤舟蓑笠翁, 独钓寒江雪]) 正解~~
huaboy2004 2004-09-28
  • 打赏
  • 举报
回复
//读入弹出菜单资源
CMenu menu;
menu.LoadMenu(IDR_RBMENU);

//获得弹出菜单实际显示部分
CMenu* pSubMenu = menu.GetSubMenu(0);
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,mouse.x,mouse.y,this);
醉马不肖 2004-09-28
  • 打赏
  • 举报
回复
void CTreeCtrl::OnRButtonDown(UINT nFlags, CPoint point)
{

CPoint pt ( point ) ;
ClientToScreen ( &pt ) ;

CMenu menu ;
menu .LoadMenu ( IDR_MENU_TREE ) ;
CMenu * pMenu = menu .GetSubMenu ( 0 ) ;
ModifiedMenu ( pMenu ) ;
pMenu ->TrackPopupMenu ( TPM_LEFTALIGN, pt.x, pt.y, this ) ;
}
DentistryDoctor 2004-09-28
  • 打赏
  • 举报
回复
TrackPopupMenu,请注意hWnd应该是处理菜单消息的窗口句柄。
bohut 2004-09-28
  • 打赏
  • 举报
回复
m_PopMenu.GetSubMenu(0).TrackPopupMenuEx(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, m_hWnd);
Kudeet 2004-09-28
  • 打赏
  • 举报
回复
单独把我的代码放到一个新的工程里看能不能运行,看看是什么地方出的问题再?
mgm 2004-09-28
  • 打赏
  • 举报
回复
我有个动态菜单的Demo要不要,应用应该是差不多的
nwpulipeng 2004-09-28
  • 打赏
  • 举报
回复
呵呵,中秋接分
zxl_lim 2004-09-28
  • 打赏
  • 举报
回复
up一下吧

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧