...........................................................
解决方案 »
- 500分求救!socket 多线程小问题(之一)
- 请教如何从CString当中获取到一个char字符串?
- CxImage设置时出现error C2535: 'bool __thiscall CxImage::Save(const char *,unsigned long)' : member function already defined or declar
- 哪位大哥把这个看似简单的问题破了,小弟愿管你叫声爸并减寿十年!#24
- 如何把 mp3 文件嵌入到 exe文件中?
- 哪位大哥有分形图像压缩的源代码?
- 我写的dll,拿到别的机上不能用
- 关于非MFC 创建窗体时入口函数申明的问题。
- 关于显示文件的问题?请各位帮忙!
- 如果我手头没有相应的硬件资源,如 语音卡,那我怎么学开发编程呢?
- 在MFC的SDI中如何动态创建一个浮动的视图窗口(拥有新的框架和视图)用来显示全局地图(工程自带的视图用来显示局部地图)
- mfc程序调试问题
所以就有了
ON_WM_CONTEXTMENU()
这个消息这个例子在VS2008以上版本带BCG风格的VS多文档中有void CClassView::OnContextMenu(CWnd* pWnd, CPoint point)
{
CTreeCtrl* pWndTree = (CTreeCtrl*)&m_wndClassView;
ASSERT_VALID(pWndTree); if (pWnd != pWndTree)
{
CDockablePane::OnContextMenu(pWnd, point);
return;
} if (point != CPoint(-1, -1))
{
// Select clicked item:
CPoint ptTree = point;
pWndTree->ScreenToClient(&ptTree); UINT flags = 0;
HTREEITEM hTreeItem = pWndTree->HitTest(ptTree, &flags);
if (hTreeItem != NULL)
{
pWndTree->SelectItem(hTreeItem);
}
} pWndTree->SetFocus();
CMenu menu;
menu.LoadMenu(IDR_POPUP_SORT); CMenu* pSumMenu = menu.GetSubMenu(0); if (AfxGetMainWnd()->IsKindOf(RUNTIME_CLASS(CMDIFrameWndEx)))
{
CMFCPopupMenu* pPopupMenu = new CMFCPopupMenu; if (!pPopupMenu->Create(this, point.x, point.y, (HMENU)pSumMenu->m_hMenu, FALSE, TRUE))
return; ((CMDIFrameWndEx*)AfxGetMainWnd())->OnShowPopupMenu(pPopupMenu);
UpdateDialogControls(this, FALSE);
}
}
注意看他使用point然后用tree对象的HitTest来触发选中的。楼主也可以尝试