void CMyView::OnSize(UINT nType, int cx, int cy)
{
CScrollView::OnSize(nType, cx, cy); // TODO: 在此处添加消息处理程序代码

SCROLLINFO  si; si.cbSize  =  sizeof(si);
si.fMask   =  SIF_RANGE | SIF_PAGE;
si.nMin    =  0;
si.nMax    =  m_MaxNumLines - 1;
si.nPage   =  cy/m_cyChar; SetScrollInfo(SB_VERT, &si, TRUE);
/*
//set horizontal scroll bar range and page size
si.cbSize  = sizeof(si);
si.fMask   = SIF_RANGE | SIF_PAGE;
si.nMin    = 0;
si.nMax    = m_iMaxWidth;
si.nPage   = cx/m_cxChar;
SetScrollInfo(SB_HORZ, &si, TRUE);
*/
}//创建的代码
if(!pView->Create(NULL,NULL,AFX_WS_DEFAULT_VIEW|WS_VSCROLL|WS_HSCROLL,
RectTargetCtrl,this,TargetCtrlID))
{
...
}在OnSize函数里面如果把屏蔽的代码留下,就只显示水平滚动条?如果屏蔽就显示垂直滚动条?
我想两个都显示可怎么弄呀?

解决方案 »

  1.   


    SetScrollInfo(SB_VERT|SB_HORZ, &si, TRUE);
      

  2.   


    case WM_SIZE: 
     
            // Retrieve the dimensions of the client area. 
            yClient = HIWORD (lParam); 
            xClient = LOWORD (lParam); 
     
            // Set the vertical scrolling range and page size
            si.cbSize = sizeof(si); 
            si.fMask  = SIF_RANGE | SIF_PAGE; 
            si.nMin   = 0; 
            si.nMax   = LINES - 1; 
            si.nPage  = yClient / yChar; 
            SetScrollInfo(hwnd, SB_VERT, &si, TRUE); 
     
            // Set the horizontal scrolling range and page size. 
            si.cbSize = sizeof(si); 
            si.fMask  = SIF_RANGE | SIF_PAGE; 
            si.nMin   = 0; 
            si.nMax   = 2 + xClientMax / xChar; 
            si.nPage  = xClient / xChar; 
            SetScrollInfo(hwnd, SB_HORZ, &si, TRUE); 
      

  3.   

    也不知道是哪里的问题,就是只能显示一个滚动条?class CUIView : public CScrollView
      

  4.   

    从这个地方抄来的:
    http://blog.csdn.net/clever101/archive/2009/01/14/3779089.aspx