[size=large]MFC两个对话框SendMessage通信[/size]
用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消息。
用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消息。