'Insert this in your WndProc where you want to process the scroll 'this can be used where a form or groupbox is sub-classed. static int BCX_SmallChangeX; static int BCX_SmallChangeY; static int BCX_LargeChangeX; static int BCX_LargeChangeY; static int BCX_ScrollInit; if(!BCX_ScrollInit) Then BCX_siY.cbSize=sizeof(BCX_siY); BCX_siX.cbSize=sizeof(BCX_siX); BCX_siY.fMask=SIF_ALL; BCX_siX.fMask=SIF_ALL; BCX_siX.nMax=BCX_ScrollViewWidth; BCX_siY.nMax=BCX_ScrollViewHeight; BCX_SmallChangeX=1; BCX_LargeChangeX=20; BCX_SmallChangeY=1; BCX_LargeChangeY=20; BCX_siY.nPage=1; BCX_siX.nPage=1; SetScrollInfo(hWnd,SB_VERT,&BCX_siY,TRUE); SetScrollInfo(hWnd,SB_HORZ,&BCX_siX,TRUE); BCX_DynaScroll=TRUE; BCX_ScrollInit=TRUE; End If if(Msg=WM_HSCROLL BOR WM_VSCROLL BOR WM_SIZE) Then BCX_Scroll(hWnd,Msg,wParam,lParam,BCX_LargeChangeX, _ BCX_LargeChangeY,BCX_SmallChangeX,BCX_SmallChangeY, _ BCX_ScrollViewWidth,BCX_ScrollViewHeight,BCX_DynaScroll) EXIT FUNCTION End If