最后30分了我用静态拆分单文档成左右2个区域A,B(并且固定拆分条),A是显示语句. 我现在想实现的是 左击A的一条语句就能在B里相应的出现该语句的相关信息。(点不同的语句B出现不同的对应信息) 如何实现消息的传递呢。补充一下
左边 类 LeftView ,对话框类为 ListDlg 对话框ID
右边 类 RightUpView,对话框类为 SoundView 对话框ID 消息是 在拆分的类里传递 还是在 对话框类里传递?怎么传递,头大啊
左边 类 LeftView ,对话框类为 ListDlg 对话框ID
右边 类 RightUpView,对话框类为 SoundView 对话框ID 消息是 在拆分的类里传递 还是在 对话框类里传递?怎么传递,头大啊
SendMessage()
已经定义了一个自定义消息 WM_CWMK_RELOADNET
一种是发消息,你既然定义了消息,那么通过sendmessage发送,然后,在另外一个view里面做一个响应这个消息的函数,关联起来即可!
另外一种是直接在对方里面保存各自view的指针,直接调用!
在另外一个view里面做一个响应这个消息的函数,关联起来即可!
这一步我不会做。
ListDlg * m_pButtView;
SoundView * m_pClientView;
MainFrm.cpp
在你拆分窗口的后面m_ListDlg = (ListDlg *) m_ChildWnd.GetPane(0,0);
m_SoundView = (SoundView *) m_ChildWnd.GetPane(1,0);
在ListDlg类中
CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;
SoundView * Cactive = pMF->m_m_SoundView;Cactive->PostMessage
AView->GetSafeHwnd(), WM_MESSAGE,
BView->GetSafeHwnd(), Pos );
//消息转发给右侧上部窗口
m_VSplitterWnd.GetPane(0, 0)->PostMessageW(WM_CWMK_RELOADNET, wParam, lParam);
//消息转发给右侧下部窗口
m_VSplitterWnd.GetPane(1, 0)->PostMessageW(WM_CWMK_RELOADNET, wParam, lParam); 这是自定义消息的代码,我的工程里。
在头文件中,加messagefun的定义
1、由视类(或对话框)发送消息
2、在mainframe中实现对消息的响应
3、在mainframe中获得视类指针来调用其成员函数或者调用updateallviews函数使目标视类发生相应变化。怎么添加自定义消息响应就不用说了吧。