无法让 OnContextMenu 为自定义 CListCtl 类工作

Posted

技术标签:

【中文标题】无法让 OnContextMenu 为自定义 CListCtl 类工作【英文标题】:Can't get OnContextMenu to work for custom CListCtl class 【发布时间】:2010-02-05 13:49:16 【问题描述】:

我正在尝试使上下文菜单适用于 CListCtrl 派生类。我刚刚创建了一个方法 OnContextMenu,但它没有被调用。我错过了什么?我正在使用 Visual Studio 2008 创建一个基于 CDialog 的 MFC 应用程序。

自定义列表.h

class tcCustomListCtl : public CListCtl

    DECLARE_DYNAMIC(tcCustomListCtl)

public:
    tcCustomListCtl();
    virtual ~tcCustomListCtl();

protected:
    DECLARE_MESSAGE_MAP()

    afx_msg void OnContextMenu(CWnd* pWnd,CPoint pos );
;

自定义列表.cpp

// tcFaultListCtl
IMPLEMENT_DYNAMIC(tcCustomListCtl, CListCtrl)

tcCustomListCtl::tcCustomListCtl()



tcCustomListCtl::~tcCustomListCtl()



BEGIN_MESSAGE_MAP(tcCustomListCtl, CListCtrl)
END_MESSAGE_MAP()

// tcCustomListCtl message handlers
afx_msg void tcCustomListCtl::OnContextMenu(CWnd* pWnd,CPoint pos )

  TRACE("tcCustomListCtl::OnContextMenu\n");

【问题讨论】:

【参考方案1】:

我发现我必须将 ON_WM_CONTEXTMENU() 添加到消息映射中。

【讨论】:

以上是关于无法让 OnContextMenu 为自定义 CListCtl 类工作的主要内容,如果未能解决你的问题,请参考以下文章

为自定义 Barrier 设计测试类

如何在 .NET 中为自定义配置部分启用 configSource 属性?

自定义小部件无法转换为自定义小部件

如何使选定的单元格为自定义单元格 UITableViewCell 变成不同的颜色

如何让 CodeDeploy Blue/Green 为自定义指标创建 CloudWatch 警报?

无法为自定义栏按钮设置标题?