C++ 如何通知父对话框按钮关闭消息

C++ 如何通知父对话框按钮关闭消息,c++,mfc,subclassing,C++,Mfc,Subclassing,我想对CButton进行子类化,以处理ON_WM_LBUTTONDOWN消息 DownButton.cpp: #include "stdafx.h" #include "DownButton.h" //CDownButton IMPLEMENT_DYNAMIC(CDownButton, CButton) CDownButton::CDownButton() { } CDownButton::~CDownButton() { } BEGIN_MESSAGE_MAP(

我想对CButton进行子类化,以处理ON_WM_LBUTTONDOWN消息

DownButton.cpp:

#include "stdafx.h" 
#include "DownButton.h" 

//CDownButton 

IMPLEMENT_DYNAMIC(CDownButton, CButton) 

CDownButton::CDownButton() 
{ 
} 

CDownButton::~CDownButton() 
{ 
} 


BEGIN_MESSAGE_MAP(CDownButton, CButton) 
    ON_WM_LBUTTONDOWN() 
END_MESSAGE_MAP() 



// CDownButton message handlers 

void CDownButton::OnLButtonDown(UINT nFlags, CPoint point) 
{ 
}
下载按钮

#pragma once 


// CDownButton 

class CDownButton : public CButton 
{ 
    DECLARE_DYNAMIC(CDownButton) 

public: 
    CDownButton(); 
    virtual ~CDownButton(); 

protected: 
    DECLARE_MESSAGE_MAP() 
public: 
    afx_msg void OnLButtonDown(UINT nFlags, CPoint point); 
}; 

但是,如何通知包含此按钮的对话框发生这种情况?它似乎只能在单击时收到消息。

您需要在OnLButtonDown事件中将消息重新发送给家长:

void CDownButton::OnLButtonDown(UINT nFlags, CPoint point) 
{ 
   // do what you want to do ...

   GetParent()->SendMessage(WM_COMMAND, GetDlgCtrlID() | WM_LBUTTONDOWN << 16, (LONG) GetSafeHwnd());
}
void CDownButton::OnLButtonDown(UINT nFlags,CPoint point)
{ 
//做你想做的事。。。

GetParent()->SendMessage(WM_命令,GetDlgCtrlID()| WM_LBUTTONDOWN我已经多年没有使用MFC了,但我认为父窗口可以直接接收其子窗口中事件的通知,我应该在_命令(ID_按钮和Dialog::function)上添加
在对话框的
BEGIN\u MESSAGE\u MAP
中,但是如何使用WM\u LBUTTONDOWN?