我正在尝试从我的大型机访问拆分器中的视图。目前我有这个:
CWnd * pView = m_wndSplitter.GetPane(0,0);
然而,这会给我一个指向CWnd而不是CMyViewClass对象的指针。
任何人都可以向我解释为了访问视图对象本身需要做什么,以便我可以以pView-> ViewFunction(...);
的形式访问成员函数答案 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
...但我建议你不这样做 - 如果你改变你的布局,就不会有任何问题。