Scrollbars

Robert Shearman rob at codeweavers.com
Mon Nov 8 10:16:08 CST 2004


Nicolai Kuntze wrote:

> Hi,
>
> I have played with my continuing bug (#2302) but I have some problems 
> understanding the meaning of the output:
>
> fixme:win:GetWindowModuleFileNameA GetWindowModuleFileNameA(hwnd 
> 0x40032, lpszFileName 0x40670548, cchFileNameMax 80) stub!
> trace:scroll:SetScrollInfo hwnd=0x10074 nBar=1 info=0x406715d4, bRedraw=1
> trace:scroll:SCROLL_SetScrollInfo hwnd=0x10074 bar=1 mask=4 pos=1
> trace:scroll:SCROLL_SetScrollInfo curVal=0 nPos=1
> trace:scroll:SCROLL_SetScrollInfo new values: page=1 pos=0 min=0 max=0
> trace:scroll:SCROLL_SetScrollInfo hide or disable
> trace:scroll:SCROLL_ShowScrollBar hwnd=0x10074 bar=1 horz=0, vert=0
> trace:scroll:SetScrollInfo hwnd=0x10074 nBar=1 info=0x406715d4, bRedraw=1
> trace:scroll:SCROLL_SetScrollInfo hwnd=0x10074 bar=1 mask=4 pos=2
> trace:scroll:SCROLL_SetScrollInfo curVal=0 nPos=2
> trace:scroll:SCROLL_SetScrollInfo new values: page=1 pos=0 min=0 max=0
> trace:scroll:SCROLL_SetScrollInfo hide or disable
> trace:scroll:SCROLL_ShowScrollBar hwnd=0x10074 bar=1 horz=0, vert=0
> trace:scroll:SetScrollInfo hwnd=0x10074 nBar=1 info=0x406715d4, bRedraw=1
> trace:scroll:SCROLL_SetScrollInfo hwnd=0x10074 bar=1 mask=4 pos=3
> trace:scroll:SCROLL_SetScrollInfo curVal=0 nPos=3
> trace:scroll:SCROLL_SetScrollInfo new values: page=1 pos=0 min=0 max=0
> trace:scroll:SCROLL_SetScrollInfo hide or disable
> trace:scroll:SCROLL_ShowScrollBar hwnd=0x10074 bar=1 horz=0, vert=0
>
> If my blue bar in the list disappears pos Value counts how many lines 
> under the window I am. I have added a little debug to follow the 
> source ... From the developer I got the following snipplet:
>
> int SViewLow::ViewSetScrollY( int PPos, int PMax, int PPage)
> {
> SCROLLINFO Scroll;
> memset( &Scroll, 0, sizeof( Scroll));
> Scroll.cbSize= sizeof( SCROLLINFO);
> Scroll.fMask= 0;
> if (PPos!=-1)
> Scroll.fMask|= SIF_POS;
> if (PMax!=-1)
> Scroll.fMask|= SIF_RANGE;
> if (PPage!=-1)
> Scroll.fMask|= SIF_PAGE;
> Scroll.nPos= PPos;
> Scroll.nPage= PPage;
> Scroll.nMax= PMax-1;
> return SetScrollInfo( (HWND)ViewGetHWND(), SB_VERT, &Scroll, TRUE);
> }
>
> Does anyone has an idea what this could be?


You need to figure out why PMax is being passed in as 1, hence making 
the range 0->0. SetScrollInfo is then correctly hiding the scrollbars.

Rob



More information about the wine-devel mailing list