MFC树型控件浏览文件目录(三)

MFC树型控件浏览文件目录(三)--添加

右键菜单

   

今天把树型控件这个小小的工程写完吧,最后一部就是加上右键弹出菜单,效果图如图3-1,就是在树的节点上单击右键时,会弹出菜单,下面让我们来编码实现。

图3-1 右键菜单效果图
MFC树型控件浏览文件目录(三)--添加右键菜单

1、第一步,既然要弹出菜单,那我们首先要建立一个菜单:在工程的资源视图里,右键单击“MyTree.rc”->"添加资源",然后选择“Menu”,点击新建。如图3-2所示。新建的菜单默认ID为IDR_MENU1,当然你可以选中菜单后在其属性中修改这个ID,在这里,我们把ID个性为IDR_MENU_MYTREE,如图3-3所示。

图3-2 新建菜单资源
MFC树型控件浏览文件目录(三)--添加右键菜单

图3-3 修改菜单ID
MFC树型控件浏览文件目录(三)--添加右键菜单

菜单建立好了之后,我们就简单添加几个菜单项,这里添加的如图3-4所示:

图3-4 添加菜单项
MFC树型控件浏览文件目录(三)--添加右键菜单
好了,到现在,一个简单的菜单就搞定了,下一步就是点击右键时,弹出这个菜单了。

2、点击右键弹出菜单。有了菜单后,我们要为树型控件添加一个右键响应函数,这里就不介绍了,大概如图3-5所示。

图3-5 为树型控件添加右键响应函数
MFC树型控件浏览文件目录(三)--添加右键菜单

右键响应函数代码如下。很简单,这里就不多介绍了,GetSelectTree();函数在前面的第2节中已经介绍过了,这里不再赘述。

void CMyTreeDlg::OnNMRClickMytree(NMHDR *pNMHDR, LRESULT *pResult)
{
            // TODO: 在此添加控件通知处理程序代码

            //临时鼠标的屏幕坐标,用来弹出menu
            CPoint ScreenPt;
            GetCursorPos(&ScreenPt);

            //获取到当前鼠标选择的树节点
            m_CurTree = GetSelectTree();
            if (m_CurTree != NULL)
            {
                        m_MyTree.SelectItem(m_CurTree); //使右键单击的树节点被选中

                        CMenu menu;
                        menu.LoadMenuW(IDR_MENU_MYTREE);
                        CMenu* pPopup = menu.GetSubMenu(0);//装载第一个子菜单,即我们菜单的第一列
                       pPopup->TrackPopupMenu(TPM_LEFTALIGN, ScreenPt.x, ScreenPt.y, this);//弹出菜单
            }
            *pResult = 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值