class CMessagerDialog : public CWnd
{
public:
CMessagerDialog();
~CMessagerDialog();
protected:
afx_msg LRESULT DoSomthing(WPARAM wParam,LPARAM lParam);
}
BEGIN_MESSAGE_MAP(CGrmMonServer, CWnd)
ON_MESSAGE(WM_APP + 5, &CMessagerDialog::DoSomthing)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
CMessagerDialog::CMessagerDialog()
{
CString wnd_class_name = ::AfxRegisterWndClass(NULL);
BOOL created = this->CreateEx(0,wnd_class_name, L"MessagerDialog",0,0,0,0,0,HWND_MESSAGE,0);
}
LRESULT CMessagerDialog::DoSomthing(WPARAM wParam,LPARAM lParam)
{
AfxMessageBox(L"Who call me?");
return 0;
}
//实例化
CMessagerDialog *msgdlg = new CMessagerDialog;
//使用时,直接调用函数发送消息即可
msgdlg->SendMessage(WM_APP + 5, 0, 0);
如果主程序中无DoModal,可以手动调用msgdlg->RunModalLoop();
本文详细介绍了如何创建并实现消息对话框类 CMessagerDialog,并通过消息映射将其与特定消息关联,最终演示了如何实例化并调用该对话框发送消息。
883

被折叠的 条评论
为什么被折叠?



