如图所示。http://att.newsmth.net/att.php?p.187.252896.1124.JPG
源代码地址:http://www.newsmth.net/bbscon.php?bid=187&id=252897
我建立了一个SDI的文档视图工程。基本视图继承于CFormView,用来显示图形。
左边视图CLeftView继承于CTreeView用来显示树结构。右下视图是个框架类,其中包含三个视图CMyView1,CMyView2,CMyView3分别继承于CListView,CView,VListView。
我现在想实现的是,选择左视图中的选项,如何使得右下视图中View1跟着变化。
也就是要实现左视图和右下视图中的View1视图的通信。
在左视图中,下面这个函数怎样添加代码才能使其于右下视图中的View1通信?
void CLeftView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
CTreeCtrl& CtlTree=(CTreeCtrl&)GetTreeCtrl ();
HTREEITEM select_item=CtlTree.GetSelectedItem ();
CString str=CtlTree.GetItemText (select_item);
/*
添加的代码
*/
*pResult = 0;
}
我想让其建立 通信后,执行CMyView1::OnInit1(CString strInfo)这个函数。
谢谢大家了
源代码地址:http://www.newsmth.net/bbscon.php?bid=187&id=252897
我建立了一个SDI的文档视图工程。基本视图继承于CFormView,用来显示图形。
左边视图CLeftView继承于CTreeView用来显示树结构。右下视图是个框架类,其中包含三个视图CMyView1,CMyView2,CMyView3分别继承于CListView,CView,VListView。
我现在想实现的是,选择左视图中的选项,如何使得右下视图中View1跟着变化。
也就是要实现左视图和右下视图中的View1视图的通信。
在左视图中,下面这个函数怎样添加代码才能使其于右下视图中的View1通信?
void CLeftView::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
CTreeCtrl& CtlTree=(CTreeCtrl&)GetTreeCtrl ();
HTREEITEM select_item=CtlTree.GetSelectedItem ();
CString str=CtlTree.GetItemText (select_item);
/*
添加的代码
*/
*pResult = 0;
}
我想让其建立 通信后,执行CMyView1::OnInit1(CString strInfo)这个函数。
谢谢大家了
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
CTreeCtrl& CtlTree=(CTreeCtrl&)GetTreeCtrl ();
HTREEITEM select_item=CtlTree.GetSelectedItem ();
CString str=CtlTree.GetItemText (select_item); //获取MainFrame指针
CMainFrame *pMainFrm = (CMainFrame*)AfxGetMainWnd();
//假设你是静态切分的 定义的CSplitterWnd m_wndSplit;
//获取VIEW1的指针
CMyView1 *pView1 = (CMyView1*)pMainFrame->m_wndSplit.getpane(1,0);
//然后你写一个能在VIEW1上绘制的函数在VIEW1中 假设是Draw
pView->Draw(); /*
添加的代码
*/
*pResult = 0;
}
大概就这样,具体的你就自己琢磨下!