Contribution to the Toolbar common control

Alan Feldman alanfeld at gmail.com
Wed Dec 31 03:49:46 CST 2008


Hello Wine developers,

I am writing to this forum because I wanted to contribute some useful
development information to your community while at the same time not
have to get too involved as I currently have no plans to stay involved
going forward.

I wanted to say that I am *really* impressed with the codebase that
you guys have developed! I stumbled across the Winehq site as I was
looking for more information on Microsoft's Toolbar common control.
The source code you guys have has made understanding the internals of
the Toolbar control really easy and I really appreciate the work you
guys have done. (I even took a peek at Microsoft's comctl32.dll
disassembly to confirm a couple of the things you guys wrote and it
checked out) ;-)

So, anyway, in gratitude for what you guys have provided me I wanted
to "give something back". I noticed that there are several Toolbar
window messages which are listed as "unknown" which at the time of the
writing of this e-mail are now definitely "known" and I would like to
provide that information to someone to check in to your source code
base.

Here is my contribution:

http://source.winehq.org/source/dlls/comctl32/toolbar.c

Function: ToolbarWindowProc()

TB_UNKWN45E is really TB_SETHOTITEM2 (WM_USER + 94)
TB_UNKWN460 is really TB_SETLISTGAP  (WM_USER + 96)
TB_UNKWN462 is really TB_GETIMAGELISTCOUNT (WM_USER + 98)
TB_UNKWN463 is really TB_GETIDEALSIZE (WM_USER + 99)
TB_UNKWN467 (which is not in the Wine source yet) is really
TB_GETITEMDROPDOWNRECT (WM_USER + 103)

Those Toolbar window messages are currently not in the public Windows
headers at this time but they have been *documented* on the MSDN
Library web site now.

Here are links to the MSDN Library help topics giving evidence to what
I wrote up above:
http://msdn.microsoft.com/en-us/library/cc835036(VS.85).aspx
http://msdn.microsoft.com/en-us/library/bb787441(VS.85).aspx
http://msdn.microsoft.com/en-us/library/cc835034(VS.85).aspx
http://msdn.microsoft.com/en-us/library/cc835033(VS.85).aspx
http://msdn.microsoft.com/en-us/library/cc835035(VS.85).aspx

Also, in this source file:
http://source.winehq.org/source/include/commctrl.h

Someone took a REALLY good guess at the name of a Toolbar
notification! TBN_WRAPHOTITEM is definitely the name of notification
TBN_FIRST- 24. Good guess! I would say that the comment about this
message being undocumented and just a "guess" can now be removed. Even
though this message is also not in any public header file, this
message is now *documented* and the documentation can be found here:

http://msdn.microsoft.com/en-us/library/cc835032(VS.85).aspx

Cheers! :-)

  Alan Feldman



More information about the wine-devel mailing list