代码:
void CMainFrame::OnTest() 
{
CTestWnd* pTest = new CTestWnd;
pTest->Create(NULL,NULL);
pTest->ShowWindow(SW_SHOWNORMAL);
}.....class CTestView:CScrollView;
...
CTestView m_TestView;
...int CTestWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;

if (!m_TestView.Create(NULL,NULL, AFX_WS_DEFAULT_VIEW,
CRect(0, 0, 1, 1), this, AFX_IDW_PANE_FIRST, NULL))
return -1;
return 0;
}......void CTestView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
SetScrollSizes(MM_TEXT, CSize(2000,2000));
}可是好像没什么用,滚动条还是出不来。为何???

解决方案 »

  1.   

    m_TestView.Create( NULL,NULL, AFX_WS_DEFAULT_VIEW | WS_HSCROLL | WS_VSCROLL,
    CRect(0, 0, 1, 1), this, AFX_IDW_PANE_FIRST, NULL))
    return -1;你的窗口没有设置Scroll属性,自然没有滚动条!
      

  2.   

    SetScrollSize的sizeTotal, sizePage, sizeLine都要设置吧?
    默认的const AFX_DATADEF SIZE CScrollView::sizeDefault = {0,0};
      

  3.   

    在void CTestView::OnInitialUpdate()加一句试试:
    ModifyStyle(0, WS_VSCROLL);
      

  4.   

    可是我搞不懂就是如果是在MainFrame下的ChildView改成是CScrollView,就是可以的。
      

  5.   

    SetScrollSizes设下一点看一看。
      

  6.   

    smile_everyday():
    设下一点?什么意思啊?