Page 1 of 1

Menus don't use the Aero theme

Posted: Fri Dec 11, 2009 8:52 pm
by lf0
Disclaimer: Based on this Wishlist thread I decided to open bugs for the separate issues at hand. I think it makes sense to bring them to bug forum (see my post in the linked thread for my reasoning) so individual bug numbers can be assigned. Thanks.

Problem:

Menus don't use the Aero theme using the non-skinned version of MediaMonkey 3.2

Current look:
Image
Correct look:
Image

The menu is based on TBXToolbar, which obviously lacks support for the Vista (and 7) Aero specific enhancements to the UxTheme API.
Thus, instead of drawing a plain area, something like

Code: Select all

DrawThemeBackground(MENU_THEME, DC, MENU_BARITEM, MBI_HOT, rect, 0);
and

Code: Select all

DrawThemeBackground(MENU_THEME, DC, MENU_POPUPITEM, MBI_HOT, rect, 0);
should be used on Vista/7 (with correct MBI_* branching of course).

See the Visual Styles Reference for details.

Taking a short look at the TBX source it should be fairly straight forward. Add the MENU_* and MBI_* definitions from the Vista/7 SDK, assign MENU_THEME via OpenThemeData, then do the appropriate rendering (DrawThemeBackground) in TTBXDefaultTheme.PaintMenuItemFrame and TTBXDefaultTheme.PaintButton and probably some more places.
This is untested as I don't have Delphi (haven't used it for like 10 years or so ...) but should work :lol:. Of course this should also only be done under Vista/7 as the specific UxTheme elements are new.

Re: Menus don't use the Aero theme

Posted: Sat Dec 12, 2009 7:43 am
by rovingcowboy
so the vista stuff is wanted in the monkey? just an question for you not to make you mad or angry, but why? what would the troubles be of installing vista code in to the monkey, how much errors will be caused in xp and some older os's. and what would be easier to do. adjust the code now or make new code for mediamonkey? if they adjust the code now. will it cause trouble when trying to make video work in monkey? if so then should they use a different code language to make the code for monkey and get all the vista stuff and video to work in all the os's that now support mm 3.x

okay so it was a couple of questions, you seen my posts i always do big ones or go over on some things. :) got to keep the line of thought working in you programmers so us users can get a good program that way. :D

Re: Menus don't use the Aero theme

Posted: Sat Dec 12, 2009 8:13 am
by lf0
rovingcowboy wrote:so the vista stuff is wanted in the monkey? just an question for you not to make you mad or angry, but why?
The WHY is excessively discussed in the wishlist thread. So please spare this here and keep such discussions there.
rovingcowboy wrote:What would the troubles be of installing vista code in to the monkey, how much errors will be caused in xp and some older os's. and what would be easier to do. adjust the code now or make new code for mediamonkey? if they adjust the code now. will it cause trouble when trying to make video work in monkey? if so then should they use a different code language to make the code for monkey and get all the vista stuff and video to work in all the os's that now support mm 3.x
The Vista (and 7) specific API calls must ONLY be called under systems that support them, so there should be no negative side effect on XP systems (when done right).
As I reasoned it shouldn't be hard to modify TBX to make use of the mentioned API calls so adjusting the code seems to me the straight forward solution. And I can't see what the changes in painting the menu would have to do with video support.

It gets really annoying that you persistently "fight" against these bugs without really knowing what you are talking about and I will not continue a discussion on whether it is useful or not with you. Especially not in this bug thread.

Re: Menus don't use the Aero theme

Posted: Sun Dec 13, 2009 6:17 am
by rovingcowboy
just one more post here.

i did not see it was in the bug report forum i clicked on new messages as they show up in the new message page.

and i was not arguing with you about it just trying to get a more direct line of can cause and can not cause going here.
the developers are all in different countrys and speak different native languages. they would benifit from a more directed line of thought on things when typed in english and they can translate it to their language. thats what i did the posts for as i said it was not to make you mad. :)