TC 8 X64 bit menu bar is not skinned

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: Hacker, petermad, Stefan2, white

Post Reply
jeff1881
Junior Member
Junior Member
Posts: 2
Joined: 2012-04-20, 23:53 UTC

TC 8 X64 bit menu bar is not skinned

Post by *jeff1881 »

Hi,

I started to use TC 8 64 bit, but I noticed that its menu bar and menus are not skinned by windowsblind 7.4. The rest of UI and TC 8 32 bit are working fine.

It would be great to see this issue get fix, please.

OS: win 7 home - 64 bit


Cheers, Jeff
Sob
Power Member
Power Member
Posts: 945
Joined: 2005-01-19, 17:33 UTC

Post by *Sob »

I can confirm it (tried with trial WindowBlinds version in VM). But unfortunately for you, I think the chance to get this fixed is very low.

To understand the problem:

TC32 is written in Delphi and unless menu contains images, Delphi lets the system draw the menu. So when WindowBlinds hooks into system, the menu is changed properly. Even with dropdown menu in main TC window, which is owner-drawn (i.e. application draws it) because of images (only one with them in TC), it works suprisingly well. It seem that author keeps most of the defaults set by system and does only minimal changes for drawing.

TC64 on the other hand is written in FreePascal/Lazarus. And Lazarus, unlike Delphi, always uses owner-drawn menus and it seems that it redraws them completely. It does not happen only with TC, but also with other Lazarus applications.

To solve it, author would have to throw out menu components provided by Lazarus and create own wrapper for system menus. And I don't think he's too eager to do that. Although if he did that right at the beginning, then with all those menu-drawing-related problems so far, the effort would probably paid for itself by now. ;)
jeff1881
Junior Member
Junior Member
Posts: 2
Joined: 2012-04-20, 23:53 UTC

Post by *jeff1881 »

Thanks Sob, for explaining, but I thought it might be better to stick to default draw of the system might be wiser especially if windows came with different skinning mechanism there won't be a major issue then. I am sticking to 32bit for the time being ,,

Cheers, Jeff.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50532
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Lazarus also uses the Windows Theme functions - it must be a WindowBlinds bug. I haven't tried WindowBlinds myself, but I have tried several third party themes (after patching UXTheme.dll), and they seem to work just fine...
Author of Total Commander
https://www.ghisler.com
Sob
Power Member
Power Member
Posts: 945
Joined: 2005-01-19, 17:33 UTC

Post by *Sob »

I'm not sure how exactly WindowBlinds does the drawing, but AFAIK it's different from standard themes, so Lazarus supporting themes does not help much.

I found this thread: http://forums.wincustomize.com/422802

I guess JeffxBreeze there is jeff1881 here, right?

But I don't get the first reply from guy who says it was fixed. His attached screenshot clearly shows main menu not skinned properly...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50532
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Dropdown menus in TC use the right colors, but aren't always skinned. For example, the main menu in TC isn't fully skinned so it can show the icons in a custom way. The Lister menu should be fully skinned.
Author of Total Commander
https://www.ghisler.com
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Sob wrote:I'm not sure how exactly WindowBlinds does the drawing, but AFAIK it's different from standard themes, so Lazarus supporting themes does not help much.
I think it intercepts the OnPaint event and does the drawing instead of Windows.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Post Reply