Comctl32 Status Bar Test

Lei Zhang thestig at google.com
Tue Feb 20 01:47:05 CST 2007


On 2/10/07, Felix Nawothnig <flexo at holycrap.org> wrote:
> Alex Arazi wrote:
> > -    ok(rc.top == 2, "Expected 2, got %d\n", rc.top);
> > -    ok(rc.bottom == 21, "Expected 21, got %d\n", rc.bottom);
> > -    ok(rc.left == 0, "Expected 0, got %d\n", rc.left);
> > -    ok(rc.right == 50, "Expected 50, got %d\n", rc.right);
>
> I didn't really look at your new tests but the second of those tests you
> removed failed ("got 1" IIRC) on Windows (XP) because we don't create a
> parent window (and because the 21 is wrong. Should be 22 IIRC) - native
> comctl32 sometimes does some strange stuff when a control doesn't have
> one - so the test should create it.
>
> Felix
>

Hi Felix,

Alex removed the incorrect test, it should have been 22. To make
native comctl32 behave correctly, Alex tried to create a parent window
but that didn't help. What actually needs to happen is to set the
WS_VISIBLE style for the status bar. (Dan and I discovered this a few
weeks back but it slipped our minds.)

Alex and I did some more testing and we noticed the value for
rc.bottom isn't consistent on Windows either. On Windows XP, depending
on the window style and font size, the size can vary between 22, 23,
and 26.

So WS_VISIBLE needs to be set, #include <stdio.h> is unneeded and
should be removed, and (at least for me) a couple tests failed and
should be wrapped in todo_wine{ }.

- Lei



More information about the wine-devel mailing list