MFC两个对话框SendMessage通信

MFC两个对话框SendMessage通信

  用MFC做Demo时需要两个对话框进行通信,两个对话框的关系如下:
    1.CDialog<-- CDHtmlDialog<--CHtmlCtrl
    2.CDialog<-CTwitter_demo_mfcDlg
CHtmlCtrl和CTwitter_demo_mfcDlg同样继承与CDialog。在CTwitter_demo_mfcDlg中会创建和显示CHtmlCtrl窗口。
  
   那么CHtmlCtrl和CTwitter_demo_mfcDlg如何通信呢?

方法1:设置父子关系
     1.在创建CTwitter_demo_mfcDlg时设置父窗口,设置如下:
     Create(IDD_DIALOG_WEB,this);
     2.在 CHtmlCtrl中就可以获得CTwitter_demo_mfcDlg窗口句柄this->GetParent()->m_hWnd;
     3.通过::SendMessage(m_dig_hwnd,WM_WEB_CLOSE,0,0);
       具体通信见《MFC--自定义消息的发送与接收的方法实现》

方法2:直接通过SendMessage通信
     1.直接保存CTwitter_demo_mfcDlg的句柄到CHtmlCtrl中
     2.通过::SendMessage(hwnd,WM_WEB_CLOSE,0,0);
     3.CTwitter_demo_mfcDlg中截获WM_WEB_CLOSE消息。

你可能感兴趣的:(message)