MonoKelvin 2020-07-30 11:25 采纳率: 40%
浏览 78
已采纳

WTL自定义控件怎么添加事件?

我自定义了一个树形列表,但下面的OnLButtonDown事件怎么样都不会响应。只有父窗口可以接收到点击事件,但这个子控件接收不到,所以我要怎么写才能接收到事件呢?

class CTreeWidget : public CTreeViewCtrl
{
public:
    CTreeWidget(void) = default;

    ~CTreeWidget(void);

    BOOL PreTranslateMessage(MSG* pMsg)
    {
        return CWindow::IsDialogMessage(pMsg);
    }

    // 消息映射
    BEGIN_MSG_MAP(CXmlTreeWidget)
        MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
    END_MSG_MAP()

    LRESULT OnLButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) {
        ::MessageBox(NULL, NULL, NULL, MB_OK);
    }
};


  • 写回答

1条回答 默认 最新

  • threenewbee 2020-07-31 08:21
    关注

    这个vc++提供了生成事件响应代码的工具,直接让vc生成就可以了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?