1.一个有关GetScrollInfo的问题
  用 GetScrollInfo( ,SB_VORT, );时返回水平滚动条的nMin,nMax。正常。
  用另一个参数,返回垂直滚动条的nMin,nMax。返回正常。nMax要小于实际的很 多。
  为什么?
2、在SDI单文档模式下。怎么在CMainFrame得到程序的视图对像(CVIEW)。用GetActionView不行。

解决方案 »

  1.   

    第二个用GetActiveView然后得到的指针强制转化成你的view的类型
      

  2.   

    CXXXView* pDoc = (CXXXView* )GetActiveDocument();
      

  3.   

    CXXXView* pView = (CXXXView* )GetActiveDocument();
      

  4.   

    CXXXView* pView = (CXXXView* )GetActiveView();
      

  5.   

    对了还有一点就是要在mainframe所在文件中
    #include "yourdoc.h"
    #include "yourview.h"
      

  6.   

    doublesword(双剑):
        关于第一个,为什么水平滚动条得到是正确的。难道同一个窗体中,水平与垂直滚动条会采用不同的单位长度? 关于第二个问题:
       用于CXXXView* pView = (CXXXView* )GetActiveView();返回的是NULL。look__look(看__看): 用dynamic_cast<> 是什么意思。能否详细一点。
      
     
      

  7.   

    第一个问题已经verybigbug() 回答
    第二个问题我运行了很好呀,怎么回事?
    CXXXView* pView = (CXXXView* )GetActiveView();
    难道是还没有ActiveView,是不是你调用这个函数很早,在Create以前就调用了!
      

  8.   

    (CXXXView* )GetActiveView();(CXXXView* )用来强制转换
      

  9.   

    doublesword(双剑):我是这样调用的,在另一个属于CMainFrame的类中,通过如下方式调用:
     CMainFrame * pMFrame= CXXX->GetPersent();//返回“父亲”,函数可能有点不对
     CXXXView* pView = (CXXXView* )(p-MFrame->GetActiveView());最后返回 NULL
      

  10.   

    doublesword(双剑):我是这样调用的,在另一个属于CMainFrame的类CXXX中,通过如下方式调用:
     CMainFrame * pMFrame= CXXX->GetPersent();//返回“父亲”,函数可能有点不对
     CXXXView* pView = (CXXXView* )(pMFrame->GetActiveView());最后返回 NULL