scroll bars are not shown

Nicolai Kuntze g-8 at gmx.net
Sun Sep 5 09:25:58 CDT 2004


I am trying to find the bug and it seems that the size of the given 
bitmap has no effect at the funktion/visibility of the scrollbars. Can 
someone give me a hint where the visibilty of the scrollbars is 
computed?


Am 02.09.2004 um 11:59 schrieb Nicolai Kuntze:

> Can you have a look at the bug #2302. This is not regession but my 
> problem sounds very similar. In the program no scrollbars are shown. I 
> have tried the native comctrl as well. The picture shows how the 
> dialog should look like.
>
> Yours,
>
> Nicolai
>
> Am 01.09.2004 um 18:52 schrieb Alexandre Julliard:
>
> ---- Diese Nachricht wurde auf Viren und andere gefaehrliche Inhalte 
> sowie Spam untersucht.
>
>
> <Screenshot.JPG>
>> Rein Klazes <rklazes at xs4all.nl> writes:
>>
>>> I was too early, another problem popped up caused by this patch.
>>> Un-maximized MDI child windows don't paint their non client area 
>>> anymore
>>> (I tried two MDI applications, both had it).
>>
>> How about this one?
>>
>> Index: dlls/x11drv/winpos.c
>> ===================================================================
>> RCS file: /opt/cvs-commit/wine/dlls/x11drv/winpos.c,v
>> retrieving revision 1.98
>> diff -u -p -r1.98 winpos.c
>> --- dlls/x11drv/winpos.c	24 Aug 2004 18:49:34 -0000	1.98
>> +++ dlls/x11drv/winpos.c	1 Sep 2004 16:49:03 -0000
>> @@ -416,21 +416,36 @@ BOOL X11DRV_GetDC( HWND hwnd, HDC hdc, H
>>
>>      if (top != hwnd)
>>      {
>> -        escape.drawable_org.x = escape.drawable_org.y = 0;
>> -        if (flags & (DCX_WINDOW|DCX_PARENTCLIP))
>> +        /* find the top most parent that doesn't clip siblings */
>> +        HWND clipping_parent = 0;
>> +        HWND *list = WIN_ListParents( hwnd );
>> +        if (list)
>>          {
>> -            escape.org.x = win->rectWindow.left - 
>> win->rectClient.left;
>> -            escape.org.y = win->rectWindow.top - win->rectClient.top;
>> -            MapWindowPoints( hwnd, top, &escape.org, 1 );
>> -            MapWindowPoints( top, 0, &escape.drawable_org, 1 );
>> -            escape.drawable = X11DRV_get_client_window( top );
>> +            int i;
>> +            for (i = 0; list[i] != top; i++)
>> +            {
>> +                LONG style = GetWindowLongW( list[i], GWL_STYLE );
>> +                if (!(style & WS_CLIPSIBLINGS)) clipping_parent = 
>> list[i];
>> +            }
>> +            HeapFree( GetProcessHeap(), 0, list );
>>          }
>> +        if (clipping_parent)
>> +            clipping_parent = GetAncestor( clipping_parent, 
>> GA_PARENT );
>> +        else if (!(flags & DCX_CLIPSIBLINGS) || (flags & DCX_WINDOW))
>> +            clipping_parent = GetAncestor( hwnd, GA_PARENT );
>>          else
>> +            clipping_parent = hwnd;
>> +
>> +        escape.org.x = escape.org.y = 0;
>> +        escape.drawable_org.x = escape.drawable_org.y = 0;
>> +        if (flags & DCX_WINDOW)
>>          {
>> -            escape.org.x = escape.org.y = 0;
>> -            MapWindowPoints( hwnd, 0, &escape.drawable_org, 1 );
>> -            escape.drawable = X11DRV_get_client_window( hwnd );
>> +            escape.org.x = win->rectWindow.left - 
>> win->rectClient.left;
>> +            escape.org.y = win->rectWindow.top - win->rectClient.top;
>>          }
>> +        MapWindowPoints( hwnd, clipping_parent, &escape.org, 1 );
>> +        MapWindowPoints( clipping_parent, 0, &escape.drawable_org, 1 
>> );
>> +        escape.drawable = X11DRV_get_client_window( clipping_parent 
>> );
>>      }
>>      else
>>      {
>>
>> -- 
>> Alexandre Julliard
>> julliard at winehq.org
>>


---- 
Diese Nachricht wurde auf Viren und andere gefaehrliche Inhalte sowie Spam untersucht.





More information about the wine-devel mailing list