TrackPopupMenu 创造菜单一闪而过
TrackPopupMenu 创建菜单一闪而过
今天遇到个问题,找了半天没找到元原因,哪位大侠能帮我看看到底是什么问题吗?
单击右键的时候会出现菜单,但是当松开右键的时候菜单就消失了。哎,调试了好久都没有找到原因,有谁遇到过这样的问题吗?还有一个小问题就是,如何创建前面带勾的菜单。谢谢!!
------解决方案--------------------
在Mouse_Up消息中调用 pMenu.TrackPopupMenu
------解决方案--------------------
我试了一下你的代码 没发现问题 如果你的右键菜单在OnRButtonDown中,需要将鼠标位置点转换为屏幕坐标
------解决方案--------------------
菜单消失 是不是在什么状态下失去了焦点?
带钩的菜单可以使用 CheckMenuItem
------解决方案--------------------
定义成局部变量了!加上下面的代码 试试看
pMenu.Detach(); //将资源句柄和menu对象断开
今天遇到个问题,找了半天没找到元原因,哪位大侠能帮我看看到底是什么问题吗?
- C/C++ code
CMenu pMenu; bool a =pMenu.CreatePopupMenu(); map<int,CChartMgr*>::iterator tIter; for (tIter = m_ChartValue.begin();tIter!= m_ChartValue.end();tIter++) { pMenu. AppendMenu(MF_STRING, tIter->first,tIter->second->m_ChartViewConf.m_csName); } int nSelection=pMenu.TrackPopupMenu (TPM_LEFTALIGN | TPM_RIGHTBUTTON , pt.x, pt.y, this);
单击右键的时候会出现菜单,但是当松开右键的时候菜单就消失了。哎,调试了好久都没有找到原因,有谁遇到过这样的问题吗?还有一个小问题就是,如何创建前面带勾的菜单。谢谢!!
------解决方案--------------------
在Mouse_Up消息中调用 pMenu.TrackPopupMenu
------解决方案--------------------
我试了一下你的代码 没发现问题 如果你的右键菜单在OnRButtonDown中,需要将鼠标位置点转换为屏幕坐标
------解决方案--------------------
菜单消失 是不是在什么状态下失去了焦点?
带钩的菜单可以使用 CheckMenuItem
------解决方案--------------------
定义成局部变量了!加上下面的代码 试试看
pMenu.Detach(); //将资源句柄和menu对象断开