模态对话框向视图发送自定义消息

  菜鸟学VC,遇到对话框向视图发送自定义消息。

解决方法:

   在对话框类中使用CWnd::SendMessage函数

函数声明:

LRESULT SendMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );

Parameters

message:自定义的消息
wParam :消息参数
lParam :消息参数

 

(1)#define WM_SEND WM_USER+1 //声明自定义消息

 

(2)对话框类中添加CWnd指针

 CWnd* m_pParent; 

为了使m_pParent指向视图窗口,在对话框对象的构造函数对其进行初始化。

 m_pParent =((CFrameWnd*)(AfxGetApp()-> m_pMainWnd))-> GetActiveView();

 

(3)向视图窗口发送自定义消息

 m_pParent->SendMessage(WM_SEND,0,0);

(4)在视图类手动添加消息处理函数

        添加消息响应映射 ON_MESSAGE(WM_SEND,OnSend)

        添加响应函数声明 afx_msg LONG OnSend(WPARAM wParam,LPARAM lParam);

        添加onSend函数 LONG C****View::OnSend(WPARAM wParam,LPARAM lParam)

如果有错误之处或其他方法,欢迎指教。

你可能感兴趣的:(c,user)