给EditCtrl添加自定义菜单并实现Copy,Cut和Paste功能

首先自定义一个类CEditCtrl,该类继承与CEdit。在类中添加OnContextMenu(CWnd*, CPoint);

 

 

 在以上函数中的IDR_MENU_CONTEXT Menu中添加Copy,Cut和Paste项ID分别为ID_MENU_COPY, ID_MENU_CUT和ID_MENU_PASTE。

   在CEdtiCtrl中添加这几个菜单项的响应函数

 

 

     

      • 0
        点赞
      • 0
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      以下是 MFC 多文档实现复制、粘贴、撤销、重做、剪切、全选和删除功能的代码示例: 复制: ```cpp // 获取当前视图 CMyView* pView = (CMyView*)GetActiveView(); if (!pView) return; // 获取文档 CMyDoc* pDoc = pView->GetDocument(); if (!pDoc) return; // 获取选中区域 CMFCRibbonRichEditCtrl& editCtrl = pView->GetEditCtrl(); editCtrl.Copy(); ``` 粘贴: ```cpp // 获取当前视图 CMyView* pView = (CMyView*)GetActiveView(); if (!pView) return; // 获取文档 CMyDoc* pDoc = pView->GetDocument(); if (!pDoc) return; // 获取选中区域 CMFCRibbonRichEditCtrl& editCtrl = pView->GetEditCtrl(); editCtrl.Paste(); ``` 撤销: ```cpp // 获取当前视图 CMyView* pView = (CMyView*)GetActiveView(); if (!pView) return; // 获取文档 CMyDoc* pDoc = pView->GetDocument(); if (!pDoc) return; // 撤销 CMFCRibbonRichEditCtrl& editCtrl = pView->GetEditCtrl(); editCtrl.Undo(); ``` 重做: ```cpp // 获取当前视图 CMyView* pView = (CMyView*)GetActiveView(); if (!pView) return; // 获取文档 CMyDoc* pDoc = pView->GetDocument(); if (!pDoc) return; // 重做 CMFCRibbonRichEditCtrl& editCtrl = pView->GetEditCtrl(); editCtrl.Redo(); ``` 剪切: ```cpp // 获取当前视图 CMyView* pView = (CMyView*)GetActiveView(); if (!pView) return; // 获取文档 CMyDoc* pDoc = pView->GetDocument(); if (!pDoc) return; // 剪切 CMFCRibbonRichEditCtrl& editCtrl = pView->GetEditCtrl(); editCtrl.Cut(); ``` 全选: ```cpp // 获取当前视图 CMyView* pView = (CMyView*)GetActiveView(); if (!pView) return; // 获取文档 CMyDoc* pDoc = pView->GetDocument(); if (!pDoc) return; // 全选 CMFCRibbonRichEditCtrl& editCtrl = pView->GetEditCtrl(); editCtrl.SetSel(0, -1); ``` 删除: ```cpp // 获取当前视图 CMyView* pView = (CMyView*)GetActiveView(); if (!pView) return; // 获取文档 CMyDoc* pDoc = pView->GetDocument(); if (!pDoc) return; // 删除 CMFCRibbonRichEditCtrl& editCtrl = pView->GetEditCtrl(); editCtrl.ReplaceSel(_T("")); ```
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

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

      抵扣说明:

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

      余额充值