1.我用VC6.0 MFC 建立了个单文档,然后视图我把它分割了2部分。从中间分隔开的。
一个是从CListView 继承出来的。用于数据显示,就一条一条的数据集。
另一个就是直接用的XXview。
CRect rect;
GetClientRect(&rect);
m_wndSplitter.CreateStatic(this,2,1);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CShowListView),CSize(rect.Width(),rect.Height()- rect.Height()/5),pContext);
m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(CDataListenView),CSize(rect.Width(),rect.Height()/5),pContext);
现在问题出来了。
1.我在LISTVIEW中得到点击的一条记录,然后发送给CDataListenView。想在他的范围内通过textout 输出.
结果发现, CShowListView *pSView= (CShowListView*)pFram->GetActiveView();///得到编辑区域指针
CDataListenView *pDView= (CDataListenView *)pFram->GetActiveView();///得到编辑区域指针
pSView 跟pDView 得到的指针是一样的。
结果 CRect rect;
pDView->GetClientRect(&rect);
int iTop = rect.top;
int iLeft= rect.left;
int ibottom=rect.bottom;
int iRight= rect.right;
CDC *pDC =pDView->GetDC();
pDC->TextOut(iLeft+10,ibottom-50,"xxxxxxxxxxxxxxxxxxxxxxxxx");
显示的结果是在CShowListView 的范围内的如何才能textout在CDataListenView 呢????
着急啊···
一个是从CListView 继承出来的。用于数据显示,就一条一条的数据集。
另一个就是直接用的XXview。
CRect rect;
GetClientRect(&rect);
m_wndSplitter.CreateStatic(this,2,1);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CShowListView),CSize(rect.Width(),rect.Height()- rect.Height()/5),pContext);
m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(CDataListenView),CSize(rect.Width(),rect.Height()/5),pContext);
现在问题出来了。
1.我在LISTVIEW中得到点击的一条记录,然后发送给CDataListenView。想在他的范围内通过textout 输出.
结果发现, CShowListView *pSView= (CShowListView*)pFram->GetActiveView();///得到编辑区域指针
CDataListenView *pDView= (CDataListenView *)pFram->GetActiveView();///得到编辑区域指针
pSView 跟pDView 得到的指针是一样的。
结果 CRect rect;
pDView->GetClientRect(&rect);
int iTop = rect.top;
int iLeft= rect.left;
int ibottom=rect.bottom;
int iRight= rect.right;
CDC *pDC =pDView->GetDC();
pDC->TextOut(iLeft+10,ibottom-50,"xxxxxxxxxxxxxxxxxxxxxxxxx");
显示的结果是在CShowListView 的范围内的如何才能textout在CDataListenView 呢????
着急啊···
CDataListenView *pDView= (CDataListenView *)pFram->GetActiveView();///得到编辑区域指针显然是一样的啊!你只是强制转换成不同的指针。
你应该用CSplitterWnd::GetPane来取得两个view