MFC:从大型机访问视图

时间:2008-11-06 17:55:54

标签: c++ mfc docview

我正在尝试从我的大型机访问拆分器中的视图。目前我有这个:

CWnd * pView = m_wndSplitter.GetPane(0,0);

然而,这会给我一个指向CWnd而不是CMyViewClass对象的指针。

任何人都可以向我解释为了访问视图对象本身需要做什么,以便我可以以pView-> ViewFunction(...);

的形式访问成员函数

1 个答案:

答案 0 :(得分:3)

投下它:

// using MFC's dynamic cast macro
CMyViewClass* pMyView = 
   DYNAMIC_DOWNCAST(CMyViewClass, m_wndSplitter.GetPane(0,0));
if ( NULL != pMyView )
   // whatever you want to do with it...

或:

// standard C++ 
CMyViewClass* pMyView = 
   dynamic_cast<CMyViewClass*>(m_wndSplitter.GetPane(0,0));
if ( NULL != pMyView )
   // whatever you want to do with it...

如果您知道0,0窗格中的视图将始终为CMyViewClass类型,那么您可以使用static_cast ...但我建议你不这样做 - 如果你改变你的布局,就不会有任何问题。