屏蔽windows应用程序中,windows自带的右键菜单

屏蔽windows应用程序中,windows自带的右键菜单

  • 整体框架的右键菜单,下框栏等右键。

    解决方案:重载状态栏右键菜单函数。OnPaneContextMenu

    实现:

    //.h
    
    #pragma once
    
    
    #include "afxribbonstatusbar.h"
    
    
    class MyCMFCRibbonStatusBar :public CMFCRibbonStatusBar
    {
    public:
    MyCMFCRibbonStatusBar(void);
    ~MyCMFCRibbonStatusBar(void);
    void OnPaneContextMenu(CWnd* pParentFrame, CPoint point);
    };
    //.cpp
    
    #include "StdAfx.h"
    
    
    #include "MyCMFCRibbonStatusBar.h"
    
    
    MyCMFCRibbonStatusBar::MyCMFCRibbonStatusBar(void)
    {
    }
    
    MyCMFCRibbonStatusBar::~MyCMFCRibbonStatusBar(void)
    {
    }
    //去掉状态栏右键
    void MyCMFCRibbonStatusBar::OnPaneContextMenu(CWnd* pParentFrame, CPoint point){
    return;
    }
  • 屏蔽里面GroupTree里面的右键消息

    1. 需要屏蔽到右键消息,如果对右键消息直接屏蔽,会导致消息想上层传递。
// 处理class CGroupTree : public CTreeCtrl
1. 添加右键消息响应
  afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
2.消息映射表添加
 BEGIN_MESSAGE_MAP(CGroupTree, CTreeCtrl)
    ON_WM_RBUTTONUP()
 END_MESSAGE_MAP()

 //处理class CColoredListCtrl : public CListCtrl
3.
  class CColoredListCtrl : public CListCtrl
{
public:
    afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
};
4.
  void CColoredListCtrl::OnRButtonUp(UINT nFlags, CPoint point) {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    //CListCtrl::OnRButtonUp(nFlags, point);
}
5.class CPropertiesViewBar : public CDockablePane
  void CPropertiesViewBar::OnRButtonUp(UINT nFlags, CPoint point) {
    // TODO: 在此添加消息处理程序代码和/或调用默认值

    //CDockablePane::OnRButtonUp(nFlags, point);
}
6.class CMessagegDlg : public CDialog
    afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
    afx_msg void OnNMRClickList1(NMHDR *pNMHDR, LRESULT *pResult);
7.
  void CMessagegDlg::OnRButtonUp(UINT nFlags, CPoint point) {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    //CDialog::OnRButtonUp(nFlags, point);
}

8.
void CMessagegDlg::OnNMRClickList1(NMHDR *pNMHDR, LRESULT *pResult) {
    LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
    *pResult = -1;//不再传递给上层
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值