[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    RE: Fix toolbar get style
From:       Maxime =?ISO-8859-1?Q?Belleng=E9?= <maxime.bellenge () laposte ! net>
Date:       2004-04-30 13:01:44
Message-ID: 1083330104.1267.7.camel () typhoon
[Download RAW message or body]

On Fri, 2004-04-30 at 11:28, Ge van Geldorp wrote:
> > From: Maxime Bellengé
> > 
> > When a toolbar receives a TB_GETSTYLE message with wParam=0, 
> > the application expects to get the toolbar style and not the 
> > first button style. This patch fixes eMule 0.42e, now the 
> > toolbar is visible.
> > 
> > ChangeLog
> > * Fix TB_GETSTYLE to return the style of the toolbar when 
> > wParam is 0
> 
> It seems there is another problem with the toolbar styles. When you \
> CreateToolbarEx() with the WS_VISIBLE bit turned on, TOOLBAR_Create() will call \
> GetWindowLongW() to get the window style and store that as the dwStyle member of \
> TOOLBAR_INFO. Unfortunately, when the WM_CREATE message is sent the WS_VISIBLE bit \
> of the window style retrieved with GetWindowLongW() is always turned off. It is \
> turned on a little bit later, but no WS_STYLECHANGED is sent for this. So, the \
> dwStyle member of TOOLBAR_INFO doesn't always mimick the "true" window style, it is \
> possible that the WS_VISIBLE bit is off in TOOLBAR_INFO but on in the window style. \
> If your app does something like: 
> SendMessage(hwndTB, TB_SETSTYLE, 0,
> SendMessage(hwndTB, TB_GETSTYLE, 0, 0) | TBSTYLE_FLAT );
> 
> this will make your toolbar invisible.
> 
> Gé van Geldorp.
> 

The app is doing something similar but I don't think it is the same
problem.

SendMessage(hwndTB, TB_SETSTYLE, 0, SendMessage(hwndTB, TB_GETSTYLE, 0,
0) & ~ TBSTYLE_LIST);

But this is not done in the WM_CREATE message.

After investigation, the toolbar is not invisible, it has a size of
(0,26) which of course makes it invisible. The problem was that the
style return was the style of a separator button and so the style of the
toolbar was totally false. 

I will try to fix both problems.

Max

-- 
Maxime Bellengé <maxime.bellenge@laposte.net>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic