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函数里面如果把屏蔽的代码留下,就只显示水平滚动条?如果屏蔽就显示垂直滚动条?
我想两个都显示可怎么弄呀?
SetScrollInfo(SB_VERT|SB_HORZ, &si, TRUE);
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);
http://blog.csdn.net/clever101/archive/2009/01/14/3779089.aspx