如是文档视图结构,在Doc内:
POSITION pos = GetFirstViewPosition();
CYourView* pView = (CYourView*)GetNextView( pos );如不在Doc内:
在CView类内加入成员函数
声明:
static CDNMonitorView * GetView();
定义:
CDNMonitorView * CDNMonitorView::GetView()
{
CMDIChildWnd * pChild =
((CMDIFrameWnd*)(AfxGetApp()->m_pMainWnd))->MDIGetActive(); if ( !pChild )
return NULL; CView * pView = pChild->GetActiveView(); if ( !pView )
return NULL; // Fail if view is of wrong kind
if ( ! pView->IsKindOf( RUNTIME_CLASS(CDNMonitorView) ) )
return NULL; return (CDNMonitorView *) pView;
}
在你调用CView指针的文件里#include CView.h
然后直接调用GetView()即可
POSITION pos = GetFirstViewPosition();
CYourView* pView = (CYourView*)GetNextView( pos );如不在Doc内:
在CView类内加入成员函数
声明:
static CDNMonitorView * GetView();
定义:
CDNMonitorView * CDNMonitorView::GetView()
{
CMDIChildWnd * pChild =
((CMDIFrameWnd*)(AfxGetApp()->m_pMainWnd))->MDIGetActive(); if ( !pChild )
return NULL; CView * pView = pChild->GetActiveView(); if ( !pView )
return NULL; // Fail if view is of wrong kind
if ( ! pView->IsKindOf( RUNTIME_CLASS(CDNMonitorView) ) )
return NULL; return (CDNMonitorView *) pView;
}
在你调用CView指针的文件里#include CView.h
然后直接调用GetView()即可
解决方案 »
- 有关透明画刷的问题
- MFC CSOCKET 发送文件时出现的错误如下
- 关于SDI中Serialize的使用问题
- 请问有没有主要开发界面或者作界面简单的软件
- 我想给按钮加一个TOOLTIP,用了CToolTipCtrl,没有成功,来看看
- 请教关于向量的一个问题
- return *this他返回是地址
- 如果我需要做一个繁体版的软件,我需要什么样的环境啊?
- 诚心请教:如何程序生成一个excel文件的copy到另一个目录下?
- 大家帮我压!对于Doc/View的系统,在标题栏的文档名后面总是跟了应用程序名,我怎才能改成自己指定的名称呀?
- 重新提问:请问如何在CEditView中显示我想显示的信息呢!?
- 如何得到本机器的计算机名和IP????
然后on_message(wm_xx,pView->oncommunication),对吗?
盼指教
如:PostMessage(pView->m_hWnd,WM_YourMessage,0,0);
如果线程之间通信的话,可考虑使用事件机制,具体可参照《Windows核心编程》
CMyView::GetView(): // View implementation file
CMyView * CMyView::GetView()
{
CFrameWnd * pFrame = (CFrameWnd *)(AfxGetApp()->m_pMainWnd); CView * pView = pFrame->GetActiveView(); if ( !pView )
return NULL; // Fail if view is of wrong kind
// (this could occur with splitter windows, or additional
// views on a single document
if ( ! pView->IsKindOf( RUNTIME_CLASS(CMyView) ) )
return NULL; return (CMyView *) pView;
}