我在我的程序中加入了TreeCtrl的右键信息响应函数,弹出个菜单资源。程序:void CTreeCtrl::OnRButtonDown(UINT nFlags, CPoint point)
{
CMenu menu; menu.LoadMenu(IDR_POPMENU);//IDR_POPMENU为自己创建的一个菜单资源 menu.TrackPopupMenu(TPM_RIGHTBUTTON,point.x,point.y,this);
}消息倒是响应,运行时实现的功能也无错,就是弹出的菜单只是一个竖条。开始以为是自己建的菜单的问题,结果换了系统创建的IDR_MAINFRAME菜单也是一样的,但子菜单显示又无问题。不知道是什么原因,请高手帮忙解答一下,谢谢!
{
CMenu menu; menu.LoadMenu(IDR_POPMENU);//IDR_POPMENU为自己创建的一个菜单资源 menu.TrackPopupMenu(TPM_RIGHTBUTTON,point.x,point.y,this);
}消息倒是响应,运行时实现的功能也无错,就是弹出的菜单只是一个竖条。开始以为是自己建的菜单的问题,结果换了系统创建的IDR_MAINFRAME菜单也是一样的,但子菜单显示又无问题。不知道是什么原因,请高手帮忙解答一下,谢谢!
解决方案 »
- 求助:有关位图保存的问题
- 88分 求MSDN 2001 OCT 版本的下载地址
- 用VisualC++6.0创建DAO数据库,怎么连接?请您帮我指导一下,非常谢谢您!
- 内存指针问题希望高手指点~~~~~~~~~~~~~~~~~~~
- 现代GUI启示录-IBM,Microsoft为什么构造那些华丽绝伦的GUI桌面程序
- 数据库连接时报IDispatch error #3079?
- 怎么获取网络中其他主机的MAC地址?
- 有关调用COM接口的dll问题
- 在sdi中如何实现MainFrm.cpp和XXXView.cpp之间的数据传输?
- 两个进程能共享一个串口吗?
- 请问怎样让程序运行之后删除自己啊?
- 求麻将的算法
你应该这样
CMenu PopupMenu;
VERIFY(PopupMenu.LoadMenu(IDR_TREEPOPUPMENU));
CMenu * pPopup = PopupMenu.GetSubMenu(0); // 获取快捷菜单
ASSERT(pPopup != NULL); CPoint mpt;
::GetCursorPos(&mpt);
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON, mpt.x, mpt.y, GetParentFrame());
PopupMenu.DestroyMenu();