我在CMainFrame里面用以下代码就可以取到,
CMainFrame *pMain =(CMainFrame *)AfxGetMainWnd();
CSmsTestView *pView=(CSmsTestView *)pMain->GetActiveView();
CListCtrl& ListCtrl = pView->GetListCtrl();
但在一个no base class 里用同样的代码就取不到.
有没有告诉我怎么回事????????????????

解决方案 »

  1.   

    加一个member variable好了。
      

  2.   

    不可能,你说的再详细一些,AfxGetMainWnd是全局函数,任何地方都可以访问的
      

  3.   

    CMainFrame *pMain =(CMainFrame *)AfxGetMainWnd();
    CSmsTestView *pView=(CSmsTestView *)pMain->GetActiveView();
    CListCtrl& ListCtrl = pView->GetListCtrl();
    但在一个no base class 里用同样的代码就取不到.
    pView 为空值!
      

  4.   

    用这种方法应该能取到的!!是不是你取值的时机不对?
    比如是在构造函数里取值,这时候view还没有创建。等等
      

  5.   

    给你的类加一个CListView*类型的成员变量,此变量就是一个指向该视图的指针。