sidhartha9191 / yet-another-music-application

Automatically exported from code.google.com/p/yet-another-music-application
0 stars 0 forks source link

Scrollbar and context menu styling broken when uxtheme.dll is patched #59

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Stoffi is the only application that breaks when uxtheme.dll is patched.
2. If Aero is chosen again, Stoffi looks like normal
3. If another style is chosen, the scrollbars etc. look like Windows Classic.

What is the expected output? What do you see instead?
The scrollbars should retain their styling, like all other applications on my 
system.

What version of the product are you using? On what operating system?
Latest Beta. Windows 7 32-bit Ultimate.

Please provide any additional information below.
See attached file.

Original issue reported on code.google.com by wic...@gmail.com on 27 Oct 2010 at 8:02

Attachments:

GoogleCodeExporter commented 8 years ago
Interesting. I have not heard of uxtheme.dll. I have logic inside Stoffi to 
check if the user has Classic or Aero. If it is Classic it changes background 
images, some colors, etc. Otherwise it looks like on the screenshot.

However, I do not style scrollbars, the small arrow/plus-sign in "Playlists" or 
the menus. I let .NET take care of drawing these for me.

You say that all your other applications keep the Aero-look while you have this 
dll patched? Do you have any .NET applications installed? Does the rest of 
Windows retain the Aero look on scrollbars, menus, etc, or do they have a 
special, themed, look?

Maybe it is like this: when you patch uxtheme.dll it changes the look on 
scrollbars and menus. This is later used by the old Win32 application and maybe 
also the .NET applications that uses WinForms. However, my WPF application 
cannot see these new, awesome scrollbars so it reverts back to default which is 
Classic.
However, Stoffi does not detect that you are using the Classic Windows 7 Theme 
so it does not change any background images or such.

If this is the case I don't think there's anything I can do about it. We could 
confirm this by finding another WPF application and see how it looks. Maybe you 
can check out this Twitter client which uses WPF for drawing: 
http://code.google.com/p/wittytwitter/

Original comment by ephracis on 27 Oct 2010 at 8:27

GoogleCodeExporter commented 8 years ago
I tried witty twitter, but that interface is mangled regardless of what I 
choose. 

I did manage to find an application called metatOGGer, that also used WPF. 
Unfortunately, it also suffers from the same problem as Stoffi. The styling of 
the scrollbars is broken if not using Aero.

Here is a site with custom visual styles:
http://browse.deviantart.com/customization/skins/windows7/?order=9

Here is the site where you can download the universal patcher that modifies 
uxtheme.dll:
http://deepxw.blogspot.com/2008/11/universal-theme-patcher.html

Original comment by wic...@gmail.com on 7 Nov 2010 at 2:15

GoogleCodeExporter commented 8 years ago
Unfortunately I think I am not able to fix this since the bug is probably in 
.NET or maybe even deeper into Windows itself. I think it will be pretty much 
impossible for me to support Stoffi with custom patches applied to Windows. It 
is possible that it could be done but it would require more time that I don't 
have.

I will keep this open but give it low priority. Maybe someday, someone can find 
a solution to this. :)

Original comment by ephracis on 27 Dec 2010 at 5:33

GoogleCodeExporter commented 8 years ago

Original comment by ephracis on 10 Jan 2011 at 12:48

GoogleCodeExporter commented 8 years ago

Original comment by ephracis on 31 Jan 2011 at 10:10

GoogleCodeExporter commented 8 years ago
I found out some news about this problem.

What happens is that if .NET is not able to recognise the name of the visual 
style that has been applied, it automatically defaults to the Windows Classic 
view.

So, what I suggest we do as a workaround, is, simply force Stoffi to use Aero, 
if it can't recognise the name of the visual style. At least Aero is closer to 
a custom style than Windows Classic is. It isn't ideal, but it is better than 
Windows Classic.

Original comment by wic...@gmail.com on 20 Jun 2011 at 6:44

GoogleCodeExporter commented 8 years ago
Unfortunately I am not in control of the style of the scrollbar and context 
menu. I only style the listview, the playback buttons, the treeview and the 
toolbar. I have left control of basic elements such as buttons, menus, scrolls, 
dropbox, text fields and so on to .NET. I don't know why it does what it does 
but I have nothing to do with it. :P

Original comment by ephracis on 23 Jun 2011 at 1:49

GoogleCodeExporter commented 8 years ago

Original comment by christof...@stoffiplayer.com on 24 Apr 2012 at 4:50