重点:
1.采用acedRegisterFilterWinMsg去注册消息
2.两种 形式
(1)随便声明定义在一个文件中,写成全局函数
//处理消息的内容
BOOL GetMSG(MSG* msg)
{
if (msg->message == WM_LBUTTONDOWN)
{
}
return FALSE; //False表示让消息继续传递下去,true表示让消息终止,不再传给其他控件
}
void RegMsg()
{
//采用acedRegisterFilterWinMsg注册消息
if (!acedRegisterFilterWinMsg(GetMSG))
{
}
}
void RemMsg()
{
//采用acedRemoveFilterWinMsg删除消息
if (!acedRemoveFilterWinMsg(GetMSG))
{
}
}
然后在每一个dllmain的执行的过程中去初始化
(2)在类中定义一个static函数,然后在dllmian中去注册
class POPBAR_API CommandPopDlg : public CBCGPDialog
{
DECLARE_DYNAMIC(CommandPopDlg)
public:
CommandPopDlg(const CString& categoryName, const CString& panelName, CWnd* pParent = nullptr); // 标准构造函数
virtual ~CommandPopDlg();
enum {IDD = IDD_POP_DLG};
//注册一个static消息
static BOOL DealWithFilterWinMsg(MSG* msg);
}