请问如何在一个自制的文件目录浏览框中,添加一个系统的右键菜单

hsdly 2008-05-15 09:43:18
想定制一个自己的文件打开列表,点击每个文件可以看到可以对他的一些操作,如打开方式,压缩,就像把在资源管理器中打开一个文件时,每个文件对应的那个右键菜单。
最好就是把那个右键菜单加载进来。谢谢
...全文
120 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
acmsong 2008-05-18
  • 打赏
  • 举报
回复
估计得自己写。。高手继续。。
hsdly 2008-05-18
  • 打赏
  • 举报
回复
继续等待高手帮助
hsdly 2008-05-17
  • 打赏
  • 举报
回复
哦,那些菜单项的内容,需要重新自己写吧,能获得系统那个吗?
长尾巴的悟空 2008-05-16
  • 打赏
  • 举报
回复
project->add to project->component and controls
选择visual C++ component目录下pop up menu
这个简单,不过你得记住鼠标点下的位置.
Eleven 2008-05-16
  • 打赏
  • 举报
回复
up
古月无华 2008-05-16
  • 打赏
  • 举报
回复
新建一个Cmenu,里面加上几个子项,如打开方式,压缩...,然后,在鼠标右键事件里,先判断鼠标的位置,如果在文件列表内,pop up 显示这个Cmenu,同时获取当前项的序号,用于对指定文件进行操作。


1添加Menu资源,在里面设好内容

2添加鼠标右键点击消息

具体实现:

void DIALOG1::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
LPPOINT lpoint=new tagPOINT;
::GetCursorPos(lpoint); //获得鼠标
CMenu menu,*pSubMenu;
menu.LoadMenu(IDR_MENU2); //添加菜单资源
pSubMenu=menu.GetSubMenu(0); //设置菜单弹出项目起始位置
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this); //获得鼠标位置
*pResult = 0;
}

量子高宏亮 2008-05-16
  • 打赏
  • 举报
回复
project->add to project->component and controls
选择visual C++ component目录下pop up menu
hsdly 2008-05-16
  • 打赏
  • 举报
回复
能再说的详细一点儿吧,不太明白。
hsdly 2008-05-15
  • 打赏
  • 举报
回复
能直接加载吗?能说的再明白点儿吗?
菜牛 2008-05-15
  • 打赏
  • 举报
回复
那就在注册表中找到相应文件类型对应的ShellEx选项,通过扩展模块的IContextMenu接口就可以加载菜单。

16,551

社区成员

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

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

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