1.首先,不管属性页大小,只管在属性页上添加自己的控件
2.上步,做完后,打开工程中×××.rc 的文件,把各个属性页的大小改为合适的一样的大小!
3.在铬属性页对应的OnInitDialog() 中,写SetScrollRange(SB_VERT,0,100,TRUE); (添加垂直滚动条),
添加消息WM_SCROLL,写如下语句:
void CProp1::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
int nCurPos;
int nPrevPos;
CRect rect;
GetClientRect(&rect);
nPrevPos = GetScrollPos(SB_VERT);
nCurPos = nPrevPos;
switch(nSBCode)
{
case SB_TOP:
SetScrollPos(SB_VERT, 0);
ScrollWindow(0, 0);
break;
case SB_BOTTOM:
SetScrollPos(SB_VERT, 100);
ScrollWindow(0,-rect.Height());
break;
case SB_PAGEUP:
nCurPos = nPrevPos - 10;
if(nCurPos < 0)
nCurPos = 0;
SetScrollPos(SB_VERT, nCurPos);
break;
case SB_PAGEDOWN:
nCurPos = nPrevPos + 10;
if(nCurPos > 100)
nCurPos = 100;
SetScrollPos(SB_VERT, nCurPos);
break;
case SB_THUMBPOSITION:
SetScrollPos(SB_VERT, nPos);
break;
case SB_THUMBTRACK:
SetScrollPos(SB_VERT, nPos);
break;
case SB_LINEUP:
nCurPos = nPrevPos - 2;
if(nCurPos < 0)
nCurPos = 0;
SetScrollPos(SB_VERT, nCurPos);
break;
case SB_LINEDOWN:
nCurPos = nPrevPos + 2;
if(nCurPos > 100)
nCurPos = 100;
SetScrollPos(SB_VERT, nCurPos);
break;
case SB_ENDSCROLL:
break;
}
nCurPos = GetScrollPos(SB_VERT);
ScrollWindow(0, rect.Height() * (nPrevPos - nCurPos) / 100);
CPropertyPage::OnVScroll(nSBCode, nPos, pScrollBar);
}